com.ejie.r01f.process
Class Job

java.lang.Object
  extended bycom.ejie.r01f.process.Job

public class Job
extends java.lang.Object

Definición de una llamada a un metodo en un objeto. - El metodo que se va a llamar - Los valores de los argumentos del metodo a llamar - El objeto que contiene el metodo que se va a llamar - El objeto que va a recibir la respuesta El objeto callBack puede ser de dos tipos: - Implementar el interfaz CallBackCapable, en cuyo caso ha de implementar los metodos receiveResponse() y receiveException() Si el objeto implementa el interfaz CallBackCapable, NO es obligatorio indicar el metodo que recibe la respuesta - Ser un objeto cualquiera, en cuyo caso hay que definir OBLIGATORIAMENTE el nombre del metodo que recibe la respuesta - El metodo a llamar en el objeto callBack para recibir la respuesta


Constructor Summary
Job()
          Constructor vacio
Job(java.lang.String newJobId, java.lang.Object newJobPerformerObj, java.lang.reflect.Method newJobPerformerMethod, java.lang.Object[] newJobPerformerMethodArgsValues, java.lang.Object newCallBackObj, java.lang.reflect.Method newCallBackMethod)
          Constructor
 
Method Summary
 java.lang.reflect.Method getCallBackMethod()
          Devuelve el metodo que se va a invocar cuando se ejecuta la operación.
 java.lang.Object getCallBackObject()
          Devuelve el objeto que va a recibir las llamadas callBack con el resultado de la ejecución El objeto debe implementar el interfaz CallBackCapable
 long getJobEnqueuedTimeStamp()
          Devuelve el timestamp del momento en que se encolo la llamada
 java.lang.String getJobId()
          Devuelve el identificador del trabajo
 long getJobPerformedTimeStamp()
          Devuelve el timestamp del momento en que se realizo la llamada
 java.lang.reflect.Method getJobPerformerMethod()
          Devuelve el metodo que realiza el trabajo
 java.lang.Object[] getJobPerformerMethodArgsValues()
          Devuelve los valores de los argumentos de llamada al metodo que realiza el trabajo
 java.lang.Object getJobPerformerObject()
          Devuelve el objeto sobre el que se invoca el metodo que realiza el trabajo
 long getJobStartedTimeStamp()
           
 java.lang.Object getResult()
          Devuelve el resultado de la llamada o lanza una excepcion en caso de que la llamada haya devuelto una excepcion
 boolean hasBeenStarted()
          Indica si el trabajo se ha empezado
 boolean isEnded()
          Indica si el trabajo se ha terminado
 void perform()
          Ejecuta el trabajo, llamando al metodo indicado en el objeto que se pasa como parametro y con los valores de los argumentos que tambien se pasan
 void setCallBackMethod(java.lang.reflect.Method newMethod)
          Establece el metodo que se va a invocar cuando se ejecuta la operacion
 void setCallBackObject(java.lang.Object newObj)
          Establece el objeto que va a recibir las llamadas callBack con el resultado de la ejecución El objeto callBack puede ser de dos tipos: - Implementar el interfaz CallBackCapable, en cuyo caso ha de implementar los metodos receiveResponse() y receiveException() Si el objeto implementa el interfaz CallBackCapable, NO es obligatorio indicar el metodo que recibe la respuesta - Ser un objeto cualquiera, en cuyo caso hay que definir OBLIGATORIAMENTE el nombre del metodo que recibe la respuesta
 void setJobId(java.lang.String newJobId)
          Establece el identificador del trabajo
 void setJobPerformerMethod(java.lang.reflect.Method m)
          Establece el metodo que realiza el trabajo
 void setJobPerformerMethodArgsValues(java.lang.Object[] argsValues)
          Establece los valores de los argumentos de llamada al metodo que realiza el trabajo
 void setJobPerformerObject(java.lang.Object jobPerformerObj)
          Establece el objeto que realiza el trabajo
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Job

public Job()
Constructor vacio


Job

public Job(java.lang.String newJobId,
           java.lang.Object newJobPerformerObj,
           java.lang.reflect.Method newJobPerformerMethod,
           java.lang.Object[] newJobPerformerMethodArgsValues,
           java.lang.Object newCallBackObj,
           java.lang.reflect.Method newCallBackMethod)
Constructor

