Save This Page
Home » jboss-5.0.0.CR1-src » org » jboss » invocation » [javadoc | source]
org.jboss.invocation
public class: Invocation [javadoc | source]
java.lang.Object
   org.jboss.invocation.Invocation

Direct Known Subclasses:
    MarshalledInvocation, LocalEJBInvocation, PooledMarshalledInvocation, CMRInvocation, RelationInvocation

The Invocation object is the generic object flowing through our interceptors.

The heart of it is the payload map that can contain anything we then put readers on them. The first reader is this Invocation object that can interpret the data in it.

Essentially we can carry ANYTHING from the client to the server, we keep a series of of predefined variables and method calls to get at the pointers. But really it is just a repository of objects.

Field Summary
public static final  String[] INVOKE_SIGNATURE    The signature of the invoke() method 
public  Map transient_payload    Contextual information to the invocation that is not part of the payload. 
public  Map as_is_payload    as_is classes that will not be marshalled by the invocation (java.* and javax.* or anything in system classpath is OK) 
public  Map payload    Payload will be marshalled for type hiding at the RMI layers. 
public  InvocationContext invocationContext     
public  Object[] args     
public  Object objectName     
public  Method method     
public  InvocationType invocationType     
Constructor:
 public Invocation() 
 public Invocation(Object id,
    Method m,
    Object[] args,
    Transaction tx,
    Principal identity,
    Object credential) 
Method from org.jboss.invocation.Invocation Summary:
getArguments,   getAsIsPayload,   getAsIsValue,   getCredential,   getEnterpriseContext,   getId,   getInvocationContext,   getMethod,   getObjectName,   getPayload,   getPayloadValue,   getPrincipal,   getSecurityContext,   getTransaction,   getTransientPayload,   getTransientValue,   getType,   getValue,   isInterVM,   isLocal,   isSecure,   performCall,   setArguments,   setCredential,   setEnterpriseContext,   setId,   setInterVM,   setInvocationContext,   setMethod,   setObjectName,   setPrincipal,   setSecure,   setSecurityContext,   setTransaction,   setType,   setValue,   setValue
Methods from java.lang.Object:
equals,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from org.jboss.invocation.Invocation Detail:
 public Object[] getArguments() 
 public Map getAsIsPayload() 
 public Object getAsIsValue(Object key) 
 public Object getCredential() 
 public Object getEnterpriseContext() 
 public Object getId() 
 public InvocationContext getInvocationContext() 
 public Method getMethod() 
    get on method Return the invocation method.
 public Object getObjectName() 
 public Map getPayload() 
 public Object getPayloadValue(Object key) 
 public Principal getPrincipal() 
 public SecurityContext getSecurityContext() 
 public Transaction getTransaction() 
    get the transaction.
 public Map getTransientPayload() 
 public Object getTransientValue(Object key) 
 public InvocationType getType() 
 public Object getValue(Object key) 
    Get a value from the stores.
 public boolean isInterVM() 
 public boolean isLocal() 
    Helper method to determine whether an invocation is local
 public Boolean isSecure() 
    Determine whether the invocation arrived on a secure channel
 public Object performCall(Object instance,
    Method m,
    Object[] arguments) throws Exception, IllegalArgumentException, InvocationTargetException, IllegalAccessException 
    This method will be called by the container(ContainerInterceptor) to issue the ultimate method call represented by this invocation. It is overwritten, e.g., by the WS4EE invocation in order to realize JAXRPC pre- and postprocessing.
 public  void setArguments(Object[] arguments) 
    A list of arguments for the method.
 public  void setCredential(Object credential) 
    Change the security credentials of this invocation.
 public  void setEnterpriseContext(Object ctx) 
 public  void setId(Object id) 
    Return the invocation target ID. Can be used to identify a cached object
 public  void setInterVM(Boolean boolValue) 
 public  void setInvocationContext(InvocationContext ctx) 
 public  void setMethod(Method method) 
    set on method Return the invocation method.
 public  void setObjectName(Object objectName) 
    container for server side association.
 public  void setPrincipal(Principal principal) 
    Change the security identity of this invocation.
 public  void setSecure(Boolean secure) 
    Set whether the invocation is secure or not
 public  void setSecurityContext(SecurityContext sc) 
 public  void setTransaction(Transaction tx) 
    set the transaction.
 public  void setType(InvocationType type) 
    An arbitrary type.
 public  void setValue(Object key,
    Object value) 
    The generic store of variables.

    The generic getter and setter is really all that one needs to talk to this object. We introduce typed getters and setters for convenience and code readability in the codeba

 public  void setValue(Object key,
    Object value,
    PayloadKey type) 
    Advanced store Here you can pass a TYPE that indicates where to put the value. TRANSIENT: the value is put in a map that WON'T be passed AS_IS: no need to marshall the value when passed (use for all JDK java types) PAYLOAD: we need to marshall the value as its type is application specific