|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.jackrabbit.core.state.SessionItemStateManager
SessionItemStateManager
...
Constructor Summary | |
SessionItemStateManager(NodeId rootNodeId,
UpdatableItemStateManager persistentStateMgr,
NamespaceResolver nsResolver)
Creates a new SessionItemStateManager instance. |
Method Summary | |
void |
cancel()
Cancel an update operation. This will undo all changes made to objects inside this item state manager. |
NodeState |
createNew(NodeId id,
QName nodeTypeName,
NodeId parentId)
Creates a NodeState instance representing new,
i.e. not yet existing state. Call UpdatableItemStateManager.store(org.apache.jackrabbit.core.state.ItemState)
on the returned object to make it persistent. |
NodeState |
createNew(NodeState transientState)
Customized variant of createNew(NodeId, QName, NodeId) that
connects the newly created persistent state with the transient state. |
PropertyState |
createNew(PropertyState transientState)
Customized variant of createNew(QName, NodeId) that
connects the newly created persistent state with the transient state. |
PropertyState |
createNew(QName propName,
NodeId parentId)
Creates a PropertyState instance representing new,
i.e. not yet existing state. Call UpdatableItemStateManager.store(org.apache.jackrabbit.core.state.ItemState)
on the returned object to make it persistent. |
NodeState |
createTransientNodeState(NodeId id,
QName nodeTypeName,
NodeId parentId,
int initialStatus)
|
NodeState |
createTransientNodeState(NodeState overlayedState,
int initialStatus)
|
PropertyState |
createTransientPropertyState(NodeId parentId,
QName propName,
int initialStatus)
|
PropertyState |
createTransientPropertyState(PropertyState overlayedState,
int initialStatus)
|
void |
destroy(ItemState state)
Destroy an item state. |
void |
disconnectTransientItemState(ItemState state)
Disconnect a transient item state from its underlying persistent state. |
void |
dispose()
Disposes this UpdatableItemStateManager and frees resources. |
void |
disposeAllTransientItemStates()
Disposes all transient item states in the cache and in the attic. |
void |
disposeTransientItemState(ItemState state)
Disposes the specified transient item state instance, i.e. |
void |
disposeTransientItemStateInAttic(ItemState state)
Disposes the specified transient item state instance in the attic, i.e. |
void |
dump(PrintStream ps)
Dumps the state of this instance in a human readable format for diagnostic purposes. |
void |
edit()
Start an edit operation on items inside this manager. This allows calling the operations defined below. At the end of this operation, either UpdatableItemStateManager.update() or UpdatableItemStateManager.cancel()
must be invoked. |
Iterator |
getDescendantTransientItemStates(NodeId parentId)
Returns an iterator over those transient item state instances that are direct or indirect descendents of the item state with the given parentId . |
Iterator |
getDescendantTransientItemStatesInAttic(NodeId parentId)
Same as
except that item state instances in the attic are returned. |
HierarchyManager |
getHierarchyMgr()
Returns the hierarchy manager |
ItemState |
getItemState(ItemId id)
Return an item state, given its item id. |
NodeReferences |
getNodeReferences(NodeReferencesId id)
Return a node references object, given its target id |
ItemState |
getTransientItemState(ItemId id)
|
boolean |
hasAnyTransientItemStates()
|
boolean |
hasItemState(ItemId id)
Return a flag indicating whether an item state for a given item id exists. |
boolean |
hasNodeReferences(NodeReferencesId id)
Return a flag indicating whether a node references object for a given target id exists. |
boolean |
inEditMode()
Returns true if this manager is in edit mode i.e.
if an edit operation has been started by invoking UpdatableItemStateManager.edit() ,
otherwise returns false . |
boolean |
isItemStateInAttic(ItemId id)
Return a flag indicating whether the specified item is in the transient item state manager's attic space. |
void |
moveTransientItemStateToAttic(ItemState state)
Transfers the specified transient item state instance from the 'active' cache to the attic. |
void |
store(ItemState state)
Store an item state. |
void |
update()
End an update operation. This will save all items added to this update operation in a single step. If this operation fails, no item will have been saved. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public SessionItemStateManager(NodeId rootNodeId, UpdatableItemStateManager persistentStateMgr, NamespaceResolver nsResolver)
SessionItemStateManager
instance.
rootNodeId
- persistentStateMgr
- nsResolver
- Method Detail |
public HierarchyManager getHierarchyMgr()
public void dump(PrintStream ps)
dump
in interface Dumpable
ps
- stream to dump state topublic ItemState getItemState(ItemId id) throws NoSuchItemStateException, ItemStateException
getItemState
in interface ItemStateManager
id
- item id
NoSuchItemStateException
- if the item does not exist
ItemStateException
- if an error occurspublic boolean hasItemState(ItemId id)
hasItemState
in interface ItemStateManager
id
- item id
true
if an item state exists,
otherwise false
public NodeReferences getNodeReferences(NodeReferencesId id) throws NoSuchItemStateException, ItemStateException
getNodeReferences
in interface ItemStateManager
id
- target id
ItemStateException
- if an error occurs
NoSuchItemStateException
- if the item does not existpublic boolean hasNodeReferences(NodeReferencesId id)
hasNodeReferences
in interface ItemStateManager
id
- target id
true
if a node reference object exists for the given
id, otherwise false
.public void edit() throws IllegalStateException
UpdatableItemStateManager.update()
or UpdatableItemStateManager.cancel()
must be invoked.
edit
in interface UpdatableItemStateManager
IllegalStateException
- if the manager is already in edit mode.public boolean inEditMode()
true
if this manager is in edit mode i.e.
if an edit operation has been started by invoking UpdatableItemStateManager.edit()
,
otherwise returns false
.
inEditMode
in interface UpdatableItemStateManager
true
if this manager is in edit mode, otherwise
false
public NodeState createNew(NodeId id, QName nodeTypeName, NodeId parentId) throws IllegalStateException
NodeState
instance representing new,
i.e. not yet existing state. Call UpdatableItemStateManager.store(org.apache.jackrabbit.core.state.ItemState)
on the returned object to make it persistent.
createNew
in interface UpdatableItemStateManager
id
- the id of the nodenodeTypeName
- qualified node type nameparentId
- parent node's id
IllegalStateException
- if the manager is not in edit mode.public NodeState createNew(NodeState transientState) throws IllegalStateException
createNew(NodeId, QName, NodeId)
that
connects the newly created persistent state with the transient state.
IllegalStateException
public PropertyState createNew(QName propName, NodeId parentId) throws IllegalStateException
PropertyState
instance representing new,
i.e. not yet existing state. Call UpdatableItemStateManager.store(org.apache.jackrabbit.core.state.ItemState)
on the returned object to make it persistent.
createNew
in interface UpdatableItemStateManager
propName
- qualified property nameparentId
- parent node Id
IllegalStateException
- if the manager is not in edit mode.public PropertyState createNew(PropertyState transientState) throws IllegalStateException
createNew(QName, NodeId)
that
connects the newly created persistent state with the transient state.
IllegalStateException
public void store(ItemState state) throws IllegalStateException
store
in interface UpdatableItemStateManager
state
- item state that should be stored
IllegalStateException
- if the manager is not in edit mode.public void destroy(ItemState state) throws IllegalStateException
destroy
in interface UpdatableItemStateManager
state
- item state that should be destroyed
IllegalStateException
- if the manager is not in edit mode.public void cancel() throws IllegalStateException
cancel
in interface UpdatableItemStateManager
IllegalStateException
- if the manager is not in edit mode.public void update() throws ReferentialIntegrityException, StaleItemStateException, ItemStateException, IllegalStateException
update
in interface UpdatableItemStateManager
StaleItemStateException
- if at least one of the affected items
has become stale in the meantime
IllegalStateException
- if the manager is not in edit mode.
ReferentialIntegrityException
- if a new or modified REFERENCE
property refers to a non-existent
target or if a removed node is still
being referenced
ItemStateException
- if the operation failed for another reasonpublic void dispose()
UpdatableItemStateManager
and frees resources.
dispose
in interface UpdatableItemStateManager
public ItemState getTransientItemState(ItemId id) throws NoSuchItemStateException, ItemStateException
id
-
NoSuchItemStateException
ItemStateException
public boolean hasAnyTransientItemStates()
true
if this manager has any transient state;
false
otherwise.public Iterator getDescendantTransientItemStates(NodeId parentId) throws InvalidItemStateException, RepositoryException
parentId
. The transient item state instance with the given
parentId
itself (if there is such) will not be included.
The instances are returned in depth-first tree traversal order.
parentId
- the id of the common parent of the transient item state
instances to be returned.
InvalidItemStateException
- if any descendant item state has been
deleted externally
RepositoryException
- if another error occurspublic Iterator getDescendantTransientItemStatesInAttic(NodeId parentId)
getDescendantTransientItemStates(NodeId)
except that item state instances in the attic are returned.
parentId
- the id of the common parent of the transient item state
instances to be returned.
public boolean isItemStateInAttic(ItemId id)
id
- item id
true
if the item state is in the attic space;
false
otherwisepublic NodeState createTransientNodeState(NodeId id, QName nodeTypeName, NodeId parentId, int initialStatus) throws ItemStateException
id
- nodeTypeName
- parentId
- initialStatus
-
ItemStateException
public NodeState createTransientNodeState(NodeState overlayedState, int initialStatus) throws ItemStateException
overlayedState
- initialStatus
-
ItemStateException
public PropertyState createTransientPropertyState(NodeId parentId, QName propName, int initialStatus) throws ItemStateException
parentId
- propName
- initialStatus
-
ItemStateException
public PropertyState createTransientPropertyState(PropertyState overlayedState, int initialStatus) throws ItemStateException
overlayedState
- initialStatus
-
ItemStateException
public void disconnectTransientItemState(ItemState state)
HierarchyManager
about the changed identity.
state
- the transient ItemState
instance that should
be disconnectedpublic void disposeTransientItemState(ItemState state)
state
- the transient ItemState
instance that should
be disposedItemState.discard()
public void moveTransientItemStateToAttic(ItemState state)
state
- the transient ItemState
instance that should
be moved to the atticpublic void disposeTransientItemStateInAttic(ItemState state)
state
- the transient ItemState
instance that should
be disposed @see ItemState#discard()public void disposeAllTransientItemStates()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |