com.ejie.r01f.rpcdispatcher
Class RPCCall

java.lang.Object
  extended bycom.ejie.r01f.rpcdispatcher.RPCCall
All Implemented Interfaces:
java.io.Serializable

public class RPCCall
extends java.lang.Object
implements java.io.Serializable

Modela una llamada RPC

See Also:
Serialized Form

Constructor Summary
RPCCall()
          Creates new RPCCall
RPCCall(java.lang.String inModuleName)
          Constructor en base al nombre del modulo
RPCCall(java.lang.String inModuleName, java.lang.String inThreadName)
          Constructor en base al nombre del modulo y al nombre del thread
 
Method Summary
 boolean addFunction(RPCFunction newFunction)
          Introduce una función en la lista
 RPCFunction getFunction(int inIndex)
          Obtiene una funcion
 java.util.Collection getFunctions()
          Obtiene un conjunto de funciones a llamar
 java.lang.StringBuffer getJavaScript()
          Obtiene el JavaScript que compone la llamada RPC var rpcCall = new RPC("module_name"); var functionToCall = new FunctionElement("function_name"); functionToCall.addParam( new Parameter("param_name","param_type","param_value") ); ....
 java.lang.String getModule()
          Devuelve el nombre del modulo
 void loadFromXML(java.io.InputStream is)
          Carga la llamada RPC desde XML
 void setModule(java.lang.String newModule)
          Establece el nombre del modulo
 java.lang.String toString()
          Devuelve la función en formato cadena
 java.lang.String toURLEncodedString()
          Devuelve la llamada a funcion en forma de una query string para incluirla en una llamada al Servlet: http://addr/app/rpcServlet?
 java.lang.String toXML()
          Devuelve la función en formato XML
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RPCCall

public RPCCall()
Creates new RPCCall


RPCCall

public RPCCall(java.lang.String inModuleName)
Constructor en base al nombre del modulo

Parameters:
inModuleName -

RPCCall

public RPCCall(java.lang.String inModuleName,
               java.lang.String inThreadName)
Constructor en base al nombre del modulo y al nombre del thread

Parameters:
inModuleName -
inThreadName -
Method Detail

addFunction

public boolean addFunction(RPCFunction newFunction)
Introduce una función en la lista

Parameters:
newFunction - La nueva función
Returns:
True o False dependiendo si se inserta bien o mal

getFunction

public RPCFunction getFunction(int inIndex)
Obtiene una funcion

Parameters:
inIndex - El indice de la función a llamar
Returns:
La funcion

getFunctions

public java.util.Collection getFunctions()
Obtiene un conjunto de funciones a llamar

Returns:
(Collection): Las funciones a llamar

setModule

public void setModule(java.lang.String newModule)
Establece el nombre del modulo

Parameters:
newModule - El nombre

getModule

public java.lang.String getModule()
Devuelve el nombre del modulo

Returns:
el nombre del modulo

loadFromXML

public void loadFromXML(java.io.InputStream is)
                 throws org.xml.sax.SAXException
Carga la llamada RPC desde XML

Parameters:
is - El inputStream con el xml
Throws:
org.xml.sax.SAXException - si no se puede parsear la llamada XML

getJavaScript

public java.lang.StringBuffer getJavaScript()
Obtiene el JavaScript que compone la llamada RPC var rpcCall = new RPC("module_name"); var functionToCall = new FunctionElement("function_name"); functionToCall.addParam( new Parameter("param_name","param_type","param_value") ); .... rpcCall.addFunction(functionToCall);


toXML

public java.lang.String toXML()
Devuelve la función en formato XML

Returns:
el xml en forma de string

toURLEncodedString

public java.lang.String toURLEncodedString()
Devuelve la llamada a funcion en forma de una query string para incluirla en una llamada al Servlet: http://addr/app/rpcServlet?module=____&function=____¶m1=____¶m2=____&... En este caso hay una serie de restricciones: - Solo se puede llamar a una funcion (no a varias como en el caso de RPC XML) (si hay mas de una solo se codifica la primera) - Los parametros de la funcion SOLO pueden ser tipo String - Los parametros en la URL tienen que tener el fomato param1, param2, param3... Deben ser consecutivos y no puede faltar ninguno.


toString

public java.lang.String toString()
Devuelve la función en formato cadena