|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.jackrabbit.core.state.LocalItemStateManager
org.apache.jackrabbit.core.state.XAItemStateManager
public class XAItemStateManager
Extension to LocalItemStateManager that remembers changes on
multiple save() requests and commits them only when an associated transaction
is itself committed.
| Field Summary |
|---|
| Fields inherited from class org.apache.jackrabbit.core.state.LocalItemStateManager |
|---|
factory, sharedStateMgr |
| Method Summary | |
|---|---|
void |
afterOperation(TransactionContext tx)
Invoked after one of the InternalXAResource.prepare(org.apache.jackrabbit.core.TransactionContext), InternalXAResource.commit(org.apache.jackrabbit.core.TransactionContext) or
InternalXAResource.rollback(org.apache.jackrabbit.core.TransactionContext) method has been called. |
void |
associate(TransactionContext tx)
Associate this resource with a transaction. |
void |
beforeOperation(TransactionContext tx)
Invoked before one of the InternalXAResource.prepare(org.apache.jackrabbit.core.TransactionContext), InternalXAResource.commit(org.apache.jackrabbit.core.TransactionContext) or
InternalXAResource.rollback(org.apache.jackrabbit.core.TransactionContext) method is called. |
void |
commit(TransactionContext tx)
Commit transaction. |
static XAItemStateManager |
createInstance(SharedItemStateManager sharedStateMgr,
EventStateCollectionFactory factory,
String attributeName,
ItemStateCacheFactory cacheFactory)
Creates a new XAItemStateManager instance and registers it as an ItemStateListener
with the given SharedItemStateManager. |
ChangeLog |
getChangeLog()
Returns the current change log. |
protected ChangeLog |
getChanges()
Returns the change log that contains the current changes in this local item state manager. |
ItemState |
getItemState(ItemId id)
Return an item state, given its item id. |
NodeReferences |
getNodeReferences(NodeId id)
Return a node references object, given its target id |
boolean |
hasItemState(ItemId id)
Return a flag indicating whether an item state for a given item id exists. |
boolean |
hasNodeReferences(NodeId id)
Return a flag indicating whether a node references object for a given target id exists. |
void |
prepare(TransactionContext tx)
Prepare transaction. |
void |
rollback(TransactionContext tx)
Rollback transaction. |
void |
setVirtualProvider(VirtualItemStateProvider virtualProvider)
Set optional virtual item state provider. |
void |
stateModified(ItemState modified)
Called when an ItemState has successfully
been modified (i.e. |
protected void |
update(ChangeLog changeLog)
End an update operation. |
| Methods inherited from class org.apache.jackrabbit.core.state.LocalItemStateManager |
|---|
addListener, cancel, createInstance, createNew, createNew, destroy, dispose, edit, getNodeState, getPropertyState, inEditMode, nodeAdded, nodeModified, nodeRemoved, nodesReplaced, removeListener, stateCreated, stateDestroyed, stateDiscarded, store, update |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method Detail |
|---|
public static XAItemStateManager createInstance(SharedItemStateManager sharedStateMgr,
EventStateCollectionFactory factory,
String attributeName,
ItemStateCacheFactory cacheFactory)
XAItemStateManager instance and registers it as an ItemStateListener
with the given SharedItemStateManager.
sharedStateMgr - the SharedItemStateManagerfactory - the EventStateCollectionFactoryattributeName - the attribute name, if null then a default name is usedcacheFactory - the ItemStateCacheFactory
XAItemStateManager instancepublic void setVirtualProvider(VirtualItemStateProvider virtualProvider)
public void associate(TransactionContext tx)
associate in interface InternalXAResourcetx - transaction context, if null disassociatepublic void beforeOperation(TransactionContext tx)
InternalXAResource.prepare(org.apache.jackrabbit.core.TransactionContext), InternalXAResource.commit(org.apache.jackrabbit.core.TransactionContext) or
InternalXAResource.rollback(org.apache.jackrabbit.core.TransactionContext) method is called.
beforeOperation in interface InternalXAResourcetx - transaction context
public void prepare(TransactionContext tx)
throws TransactionException
prepare in interface InternalXAResourcetx - transaction context
TransactionException - if an error occurs
public void commit(TransactionContext tx)
throws TransactionException
commit in interface InternalXAResourcetx - transaction context
TransactionException - if an error occurspublic void rollback(TransactionContext tx)
rollback in interface InternalXAResourcetx - transaction context.public void afterOperation(TransactionContext tx)
InternalXAResource.prepare(org.apache.jackrabbit.core.TransactionContext), InternalXAResource.commit(org.apache.jackrabbit.core.TransactionContext) or
InternalXAResource.rollback(org.apache.jackrabbit.core.TransactionContext) method has been called.
afterOperation in interface InternalXAResourcetx - transaction contextpublic ChangeLog getChangeLog()
null if no
change log was found.
protected ChangeLog getChanges()
LocalItemStateManager
getChanges in class LocalItemStateManagerUnsupportedOperationException - always.
public ItemState getItemState(ItemId id)
throws NoSuchItemStateException,
ItemStateException
getItemState in interface ItemStateManagergetItemState in class LocalItemStateManagerid - item id
NoSuchItemStateException - if the item does not exist
ItemStateException - if an error occurspublic boolean hasItemState(ItemId id)
hasItemState in interface ItemStateManagerhasItemState in class LocalItemStateManagerid - item id
true if an item state exists,
otherwise false
public NodeReferences getNodeReferences(NodeId id)
throws NoSuchItemStateException,
ItemStateException
getNodeReferences in interface ItemStateManagergetNodeReferences in class LocalItemStateManagerid - target id
NoSuchItemStateException - if the item does not exist
ItemStateException - if an error occurspublic boolean hasNodeReferences(NodeId id)
hasNodeReferences in interface ItemStateManagerhasNodeReferences in class LocalItemStateManagerid - target id
true if a node reference object exists for the given
id, otherwise false.
protected void update(ChangeLog changeLog)
throws ReferentialIntegrityException,
StaleItemStateException,
ItemStateException
update in class LocalItemStateManagerchangeLog - change log containing local states and references
ReferentialIntegrityException - if a new or modified REFERENCE
property refers to a non-existent
target or if a removed node is still
being referenced
StaleItemStateException - if at least one of the affected item
states has become stale in the meantime
ItemStateException - if an error occurspublic void stateModified(ItemState modified)
ItemState has successfully
been modified (i.e. its underlying persistent state has changed).
Notification handler gets called for both local states that this state manager
has created, as well as states that were created by the shared state manager
we're listening to.
Check whether the shared state modified is contained in our transactional
log: in that case, update its state as well, as it might get reused
in a subsequent transaction (see JCR-1554).
stateModified in interface ItemStateListenerstateModified in class LocalItemStateManagermodified - the ItemState that has been 'modified'
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||