Parameters:
newJobId - Identificador del trabajo (si no se pasa ninguno, se genera uno automáticamente)
newJobPerformerObj - Objeto que realiza el trabajo
newJobPerformerMethod - Metodo que se llama en el objeto anterior para realizar el trabajo
newJobPerformerMethodArgsValues - Argumentos el metodo anterior que realiza el trabajo
newCallBackObj - Objeto que recibe el callBack (puede ser null)
newCallBackMethod - Metodo que se llama en el objeto anterior para recibir el callBack
Method Detail

perform

public void perform()
Ejecuta el trabajo, llamando al metodo indicado en el objeto que se pasa como parametro y con los valores de los argumentos que tambien se pasan


getResult

public java.lang.Object getResult()
                           throws java.lang.Exception
Devuelve el resultado de la llamada o lanza una excepcion en caso de que la llamada haya devuelto una excepcion

Returns:
El objeto que devuelve la llamada al metodo si todo va correctamente
Throws:
java.lang.Exception - Si el metodo devuelve una excepcion

getJobId

public java.lang.String getJobId()
Devuelve el identificador del trabajo


setJobId

public void setJobId(java.lang.String newJobId)
Establece el identificador del trabajo

Parameters:
newJobId - El nuevo identificador

getJobPerformerObject

public java.lang.Object getJobPerformerObject()
Devuelve el objeto sobre el que se invoca el metodo que realiza el trabajo


setJobPerformerObject

public void setJobPerformerObject(java.lang.Object jobPerformerObj)
Establece el objeto que realiza el trabajo

Parameters:
jobPerformerObj -

getJobPerformerMethod

public java.lang.reflect.Method getJobPerformerMethod()
Devuelve el metodo que realiza el trabajo

Returns:
El metodo currela

setJobPerformerMethod

public void setJobPerformerMethod(java.lang.reflect.Method m)
Establece el metodo que realiza el trabajo

Parameters:
m - El metodo

getJobPerformerMethodArgsValues

public java.lang.Object[] getJobPerformerMethodArgsValues()
Devuelve los valores de los argumentos de llamada al metodo que realiza el trabajo

Returns:
Los valores de los argumentos

setJobPerformerMethodArgsValues

public void setJobPerformerMethodArgsValues(java.lang.Object[] argsValues)
Establece los valores de los argumentos de llamada al metodo que realiza el trabajo

Parameters:
argsValues - Los valores de los argumentos

getCallBackObject

public java.lang.Object getCallBackObject()
Devuelve el objeto que va a recibir las llamadas callBack con el resultado de la ejecución El objeto debe implementar el interfaz CallBackCapable

Returns:
El objeto que va a recibir las llamadas callBack

setCallBackObject

public void setCallBackObject(java.lang.Object newObj)
Establece el objeto que va a recibir las llamadas callBack con el resultado de la ejecución El objeto callBack puede ser de dos tipos: - Implementar el interfaz CallBackCapable, en cuyo caso ha de implementar los metodos receiveResponse() y receiveException() Si el objeto implementa el interfaz CallBackCapable, NO es obligatorio indicar el metodo que recibe la respuesta - Ser un objeto cualquiera, en cuyo caso hay que definir OBLIGATORIAMENTE el nombre del metodo que recibe la respuesta

Parameters:
newObj - El objeto capaz de recibir las llamadas callback

getCallBackMethod

public java.lang.reflect.Method getCallBackMethod()
Devuelve el metodo que se va a invocar cuando se ejecuta la operación.

Returns:
El metodo

setCallBackMethod

public void setCallBackMethod(java.lang.reflect.Method newMethod)
Establece el metodo que se va a invocar cuando se ejecuta la operacion

Parameters:
newMethod - El metodo a invocar

hasBeenStarted

public boolean hasBeenStarted()
Indica si el trabajo se ha empezado

Returns:
true si el trabajo se ha empezado y false si no lo ha sido

isEnded

public boolean isEnded()
Indica si el trabajo se ha terminado

Returns:
true si el trabajo se ha terminado y false si no lo ha sido

getJobEnqueuedTimeStamp

public long getJobEnqueuedTimeStamp()
Devuelve el timestamp del momento en que se encolo la llamada

Returns:
el timestamp tal y como lo devuelve System.currentTimeMillis

getJobStartedTimeStamp

public long getJobStartedTimeStamp()

getJobPerformedTimeStamp

public long getJobPerformedTimeStamp()
Devuelve el timestamp del momento en que se realizo la llamada

Returns:
el timestamp tal y como lo devuelve System.currentTimeMillis en el momento de finalizarse la llamada o Long.MIN_VALUE si la llamada NO se ha realizado