Class RepeatableReadNode

  extended by org.jboss.cache.invocation.AbstractInvocationDelegate
      extended by org.jboss.cache.invocation.NodeInvocationDelegate
          extended by org.jboss.cache.mvcc.ReadCommittedNode
              extended by org.jboss.cache.mvcc.RepeatableReadNode
All Implemented Interfaces:
Node, NodeSPI
Direct Known Subclasses:

public class RepeatableReadNode
extends ReadCommittedNode

A node delegate that encapsulates repeatable read semantics when writes are initiated, committed or rolled back.

Manik Surtani (manik AT jboss DOT org)

Nested Class Summary
Nested classes/interfaces inherited from class org.jboss.cache.mvcc.ReadCommittedNode
Field Summary
Fields inherited from class org.jboss.cache.mvcc.ReadCommittedNode
backup, flags, parent
Fields inherited from class org.jboss.cache.invocation.NodeInvocationDelegate
Fields inherited from class org.jboss.cache.invocation.AbstractInvocationDelegate
componentRegistry, configuration, invocationContextContainer, invoker, originLocal
Constructor Summary
RepeatableReadNode(InternalNode node, InternalNode parent)
Method Summary
 void markForUpdate(DataContainer container, boolean writeSkewCheck)
          Marks a node for updating.
protected  void updateNode(Fqn fqn, InvocationContext ctx, DataContainer dataContainer)
          Updates state changes on the current node in the underlying data structure.
Methods inherited from class org.jboss.cache.mvcc.ReadCommittedNode
commitUpdate, getInternalParent, isChanged, isCreated, isDeleted, isFlagSet, isNullNode, lookupParent, markAsDeleted, markAsDeleted, rollbackUpdate, setChildrenLoaded, setCreated, setDataLoaded, setFlag, unsetFlag
Methods inherited from class org.jboss.cache.invocation.NodeInvocationDelegate
addChild, addChild, addChildDirect, addChildDirect, addChildDirect, addChildDirect, assertValid, clearData, clearDataDirect, containsKeyDirect, dataSize, equals, get, getCache, getChild, getChild, getChildDirect, getChildDirect, getChildren, getChildrenDirect, getChildrenDirect, getChildrenMapDirect, getChildrenNames, getChildrenNamesDirect, getData, getDataDirect, getDelegationTarget, getDirect, getFqn, getInternalState, getKeys, getKeysDirect, getLock, getOrCreateChild, getParent, getParentDirect, getVersion, hasChild, hasChild, hasChildrenDirect, hashCode, injectDependencies, isChildrenLoaded, isDataLoaded, isLeaf, isLockForChildInsertRemove, isResident, isValid, print, printDetails, put, putAll, putAllDirect, putDirect, putIfAbsent, releaseObjectReferences, remove, removeChild, removeChild, removeChildDirect, removeChildDirect, removeChildrenDirect, removeDirect, replace, replace, replaceAll, setChildrenMapDirect, setFqn, setInternalState, setLockForChildInsertRemove, setResident, setValid, setVersion, toString
Methods inherited from class org.jboss.cache.invocation.AbstractInvocationDelegate
assertIsConstructed, initialize
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Constructor Detail


public RepeatableReadNode(InternalNode node,
                          InternalNode parent)
Method Detail


public void markForUpdate(DataContainer container,
                          boolean writeSkewCheck)
Description copied from interface: NodeSPI
Marks a node for updating. Internally, this creates a copy of the delegate and performs any checks necessary to maintain isolation level.

Only used with MVCC.

Specified by:
markForUpdate in interface NodeSPI
markForUpdate in class ReadCommittedNode
container - data container
writeSkewCheck - if true, and the node supports write skew checking, nodes are tested for write skews.


protected void updateNode(Fqn fqn,
                          InvocationContext ctx,
                          DataContainer dataContainer)
Description copied from class: ReadCommittedNode
Updates state changes on the current node in the underlying data structure.

updateNode in class ReadCommittedNode
ctx - invocation context
dataContainer - data container

Copyright © 2009 JBoss, a division of Red Hat. All Rights Reserved.