Class NullMarkerNode

  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.

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
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
Methods inherited from class org.jboss.cache.mvcc.ReadCommittedNode
commitUpdate, getInternalParent, isChanged, isCreated, isFlagSet, 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, isLockForChildInsertRemove, isResident, 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 NullMarkerNode()
Method Detail


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


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
isDeleted in class ReadCommittedNode
always returns true so that any get commands, upon getting this node, will ignore the node as though it were removed.


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
isValid in class NodeInvocationDelegate
always returns true so that any get commands, upon getting this node, will ignore the node as though it were invalid.


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

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

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