org.infinispan.context.impl
Class LocalTxInvocationContext

java.lang.Object
  extended by org.infinispan.context.impl.AbstractInvocationContext
      extended by org.infinispan.context.impl.AbstractTxInvocationContext
          extended by org.infinispan.context.impl.LocalTxInvocationContext
All Implemented Interfaces:
Cloneable, EntryLookup, FlagContainer, TxInvocationContext, InvocationContext

public class LocalTxInvocationContext
extends AbstractTxInvocationContext

Invocation context to be used for locally originated transactions.

Since:
4.0
Author:
Mircea.Markus@jboss.com, Galder ZamarreƱo

Nested Class Summary
 
Nested classes/interfaces inherited from class org.infinispan.context.impl.AbstractInvocationContext
AbstractInvocationContext.ContextFlag
 
Field Summary
static Map<Object,CacheEntry> EMPTY_ENTRY_MAP
           
 
Fields inherited from class org.infinispan.context.impl.AbstractInvocationContext
contextFlags, flags
 
Constructor Summary
LocalTxInvocationContext()
           
 
Method Summary
 void addLockedKey(Object key)
          Tracks the given key as locked by this invocation context.
 void clearLookedUpEntries()
          Clears the collection of entries looked up
 AbstractCacheTransaction getCacheTransaction()
           
 GlobalTransaction getGlobalTransaction()
          Returns the id of the transaction associated with the current call.
 Set<Object> getLockedKeys()
          Returns the set of keys that are locked for writing.
 Object getLockOwner()
          Returns the in behalf of which locks will be aquired.
 Map<Object,CacheEntry> getLookedUpEntries()
          Retrieves a map of entries looked up within the current scope.
 List<WriteCommand> getModifications()
          Returns all the modifications performed in the scope of the current transaction.
 Collection<Address> getRemoteLocksAcquired()
           
 Transaction getTransaction()
          Returns the tx associated with the current thread.
 boolean hasLockedKey(Object key)
          Returns true if the lock being tested is already held in the current scope, false otherwise.
 boolean isOriginLocal()
          Returns true if the call was originated locally, false if it is the result of a remote rpc.
 boolean isTransactionValid()
           
 CacheEntry lookupEntry(Object key)
          Retrieves an entry from the collection of looked up entries in the current scope.
 void putLookedUpEntries(Map<Object,CacheEntry> lookedUpEntries)
           
 void putLookedUpEntry(Object key, CacheEntry e)
          Puts an entry in the registry of looked up entries in the current scope.
 void remoteLocksAcquired(Collection<Address> nodes)
           
 void removeLookedUpEntry(Object key)
           
 void setLocalTransaction(LocalTransaction localTransaction)
           
 
Methods inherited from class org.infinispan.context.impl.AbstractTxInvocationContext
addAffectedKey, addAllAffectedKeys, clearLockedKeys, getAffectedKeys, hasModifications, isImplicitTransaction, isInTxScope, reset, setImplicitTransaction, setTransaction
 
Methods inherited from class org.infinispan.context.impl.AbstractInvocationContext
clone, getClassLoader, getFlags, getOrigin, hasFlag, isContextFlagSet, isFlagsUninitialized, isUseFutureReturnType, setClassLoader, setContextFlag, setContextFlag, setFlags, setFlags, setOrigin, setUseFutureReturnType, toString, unsetContextFlag
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.infinispan.context.InvocationContext
clone, getClassLoader, getOrigin, isUseFutureReturnType, setClassLoader, setUseFutureReturnType
 
Methods inherited from interface org.infinispan.context.FlagContainer
getFlags, hasFlag, setFlags, setFlags
 

Field Detail

EMPTY_ENTRY_MAP

public static final Map<Object,CacheEntry> EMPTY_ENTRY_MAP
Constructor Detail

LocalTxInvocationContext

public LocalTxInvocationContext()
Method Detail

isTransactionValid

public boolean isTransactionValid()
Returns:
true if the current transaction is in a valid state to perform operations on (i.e.,RUNNING or PREPARING) or false otherwise.

isOriginLocal

public boolean isOriginLocal()
Description copied from interface: InvocationContext
Returns true if the call was originated locally, false if it is the result of a remote rpc.


getLockOwner

public Object getLockOwner()
Description copied from interface: InvocationContext
Returns the in behalf of which locks will be aquired.


getGlobalTransaction

public GlobalTransaction getGlobalTransaction()
Description copied from interface: TxInvocationContext
Returns the id of the transaction associated with the current call.


getModifications

public List<WriteCommand> getModifications()
Description copied from interface: TxInvocationContext
Returns all the modifications performed in the scope of the current transaction.


setLocalTransaction

public void setLocalTransaction(LocalTransaction localTransaction)

lookupEntry

public CacheEntry lookupEntry(Object key)
Description copied from interface: EntryLookup
Retrieves an entry from the collection of looked up entries in the current scope.

Parameters:
key - key to look up
Returns:
an entry, or null if it cannot be found.

getLookedUpEntries

public Map<Object,CacheEntry> getLookedUpEntries()
Description copied from interface: EntryLookup
Retrieves a map of entries looked up within the current scope.

Returns:
a map of looked up entries.

putLookedUpEntry

public void putLookedUpEntry(Object key,
                             CacheEntry e)
Description copied from interface: EntryLookup
Puts an entry in the registry of looked up entries in the current scope.

Parameters:
key - key to store
e - entry to store

putLookedUpEntries

public void putLookedUpEntries(Map<Object,CacheEntry> lookedUpEntries)

removeLookedUpEntry

public void removeLookedUpEntry(Object key)

clearLookedUpEntries

public void clearLookedUpEntries()
Description copied from interface: EntryLookup
Clears the collection of entries looked up


hasLockedKey

public boolean hasLockedKey(Object key)
Description copied from interface: InvocationContext
Returns true if the lock being tested is already held in the current scope, false otherwise.

Specified by:
hasLockedKey in interface InvocationContext
Overrides:
hasLockedKey in class AbstractInvocationContext
Parameters:
key - lock to test

remoteLocksAcquired

public void remoteLocksAcquired(Collection<Address> nodes)

getRemoteLocksAcquired

public Collection<Address> getRemoteLocksAcquired()

getCacheTransaction

public AbstractCacheTransaction getCacheTransaction()
Specified by:
getCacheTransaction in interface TxInvocationContext
Specified by:
getCacheTransaction in class AbstractTxInvocationContext

getLockedKeys

public Set<Object> getLockedKeys()
Description copied from interface: InvocationContext
Returns the set of keys that are locked for writing.


addLockedKey

public void addLockedKey(Object key)
Description copied from interface: InvocationContext
Tracks the given key as locked by this invocation context.


getTransaction

public Transaction getTransaction()
Description copied from interface: TxInvocationContext
Returns the tx associated with the current thread. This method MUST be guarded with a call to InvocationContext.isOriginLocal(), as Transaction are not propagated from the node where tx was started.

Specified by:
getTransaction in interface TxInvocationContext
Overrides:
getTransaction in class AbstractTxInvocationContext

-->

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