|
||||||||||
| 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 AbstractTransactionalConnectionblobId - the upper level blob-id
org.akubraproject.UnsupportedIdException - if the id cannot be stored
protected URI getRealId(URI blobId)
throws IOException
AbstractTransactionalConnection
getRealId in class AbstractTransactionalConnectionblobId - the upper level blob-id
IOException - if an error occurred looking up the id
protected void remNameEntry(URI ourId,
URI storeId)
throws IOException
AbstractTransactionalConnection
remNameEntry in class AbstractTransactionalConnectionourId - the upper-level blob-idstoreId - the underlying store's blob-id
IOException - if an error occurred removing the mapping or the mapping does not exist
protected void addNameEntry(URI ourId,
URI storeId)
throws IOException
AbstractTransactionalConnection
addNameEntry in class AbstractTransactionalConnectionourId - 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 exists
protected void remBlob(URI ourId,
URI storeId)
throws IOException
AbstractTransactionalConnectionAbstractTransactionalConnection.newBlobs
and AbstractTransactionalConnection.delBlobs lists; actual blob deletion is deferred till commit.
remBlob in class AbstractTransactionalConnectionourId - 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 SynchronizationbeforeCompletion in class AbstractTransactionalConnectionSynchronization.beforeCompletion()public void afterCompletion(int status)
AbstractTransactionalConnectionSubclasses 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 SynchronizationafterCompletion in class SQLTransactionalConnectionSynchronization.afterCompletion(int)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||