org.jboss.cache.mvcc
Class RepeatableReadNode

java.lang.Object
  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:
NullMarkerNodeForRemoval

public class RepeatableReadNode
extends ReadCommittedNode

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

Since:
3.0
Author:
Manik Surtani (manik AT jboss DOT org)

Nested Class Summary
 
Nested classes/interfaces inherited from class org.jboss.cache.mvcc.ReadCommittedNode
ReadCommittedNode.Flags
 
Field Summary
 
Fields inherited from class org.jboss.cache.mvcc.ReadCommittedNode
backup, flags, parent
 
Fields inherited from class org.jboss.cache.invocation.NodeInvocationDelegate
node
 
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

RepeatableReadNode

public RepeatableReadNode(InternalNode node,
                          InternalNode parent)
Method Detail

markForUpdate

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
Overrides:
markForUpdate in class ReadCommittedNode
Parameters:
container - data container
writeSkewCheck - if true, and the node supports write skew checking, nodes are tested for write skews.

updateNode

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.

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


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