org.jboss.cache.mvcc
Class NullMarkerNode

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
                  extended by org.jboss.cache.mvcc.NullMarkerNode
All Implemented Interfaces:
Node, NodeSPI

public class NullMarkerNode
extends RepeatableReadNode

A marker node to represent a null node for repeatable read, so that a read that returns a null can continue to return null.

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
NullMarkerNode()
           
 
Method Summary
 boolean isDeleted()
          Returns true if the instance has been deleted in the current transaction.
 boolean isNullNode()
           
 boolean isValid()
          Tests if a node reference is still valid.
 void markForUpdate(DataContainer d, boolean b)
          A no-op.
 
Methods inherited from class org.jboss.cache.mvcc.RepeatableReadNode
updateNode
 
Methods inherited from class org.jboss.cache.mvcc.ReadCommittedNode
commitUpdate, getInternalParent, isCreated, isFlagSet, isChanged, lookupParent, markAsDeleted, markAsDeleted, rollbackUpdate, setCreated, setFlag, unsetFlag
 
Methods inherited from class org.jboss.cache.invocation.NodeInvocationDelegate
addChild, addChild, addChildDirect, addChildDirect, addChildDirect, addChildDirect, assertValid, clearData, clearDataDirect, dataSize, equals, get, getCache, getData, getDataDirect, getDelegationTarget, getDirect, getFqn, getChild, getChild, getChildDirect, getChildDirect, getChildren, getChildrenDirect, getChildrenDirect, getChildrenMapDirect, getChildrenNames, getChildrenNamesDirect, getInternalState, getKeys, getKeysDirect, getLock, getOrCreateChild, getParent, getParentDirect, getVersion, hashCode, hasChild, hasChild, hasChildrenDirect, injectDependencies, isDataLoaded, isChildrenLoaded, isLockForChildInsertRemove, isResident, print, printDetails, put, putAll, putAllDirect, putDirect, putIfAbsent, releaseObjectReferences, remove, removeDirect, removeChild, removeChild, removeChildDirect, removeChildDirect, removeChildrenDirect, replace, replace, replaceAll, setDataLoaded, setFqn, setChildrenLoaded, setChildrenMapDirect, 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

NullMarkerNode

public NullMarkerNode()
Method Detail

isNullNode

public boolean isNullNode()
Specified by:
isNullNode in interface NodeSPI
Overrides:
isNullNode in class ReadCommittedNode
Returns:
always returns true

isDeleted

public boolean isDeleted()
Description copied from interface: NodeSPI
Returns true if the instance has been deleted in the current transaction.

Specified by:
isDeleted in interface NodeSPI
Overrides:
isDeleted in class ReadCommittedNode
Returns:
always returns true so that any get commands, upon getting this node, will ignore the node as though it were removed.

isValid

public boolean isValid()
Description copied from interface: Node
Tests if a node reference is still valid. A node reference may become invalid if it has been removed, invalidated or moved, either locally or remotely. If a node is invalid, it should be fetched again from the cache or a valid parent node. Operations on invalid nodes will throw a NodeNotValidException.

Specified by:
isValid in interface Node
Overrides:
isValid in class NodeInvocationDelegate
Returns:
always returns true so that any get commands, upon getting this node, will ignore the node as though it were invalid.

markForUpdate

public void markForUpdate(DataContainer d,
                          boolean b)
A no-op.

Specified by:
markForUpdate in interface NodeSPI
Overrides:
markForUpdate in class RepeatableReadNode
Parameters:
d - data container
b - if true, and the node supports write skew checking, nodes are tested for write skews.


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