Package spin

Class Invocation


  • public class Invocation
    extends java.lang.Object
    A single invocation on a Spin proxy handled by Evaluators.
    • Constructor Summary

      Constructors 
      Constructor Description
      Invocation​(java.lang.Object object, java.lang.reflect.Method method, java.lang.Object[] args)
      Create an invocation of the given method on the given object with the given arguments.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void evaluate()
      Evaluate the return value (or a possibly thrown Throwable) by invoking to method with the arguments on the wrapped object.
      java.lang.Object[] getArguments()
      Get the arguments for the invoked method.
      java.lang.reflect.Method getMethod()
      Get the invoked method.
      java.lang.Object getObject()
      Get the object this invocation is evaluated on.
      java.lang.Object getResult()
      Get the result of evaluation
      java.lang.Throwable getThrowable()
      Get the throwable thrown on evaluation.
      boolean isEvaluated()
      Test if this invocation is already evaluated.
      java.lang.Object resultOrThrow()
      Get the result or throwable of this invocation's evaluation.
      void setArguments​(java.lang.Object[] args)
      Set the arguments for the invoked method.
      void setMethod​(java.lang.reflect.Method method)
      Set the method to invoke.
      void setObject​(java.lang.Object object)
      Set the object this invocation is evaluated on.
      void setResult​(java.lang.Object result)
      Set the result of evaluation
      void setThrowable​(java.lang.Throwable throwable)
      Set the throwable thrown on evaluation.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Invocation

        public Invocation​(java.lang.Object object,
                          java.lang.reflect.Method method,
                          java.lang.Object[] args)
        Create an invocation of the given method on the given object with the given arguments.
        Parameters:
        object - object to invoke method on
        method - method to invoke
        args - arguments for the method invocation
    • Method Detail

      • setObject

        public void setObject​(java.lang.Object object)
        Set the object this invocation is evaluated on.
        Parameters:
        object - object to evaluate on
      • getObject

        public java.lang.Object getObject()
        Get the object this invocation is evaluated on.
        Returns:
        the object this invocation is evaluated on
      • setMethod

        public void setMethod​(java.lang.reflect.Method method)
        Set the method to invoke.
        Parameters:
        method - method to invoke
      • getMethod

        public java.lang.reflect.Method getMethod()
        Get the invoked method.
        Returns:
        the invoked method
      • setArguments

        public void setArguments​(java.lang.Object[] args)
        Set the arguments for the invoked method.
        Parameters:
        args - the arguments for the invoked method
      • getArguments

        public java.lang.Object[] getArguments()
        Get the arguments for the invoked method.
        Returns:
        the arguments for the invoked method
      • getResult

        public java.lang.Object getResult()
        Get the result of evaluation
        Returns:
        the result
      • setResult

        public void setResult​(java.lang.Object result)
        Set the result of evaluation
        Parameters:
        result - the result
      • getThrowable

        public java.lang.Throwable getThrowable()
        Get the throwable thrown on evaluation.
        Returns:
        the throwable
      • setThrowable

        public void setThrowable​(java.lang.Throwable throwable)
        Set the throwable thrown on evaluation.
        Parameters:
        throwable - the throwable
      • evaluate

        public void evaluate()
        Evaluate the return value (or a possibly thrown Throwable) by invoking to method with the arguments on the wrapped object.
      • isEvaluated

        public boolean isEvaluated()
        Test if this invocation is already evaluated.
        Returns:
        true if evaluation has finished
      • resultOrThrow

        public java.lang.Object resultOrThrow()
                                       throws java.lang.Throwable
        Get the result or throwable of this invocation's evaluation.
        Returns:
        result result of evaluation
        Throws:
        java.lang.Throwable - throwable of evaluation