org.jboss.invocation.pooled.interfaces
Class PooledMarshalledInvocation

java.lang.Object
  extended byorg.jboss.invocation.Invocation (src) 
      extended byorg.jboss.invocation.MarshalledInvocation (src) 
          extended byorg.jboss.invocation.pooled.interfaces.PooledMarshalledInvocation
All Implemented Interfaces:
java.io.Externalizable, java.io.Serializable

public class PooledMarshalledInvocation
extends MarshalledInvocation (src)
implements java.io.Externalizable

The MarshalledInvocation is an invocation that travels. As such it serializes its payload because of lack of ClassLoader visibility. As such it contains Marshalled data representing the byte[] of the Invocation object it extends Besides handling the specifics of "marshalling" the payload, which could be done at the Invocation level the Marshalled Invocation can hold optimization and needed code for distribution for example the TransactionPropagationContext which is a serialization of the TX for distribution purposes as well as the "hash" for the methods that we send, as opposed to sending Method objects. Serialization "optimizations" should be coded here in the externalization implementation of the class

See Also:
, Serialized Form

Field Summary
 
Fields inherited from class org.jboss.invocation.MarshalledInvocation (src)
marshalledArgs, methodHash, methodMap, tpc
 
Fields inherited from class org.jboss.invocation.Invocation (src)
args, as_is_payload, invocationContext, invocationType, INVOKE_SIGNATURE, method, objectName, payload, transient_payload
 
Constructor Summary
PooledMarshalledInvocation()
           
PooledMarshalledInvocation(Invocation (src)  invocation)
           
PooledMarshalledInvocation(java.lang.Object id, java.lang.reflect.Method m, java.lang.Object[] args, Transaction (src)  tx, java.security.Principal identity, java.lang.Object credential)
           
 
Method Summary
 java.lang.Object[] getArguments()
           
 java.lang.Object getCredential()
           
 java.lang.Object getEnterpriseContext()
           
 java.lang.Object getId()
           
 java.security.Principal getPrincipal()
           
 Transaction (src) getTransaction()
          get the transaction.
 void readExternal(java.io.ObjectInput in)
           
 void setCredential(java.lang.Object credential)
          Change the security credentials of this invocation.
 void setEnterpriseContext(java.lang.Object enterpriseContext)
           
 void setId(java.lang.Object id)
          Return the invocation target ID.
 void setPrincipal(java.security.Principal principal)
          Change the security identity of this invocation.
 void setTransaction(Transaction (src)  tx)
          set the transaction.
 void writeExternal(java.io.ObjectOutput out)
           
 
Methods inherited from class org.jboss.invocation.MarshalledInvocation (src)
calculateHash, getFullInterfaceHashes, getInterfaceHashes, getMethod, getPayloadValue, getTransactionPropagationContext, getUseFullHashMode, getValue, methodToHashesMap, removeHashes, setMethodMap, setTransactionPropagationContext, setUseFullHashMode
 
Methods inherited from class org.jboss.invocation.Invocation (src)
getAsIsPayload, getAsIsValue, getInvocationContext, getObjectName, getPayload, getTransientPayload, getTransientValue, getType, isLocal, performCall, setArguments, setInvocationContext, setMethod, setObjectName, setType, setValue, setValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PooledMarshalledInvocation

public PooledMarshalledInvocation()

PooledMarshalledInvocation

public PooledMarshalledInvocation(Invocation (src)  invocation)

PooledMarshalledInvocation

public PooledMarshalledInvocation(java.lang.Object id,
                                  java.lang.reflect.Method m,
                                  java.lang.Object[] args,
                                  Transaction (src)  tx,
                                  java.security.Principal identity,
                                  java.lang.Object credential)
Method Detail

getEnterpriseContext

public java.lang.Object getEnterpriseContext()
Overrides:
getEnterpriseContext in class Invocation (src)

setEnterpriseContext

public void setEnterpriseContext(java.lang.Object enterpriseContext)
Overrides:
setEnterpriseContext in class Invocation (src)

getId

public java.lang.Object getId()
Overrides:
getId in class Invocation (src)

setId

public void setId(java.lang.Object id)
Description copied from class: Invocation (src)
Return the invocation target ID. Can be used to identify a cached object

Overrides:
setId in class Invocation (src)

setTransaction

public void setTransaction(Transaction (src)  tx)
Description copied from class: Invocation (src)
set the transaction.

Overrides:
setTransaction in class Invocation (src)

getTransaction

public Transaction (src)  getTransaction()
Description copied from class: Invocation (src)
get the transaction.

Overrides:
getTransaction in class Invocation (src)

getCredential

public java.lang.Object getCredential()
Overrides:
getCredential in class Invocation (src)

setCredential

public void setCredential(java.lang.Object credential)
Description copied from class: Invocation (src)
Change the security credentials of this invocation.

Overrides:
setCredential in class Invocation (src)

getPrincipal

public java.security.Principal getPrincipal()
Overrides:
getPrincipal in class Invocation (src)

setPrincipal

public void setPrincipal(java.security.Principal principal)
Description copied from class: Invocation (src)
Change the security identity of this invocation.

Overrides:
setPrincipal in class Invocation (src)

getArguments

public java.lang.Object[] getArguments()
Overrides:
getArguments in class MarshalledInvocation (src)

writeExternal

public void writeExternal(java.io.ObjectOutput out)
                   throws java.io.IOException
Specified by:
writeExternal in interface java.io.Externalizable
Overrides:
writeExternal in class MarshalledInvocation (src)
Throws:
java.io.IOException

readExternal

public void readExternal(java.io.ObjectInput in)
                  throws java.io.IOException,
                         java.lang.ClassNotFoundException
Specified by:
readExternal in interface java.io.Externalizable
Overrides:
readExternal in class MarshalledInvocation (src)
Throws:
java.io.IOException
java.lang.ClassNotFoundException