org.jboss.cache.interceptors
Class OptimisticCreateIfNotExistsInterceptor

java.lang.Object
  extended by org.jboss.cache.interceptors.Interceptor
      extended by org.jboss.cache.interceptors.OptimisticInterceptor
          extended by org.jboss.cache.interceptors.OptimisticCreateIfNotExistsInterceptor
All Implemented Interfaces:
InterceptorMBean

public class OptimisticCreateIfNotExistsInterceptor
extends OptimisticInterceptor

Used to create new NodeSPI instances in the main data structure and then copy it into the TransactionWorkspace as WorkspaceNodes as needed. This is only invoked if nodes needed do not exist in the underlying structure, they are added and the corresponding WorkspaceNode.isCreated() would return true to denote that this node has been freshly created in the underlying structure.

Author:
Manik Surtani (manik@jboss.org), Steve Woodcock (stevew@jofti.com)

Field Summary
 
Fields inherited from class org.jboss.cache.interceptors.OptimisticInterceptor
trace, txManager, txTable
 
Fields inherited from class org.jboss.cache.interceptors.Interceptor
cache, configuration, last, log, next
 
Constructor Summary
OptimisticCreateIfNotExistsInterceptor()
           
 
Method Summary
 java.lang.Object invoke(InvocationContext ctx)
           
 void setCache(CacheSPI cache)
           
 
Methods inherited from class org.jboss.cache.interceptors.OptimisticInterceptor
getGlobalTransaction, getTransactionWorkspace, greedyGetFqns
 
Methods inherited from class org.jboss.cache.interceptors.Interceptor
dumpStatistics, getLast, getNext, getStatisticsEnabled, isActive, isOnePhaseCommitPrepareMehod, isPreparing, isValid, resetStatistics, setLast, setNext, setStatisticsEnabled, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

OptimisticCreateIfNotExistsInterceptor

public OptimisticCreateIfNotExistsInterceptor()
Method Detail

setCache

public void setCache(CacheSPI cache)
Overrides:
setCache in class OptimisticInterceptor

invoke

public java.lang.Object invoke(InvocationContext ctx)
                        throws java.lang.Throwable
Overrides:
invoke in class Interceptor
Throws:
java.lang.Throwable