|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.akubraproject.impl.AbstractBlobStoreConnection
org.akubraproject.txn.AbstractTransactionalConnection
org.akubraproject.txn.SQLTransactionalConnection
org.akubraproject.txn.derby.TransactionalConnection
public class TransactionalConnection
A connection for the transactional store.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class org.akubraproject.txn.SQLTransactionalConnection |
---|
SQLTransactionalConnection.RSBlobIdIterator |
Nested classes/interfaces inherited from class org.akubraproject.txn.AbstractTransactionalConnection |
---|
AbstractTransactionalConnection.TxnBlob |
Field Summary |
---|
Fields inherited from class org.akubraproject.txn.SQLTransactionalConnection |
---|
con, xaCon |
Fields inherited from class org.akubraproject.txn.AbstractTransactionalConnection |
---|
blobCache, bStoreCon, delBlobs, isCompleted, newBlobs, tx |
Fields inherited from class org.akubraproject.impl.AbstractBlobStoreConnection |
---|
closed, owner, streamManager |
Method Summary | |
---|---|
protected void |
addNameEntry(URI ourId,
URI storeId)
Add an id mapping. |
void |
afterCompletion(int status)
Invoked after the transaction has completed, i.e. |
void |
beforeCompletion()
Invoked before the transaction is completed, i.e. |
protected URI |
getRealId(URI blobId)
Look up the underlying store's blob-id for the given upper-level blob-id. |
Iterator<URI> |
listBlobIds(String filterPrefix)
|
protected void |
remBlob(URI ourId,
URI storeId)
Remove a blob from the underlying store. |
protected void |
remNameEntry(URI ourId,
URI storeId)
Remove an id mapping. |
protected void |
validateId(URI blobId)
Check whether we can store this id. |
Methods inherited from class org.akubraproject.txn.AbstractTransactionalConnection |
---|
addBlob, getBlob, sync |
Methods inherited from class org.akubraproject.impl.AbstractBlobStoreConnection |
---|
close, ensureOpen, getBlob, getBlobStore, isClosed |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
public Iterator<URI> listBlobIds(String filterPrefix) throws IOException
IOException
protected void validateId(URI blobId) throws org.akubraproject.UnsupportedIdException
AbstractTransactionalConnection
validateId
in class AbstractTransactionalConnection
blobId
- the upper level blob-id
org.akubraproject.UnsupportedIdException
- if the id cannot be storedprotected URI getRealId(URI blobId) throws IOException
AbstractTransactionalConnection
getRealId
in class AbstractTransactionalConnection
blobId
- the upper level blob-id
IOException
- if an error occurred looking up the idprotected void remNameEntry(URI ourId, URI storeId) throws IOException
AbstractTransactionalConnection
remNameEntry
in class AbstractTransactionalConnection
ourId
- the upper-level blob-idstoreId
- the underlying store's blob-id
IOException
- if an error occurred removing the mapping or the mapping does not existprotected void addNameEntry(URI ourId, URI storeId) throws IOException
AbstractTransactionalConnection
addNameEntry
in class AbstractTransactionalConnection
ourId
- the upper-level blob-id to mapstoreId
- the underlying store's blob-id to map ourId to
IOException
- if an error occurred adding the mapping or the mapping already existsprotected void remBlob(URI ourId, URI storeId) throws IOException
AbstractTransactionalConnection
AbstractTransactionalConnection.newBlobs
and AbstractTransactionalConnection.delBlobs
lists; actual blob deletion is deferred till commit.
remBlob
in class AbstractTransactionalConnection
ourId
- the upper-level blob-idstoreId
- the underlying store's blob-id
IOException
- if an error occurred removing the blob or the blob does not existpublic void beforeCompletion()
AbstractTransactionalConnection
beforeCompletion
in interface Synchronization
beforeCompletion
in class AbstractTransactionalConnection
Synchronization.beforeCompletion()
public void afterCompletion(int status)
AbstractTransactionalConnection
Subclasses that override this must make sure to invoke super.afterCompletion
so that the cleanup code in this implementation is run. This implementation cleans up deleted
or added blobs (depending on the outcome of the transaction).
afterCompletion
in interface Synchronization
afterCompletion
in class SQLTransactionalConnection
Synchronization.afterCompletion(int)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |