jasco.runtime.distribution
Class DistributedJascoMethod

java.lang.Object
  extended by jasco.runtime.JascoMethod
      extended by jasco.runtime.ReflectJascoMethod
          extended by jasco.runtime.distribution.DistributedJascoMethod
All Implemented Interfaces:
MethodJoinpoint, java.io.Serializable, java.lang.Cloneable

public class DistributedJascoMethod
extends ReflectJascoMethod

See Also:
Serialized Form

Constructor Summary
DistributedJascoMethod(java.lang.String fullname, java.lang.String aName, java.lang.String aClassName, int methodid, JAsCoBeanCallback callbackObject, int modifiers, boolean isExecution)
           
 
Method Summary
static JascoMethod buildFrom(javassist.CtMethod method, java.lang.ClassLoader loader, int id)
           
 DistributedJascoMethod clone()
           
 void createRemoteReferences()
          This method is called once the message arrives to the host.
 java.util.Map getAtributesStubs()
           
 Host getHost()
           
 java.lang.Object invokeOriginal(java.lang.Object o, java.lang.Object[] args)
          Invokes the original method, only availabe in around advice.
 boolean isRemoteJP()
           
 void prepareArguments()
           
 void setAtributesStubs(java.util.Map atributesStubs)
           
 void setHost(Host host)
           
 void setRemoteJP(boolean remoteJP)
           
 
Methods inherited from class jasco.runtime.ReflectJascoMethod
initCallbackMethod, invokeOriginalJAsCoMethod
 
Methods inherited from class jasco.runtime.JascoMethod
clearLinkedHooks, clearProceedCheck, copy, dontLoadClass, dontLoadClass, getActualArgumentTypes, getAnnotations, getArgumentsArray, getCalledObject, getClassLoader, getClassName, getExceptionTypes, getFormalArgumentTypeNames, getFormalArgumentTypes, getFullName, getID, getJavassistMethod, getLinkedHooks, getModifiers, getName, getReflectMethod, getReturnType, getReturnTypeName, getSignature, getSourceLocation, initClassLoader, initFrom, initJavassistMethod, initReflectMethod, initReflectMethod, inlineCompiled, invoke, invokeAgain, invokeAgain, invokeJAsCoMethod, invokeNoAspectAgain, isCall, isExecution, loadClass, loadClass, resetProceedChain, setArgumentsArray, setCallbackObject, setCalledObject, setExceptionTypes, setFormalArgumentTypes, setInlineCompiled, setLinkedHooks, setReturnTypeName, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DistributedJascoMethod

public DistributedJascoMethod(java.lang.String fullname,
                              java.lang.String aName,
                              java.lang.String aClassName,
                              int methodid,
                              JAsCoBeanCallback callbackObject,
                              int modifiers,
                              boolean isExecution)
Method Detail

invokeOriginal

public java.lang.Object invokeOriginal(java.lang.Object o,
                                       java.lang.Object[] args)
                                throws java.lang.Exception
Description copied from class: JascoMethod
Invokes the original method, only availabe in around advice. WARNING: This method bypasses the around chain, subsequent arounds are not executed! Use invokeJAsCoMethod if you just want to proceed.

Specified by:
invokeOriginal in interface MethodJoinpoint
Overrides:
invokeOriginal in class ReflectJascoMethod
Parameters:
o - The object to invoke the method upon, is typically calledobject keyword
args - The arguments to invoke the original method with.
Throws:
java.lang.Exception

getHost

public Host getHost()

setHost

public void setHost(Host host)

isRemoteJP

public boolean isRemoteJP()
Returns:
Returns the remoteJP.

setRemoteJP

public void setRemoteJP(boolean remoteJP)
Parameters:
remoteJP - The remoteJP to set.

buildFrom

public static JascoMethod buildFrom(javassist.CtMethod method,
                                    java.lang.ClassLoader loader,
                                    int id)
                             throws javassist.NotFoundException
Throws:
javassist.NotFoundException

setAtributesStubs

public void setAtributesStubs(java.util.Map atributesStubs)

getAtributesStubs

public java.util.Map getAtributesStubs()

prepareArguments

public void prepareArguments()
                      throws java.lang.Exception
Throws:
java.lang.Exception

clone

public DistributedJascoMethod clone()
                             throws java.lang.CloneNotSupportedException
Overrides:
clone in class java.lang.Object
Throws:
java.lang.CloneNotSupportedException

createRemoteReferences

public void createRemoteReferences()
                            throws java.lang.InstantiationException,
                                   java.lang.IllegalAccessException
This method is called once the message arrives to the host. There the remote reference objects are created. First using the type information is used to create an object. Then using aspects all the methods of such object are instrumented to create a proxy object that will redirect the method calls to the remote reference.ldbn 27-10-2006.

Throws:
java.lang.IllegalAccessException
java.lang.InstantiationException