org.alfresco.filesys.alfresco
Class AlfrescoDiskDriver

java.lang.Object
  extended by org.alfresco.filesys.alfresco.AlfrescoDiskDriver
All Implemented Interfaces:
ExtendedDiskInterface, org.alfresco.jlan.server.core.DeviceInterface, org.alfresco.jlan.server.filesys.DiskInterface, org.alfresco.jlan.server.filesys.IOCtlInterface, org.alfresco.jlan.server.filesys.TransactionalFilesystemInterface
Direct Known Subclasses:
AVMDiskDriver, ContentDiskDriver

public abstract class AlfrescoDiskDriver
extends java.lang.Object
implements org.alfresco.jlan.server.filesys.IOCtlInterface, org.alfresco.jlan.server.filesys.TransactionalFilesystemInterface, ExtendedDiskInterface

Alfresco Disk Driver Base Class

Provides common code to the Alfresco filesystem implementations.


Constructor Summary
AlfrescoDiskDriver()
           
 
Method Summary
 void beginReadTransaction(org.alfresco.jlan.server.SrvSession sess)
          Begin a read-only transaction
 void beginWriteTransaction(org.alfresco.jlan.server.SrvSession sess)
          Begin a writeable transaction
 java.lang.Object doInWriteTransaction(org.alfresco.jlan.server.SrvSession sess, java.util.concurrent.Callable callback)
          Perform a retryable operation in a write transaction
 void endTransaction(org.alfresco.jlan.server.SrvSession sess, java.lang.Object tx)
          End an active transaction
 ServiceRegistry getServiceRegistry()
          Return the service registry
 TransactionService getTransactionService()
          Return the transaction service
 org.alfresco.jlan.util.DataBuffer processIOControl(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, int ctrlCode, int fid, org.alfresco.jlan.util.DataBuffer dataBuf, boolean isFSCtrl, int filter)
          Process a filesystem I/O control request
 void registerContext(org.alfresco.jlan.server.core.DeviceContext ctx)
          Registers a device context object for this instance of the shared device.
 void setServiceRegistry(ServiceRegistry serviceRegistry)
          Set the service registry
 void setTransactionService(TransactionService transactionService)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.alfresco.jlan.server.filesys.DiskInterface
closeFile, createDirectory, createFile, deleteDirectory, deleteFile, fileExists, flushFile, getFileInformation, isReadOnly, openFile, readFile, renameFile, seekFile, setFileInformation, startSearch, truncateFile, writeFile
 
Methods inherited from interface org.alfresco.jlan.server.core.DeviceInterface
createContext, treeClosed, treeOpened
 

Constructor Detail

AlfrescoDiskDriver

public AlfrescoDiskDriver()
Method Detail

getServiceRegistry

public final ServiceRegistry getServiceRegistry()
Return the service registry

Returns:
ServiceRegistry

getTransactionService

public final TransactionService getTransactionService()
Return the transaction service

Returns:
TransactionService

setServiceRegistry

public void setServiceRegistry(ServiceRegistry serviceRegistry)
Set the service registry

Parameters:
serviceRegistry -

setTransactionService

public void setTransactionService(TransactionService transactionService)
Parameters:
transactionService - the transaction service

processIOControl

public org.alfresco.jlan.util.DataBuffer processIOControl(org.alfresco.jlan.server.SrvSession sess,
                                                          org.alfresco.jlan.server.filesys.TreeConnection tree,
                                                          int ctrlCode,
                                                          int fid,
                                                          org.alfresco.jlan.util.DataBuffer dataBuf,
                                                          boolean isFSCtrl,
                                                          int filter)
                                                   throws org.alfresco.jlan.server.filesys.IOControlNotImplementedException,
                                                          org.alfresco.jlan.smb.SMBException
Process a filesystem I/O control request

Specified by:
processIOControl in interface org.alfresco.jlan.server.filesys.IOCtlInterface
Parameters:
sess - Server session
tree - Tree connection.
ctrlCode - I/O control code
fid - File id
dataBuf - I/O control specific input data
isFSCtrl - true if this is a filesystem control, or false for a device control
filter - if bit0 is set indicates that the control applies to the share root handle
Returns:
DataBuffer
Throws:
org.alfresco.jlan.server.filesys.IOControlNotImplementedException
org.alfresco.jlan.smb.SMBException

beginReadTransaction

public void beginReadTransaction(org.alfresco.jlan.server.SrvSession sess)
Begin a read-only transaction

Specified by:
beginReadTransaction in interface org.alfresco.jlan.server.filesys.TransactionalFilesystemInterface
Parameters:
sess - SrvSession

beginWriteTransaction

public void beginWriteTransaction(org.alfresco.jlan.server.SrvSession sess)
Begin a writeable transaction

Specified by:
beginWriteTransaction in interface org.alfresco.jlan.server.filesys.TransactionalFilesystemInterface
Parameters:
sess - SrvSession

doInWriteTransaction

public java.lang.Object doInWriteTransaction(org.alfresco.jlan.server.SrvSession sess,
                                             java.util.concurrent.Callable callback)
Perform a retryable operation in a write transaction

Parameters:
sess - the server session
callback - callback for the retryable operation
Returns:
the result of the operation

endTransaction

public void endTransaction(org.alfresco.jlan.server.SrvSession sess,
                           java.lang.Object tx)
End an active transaction

Specified by:
endTransaction in interface org.alfresco.jlan.server.filesys.TransactionalFilesystemInterface
Parameters:
sess - SrvSession
tx - Object

registerContext

public void registerContext(org.alfresco.jlan.server.core.DeviceContext ctx)
                     throws org.alfresco.jlan.server.core.DeviceContextException
Registers a device context object for this instance of the shared device. The same DeviceInterface implementation may be used for multiple shares. In this base class, we initialize all desktop actions.

Specified by:
registerContext in interface ExtendedDiskInterface
Parameters:
ctx - the context
Throws:
org.alfresco.jlan.server.core.DeviceContextException


Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.