org.alfresco.filesys.alfresco
Class AlfrescoTxDiskDriver

java.lang.Object
  extended by org.alfresco.filesys.alfresco.AlfrescoDiskDriver
      extended by org.alfresco.filesys.alfresco.AlfrescoTxDiskDriver
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 AlfrescoTxDiskDriver
extends AlfrescoDiskDriver
implements org.alfresco.jlan.server.filesys.TransactionalFilesystemInterface

Alfresco Tx Disk Driver Base Class

Provides common code to the Alfresco filesystem implementations.


Nested Class Summary
static interface AlfrescoTxDiskDriver.CallableIO
          An extended Callable that throws IOExceptions.
protected static class AlfrescoTxDiskDriver.PropagatingException
          A wrapper for checked exceptions to be passed through the retrying transaction handler.
 
Field Summary
 
Fields inherited from class org.alfresco.filesys.alfresco.AlfrescoDiskDriver
ioControlHandler, m_transactionService
 
Constructor Summary
AlfrescoTxDiskDriver()
           
 
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, AlfrescoTxDiskDriver.CallableIO 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
 
Methods inherited from class org.alfresco.filesys.alfresco.AlfrescoDiskDriver
getIoControlHandler, getServiceRegistry, getTransactionService, processIOControl, registerContext, setIoControlHandler, setServiceRegistry, setTransactionService
 
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

AlfrescoTxDiskDriver

public AlfrescoTxDiskDriver()
Method Detail

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,
                                             AlfrescoTxDiskDriver.CallableIO callback)
                                      throws java.io.IOException
Perform a retryable operation in a write transaction

WARNING : side effect - that the current transaction, if any, is ended.

Parameters:
sess - the server session
callback - callback for the retryable operation
Returns:
the result of the operation
Throws:
java.lang.Exception
java.io.IOException

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


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