fr.lifl.magique
Class AbstractAgent

java.lang.Object
  extended byfr.lifl.magique.AbstractAgent
Direct Known Subclasses:
AtomicAgent

public abstract class AbstractAgent
extends java.lang.Object

Abstract base for Agent class. The of a agent is based on a short name given at creation. To this short name, the IP address (or hostname) of the host where the agent runs is added, as well as the port number of the platform. Therefore, name is of the form shortName@hostname:port (e.g. anAgent@here.domain.country:4444). An agent contains

This class contain some basic methods for sending messages, it allows to lighten Agent class.

See Also:
Agent, Message

Field Summary
protected  QuestionTable questionTable
          in order to manage the answer to a question I have asked, when it is known (it arrives from other comObject)
protected  MessageList toDo
          the FIFO list of messages to be treated
protected static int verboseLevel
          it is used to see trace messages. level 0 and 1 are kept for the user
 
Constructor Summary
AbstractAgent()
           
AbstractAgent(java.lang.String name)
           
 
Method Summary
 java.lang.String addAgenda(java.lang.String theOther)
          add a new ref to my agenda
 Request ask(Request question)
          ask to treat question and does not wait for the result
 Request ask(java.lang.String text)
          same as ask(Request) but Request is created from text
 Request ask(java.lang.String text, java.lang.Object param1)
          same as ask(Request) but Request is created from text and params Warning must not be used if param1 is a String
 Request ask(java.lang.String text, java.lang.Object[] params)
          same as ask(Request) but Request is created from text and params
 Request ask(java.lang.String text, java.lang.Object param1, java.lang.Object param2)
          same as ask(Request) but Request is created from text and params Warning must not be used if param1 is a String
 Request ask(java.lang.String text, java.lang.Object param1, java.lang.Object param2, java.lang.Object param3)
          same as ask(Request) but Request is created from text and params Warning must not be used if param1 is a String
 Request ask(java.lang.String text, java.lang.Object param1, java.lang.Object param2, java.lang.Object param3, java.lang.Object param4)
          same as ask(Request) but Request is created from text and params Warning must not be used if param1 is a String
 Request ask(java.lang.String to, Request question)
          ask to to to treats question and does not wait for the result
 Request ask(java.lang.String to, java.lang.String text)
          same as ask(to,Request) but Request is created from text
 Request ask(java.lang.String to, java.lang.String text, java.lang.Object param1)
          same as ask(to, Request) but Request is created from text and params
 Request ask(java.lang.String to, java.lang.String text, java.lang.Object[] params)
          same as ask(to, Request) but Request is created from text and params
 Request ask(java.lang.String to, java.lang.String text, java.lang.Object param1, java.lang.Object param2)
          same as ask(to, Request) but Request is created from text and params
 Request ask(java.lang.String to, java.lang.String text, java.lang.Object param1, java.lang.Object param2, java.lang.Object param3)
          same as ask(to, Request) but Request is created from text and params
 Request ask(java.lang.String to, java.lang.String text, java.lang.Object param1, java.lang.Object param2, java.lang.Object param3, java.lang.Object param4)
          same as ask(to, Request) but Request is created from text and params
 java.lang.Object askNow(Request question)
          treats a request and waits for the result and returns it
 java.lang.Object askNow(java.lang.String text)
          same as askNow(Request) but Request is created from text
 java.lang.Object askNow(java.lang.String text, java.lang.Object param1)
          same as askNow(Request) but Request is created from text and params Warning must not be used if param1 is a String
 java.lang.Object askNow(java.lang.String text, java.lang.Object[] params)
          same as askNow(Request) but Request is created from text and params
 java.lang.Object askNow(java.lang.String text, java.lang.Object param1, java.lang.Object param2)
          same as askNow(Request) but Request is created from text and params
 java.lang.Object askNow(java.lang.String text, java.lang.Object param1, java.lang.Object param2, java.lang.Object param3)
          same as askNow(Request) but Request is created from text and params Warning must not be used if param1 is a String
 java.lang.Object askNow(java.lang.String text, java.lang.Object param1, java.lang.Object param2, java.lang.Object param3, java.lang.Object param4)
          same as askNow(Request) but Request is created from text and params.
 java.lang.Object askNow(java.lang.String to, Request question)
          sends a request to to and waits for the result and returns it
 java.lang.Object askNow(java.lang.String to, java.lang.String text)
          same as askNow(to,Request) but Request is created from text
 java.lang.Object askNow(java.lang.String to, java.lang.String text, java.lang.Object param1)
          same as askNow(to, Request) but Request is created from text and params
 java.lang.Object askNow(java.lang.String to, java.lang.String text, java.lang.Object[] params)
          same as askNow(to, Request) but Request is created from text and params
 java.lang.Object askNow(java.lang.String to, java.lang.String text, java.lang.Object param1, java.lang.Object param2)
          same as askNow(to, Request) but Request is created from text and params Warning must not be used if param1 is a String
 java.lang.Object askNow(java.lang.String to, java.lang.String text, java.lang.Object param1, java.lang.Object param2, java.lang.Object param3)
          same as askNow(to, Request) but Request is created from text and params
 java.lang.Object askNow(java.lang.String to, java.lang.String text, java.lang.Object param1, java.lang.Object param2, java.lang.Object param3, java.lang.Object param4)
          same as askNow(to, Request) but Request is created from text and params
 Request concurrentAsk(Request question)
          ask to treat a concurrent question and does not wait for the result
 Request concurrentAsk(java.lang.String text)
          same as concurrentAsk(Request) but Request is created from text
 Request concurrentAsk(java.lang.String text, java.lang.Object param1)
          same as concurrentAsk(Request) but Request is created from text and params
 Request concurrentAsk(java.lang.String text, java.lang.Object[] params)
          same as concurrentAsk(Request) but Request is created from text and params
 Request concurrentAsk(java.lang.String text, java.lang.Object param1, java.lang.Object param2)
          same as concurrentAsk(Request) but Request is created from text and params
 Request concurrentAsk(java.lang.String text, java.lang.Object param1, java.lang.Object param2, java.lang.Object param3)
          same as concurrentAsk(Request) but Request is created from text and params
 Request concurrentAsk(java.lang.String text, java.lang.Object param1, java.lang.Object param2, java.lang.Object param3, java.lang.Object param4)
          same as concurrentAsk(Request) but Request is created from text and params
abstract  void concurrentPerform(Request request)
          treat a concurrent request
 Request createOrder(java.lang.String text)
          create a request with no args and with no required answer
 Request createOrder(java.lang.String text, java.lang.Object param1)
          create a request with 1 arg but no answer
 Request createOrder(java.lang.String text, java.lang.Object[] params)
          create a request with args but no answer
 Request createOrder(java.lang.String text, java.lang.Object param1, java.lang.Object param2)
          create a request with 2 args but no answer
 Request createOrder(java.lang.String text, java.lang.Object param1, java.lang.Object param2, java.lang.Object param3)
          create a request with 3 args but no answer
 Request createOrder(java.lang.String text, java.lang.Object param1, java.lang.Object param2, java.lang.Object param3, java.lang.Object param4)
          create a request with 4 args but no answer
 Request createQuestion(java.lang.String text)
          create a request with no arg but answer is required
 Request createQuestion(java.lang.String text, boolean isConcurrent)
          create a request with no arg but answer is required
 Request createQuestion(java.lang.String text, java.lang.Object param1)
          create a request with 1 arg and required answer
 Request createQuestion(java.lang.String text, java.lang.Object[] params)
          create a request with args and required answer
 Request createQuestion(java.lang.String text, java.lang.Object[] params, boolean isConcurrent)
          create a request with args and required answer
 Request createQuestion(java.lang.String text, java.lang.Object param1, java.lang.Object param2)
          create a request with 2 args and required answer
 Request createQuestion(java.lang.String text, java.lang.Object param1, java.lang.Object param2, java.lang.Object param3)
          create a request with 3 args and required answer
 Request createQuestion(java.lang.String text, java.lang.Object param1, java.lang.Object param2, java.lang.Object param3, java.lang.Object param4)
          create a request with 4 args and required answer
 void forgetQuestion(Request question)
          Removes question from questionTable
 Agenda getAgenda()
          returns my agenda
 java.lang.String getAnswerer(Request question)
          gets the answerer to a question
 Listener getListener()
          returns my listener
 java.lang.String getName()
          returns my name
 QuestionTable getQuestionTable()
          returns my QuestionTable
 MessageList getToDo()
          returns the list of messages I still have to execute
static int getVerboseLevel()
          gets the verboseLevel
protected  Request interprete(Request request)
          invoke request : text is a known method name.
 boolean isAnswerReceived(Request question)
          Returns true iff answer to question has been received
abstract  void perform(Request request)
          treat a request
 void perform(java.lang.String text)
          same as perform(Request) but Request is created from text
 void perform(java.lang.String text, java.lang.Object param1)
          same as perform(Request) but Request is created from text and params Warning must not be used if param1 is a String
 void perform(java.lang.String text, java.lang.Object[] params)
          same as perform(Request) but Request is created from text and params
 void perform(java.lang.String text, java.lang.Object param1, java.lang.Object param2)
          same as perform(Request) but Request is created from text and params Warning must not be used if param1 is a String
 void perform(java.lang.String text, java.lang.Object param1, java.lang.Object param2, java.lang.Object param3)
          same as perform(Request) but Request is created from text and params Warning must not be used if param1 is a String
 void perform(java.lang.String text, java.lang.Object param1, java.lang.Object param2, java.lang.Object param3, java.lang.Object param4)
          same as perform(Request) but Request is created from text and params Warning must not be used if param1 is a String
 void perform(java.lang.String to, Request order)
          delegate to to an order to be treated
 void perform(java.lang.String to, java.lang.String text)
          same as perform(to,Request) but Request is created from text
 void perform(java.lang.String to, java.lang.String text, java.lang.Object param1)
          same as perform(to, Request) but Request is created from text and params Warning must not be used if param1 is a String
 void perform(java.lang.String to, java.lang.String text, java.lang.Object[] params)
          same as perform(to, Request) but Request is created from text and params
 void perform(java.lang.String to, java.lang.String text, java.lang.Object param1, java.lang.Object param2)
          same as perform(to, Request) but Request is created from text and params
 void perform(java.lang.String to, java.lang.String text, java.lang.Object param1, java.lang.Object param2, java.lang.Object param3)
          same as perform(to, Request) but Request is created from text and params
 void perform(java.lang.String to, java.lang.String text, java.lang.Object param1, java.lang.Object param2, java.lang.Object param3, java.lang.Object param4)
          same as perform(to, Request) but Request is created from text and params
protected  void processAnswer(Request question)
          process an answer (to me)
 void processRequest(Request request)
          process a received Request object, it can be an answer to one of my request, back an answer to someone else back on the way to its creator a request to treat
 Answer returnAnswer(Request question)
          gets the answer to a question : must wait until this answer comes back, so it is blocking.
 java.lang.Object returnValue(Request question)
          gets the value of the answer to a question : must wait until this answer comes back, so it is blocking.
abstract  void send(java.lang.String to, Message msg)
          send a message to to through the appropriate canalComm.
 void setName(java.lang.String name)
          sets the name
 void setQuestionTable(QuestionTable questionTable)
          sets my QuestionTable
static void setVerboseLevel(int level)
          sets the verbose level
 void stopListener()
          stops the listener : no more requests are treated
static void verbose(int level, java.lang.String msg)
          display a message (standard out) if current verboseLevel is at least level
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

toDo

protected MessageList toDo
the FIFO list of messages to be treated


questionTable

protected QuestionTable questionTable
in order to manage the answer to a question I have asked, when it is known (it arrives from other comObject)


verboseLevel

protected static int verboseLevel
it is used to see trace messages. level 0 and 1 are kept for the user

Constructor Detail

AbstractAgent

public AbstractAgent()

AbstractAgent

public AbstractAgent(java.lang.String name)
Method Detail

getName

public java.lang.String getName()
returns my name

Returns:
my name

getToDo

public MessageList getToDo()
returns the list of messages I still have to execute

Returns:
the list of messages I still have to execute

getAgenda

public Agenda getAgenda()
returns my agenda

Returns:
my agenda

getQuestionTable

public QuestionTable getQuestionTable()
returns my QuestionTable

Returns:
my QuestionTable

getListener

public Listener getListener()
returns my listener

Returns:
my listener

setQuestionTable

public void setQuestionTable(QuestionTable questionTable)
sets my QuestionTable


setName

public void setName(java.lang.String name)
sets the name

Parameters:
name - my name

addAgenda

public java.lang.String addAgenda(java.lang.String theOther)
add a new ref to my agenda

Parameters:
theOther - name of other side comObject
Returns:
the name of the agent i connect to

send

public abstract void send(java.lang.String to,
                          Message msg)
send a message to to through the appropriate canalComm.

Parameters:
to - name of recipient
msg - message to be sent
See Also:
Serializable

getVerboseLevel

public static int getVerboseLevel()
gets the verboseLevel


setVerboseLevel

public static void setVerboseLevel(int level)
sets the verbose level

Parameters:
level - the value to set

verbose

public static void verbose(int level,
                           java.lang.String msg)
display a message (standard out) if current verboseLevel is at least level

Parameters:
level - the verbose level from which the message will be displayed
msg - the message to display

createOrder

public Request createOrder(java.lang.String text)
create a request with no args and with no required answer

Parameters:
text - the text of request
Returns:
the created request

createOrder

public Request createOrder(java.lang.String text,
                           java.lang.Object[] params)
create a request with args but no answer

Parameters:
text - request text
params - parameters array
Returns:
created request

createOrder

public Request createOrder(java.lang.String text,
                           java.lang.Object param1)
create a request with 1 arg but no answer

Parameters:
text - request text
param1 - parameter
Returns:
created request

createOrder

public Request createOrder(java.lang.String text,
                           java.lang.Object param1,
                           java.lang.Object param2)
create a request with 2 args but no answer

Parameters:
text - request text
param1 - parameter 1
param2 - parameter 2
Returns:
created request

createOrder

public Request createOrder(java.lang.String text,
                           java.lang.Object param1,
                           java.lang.Object param2,
                           java.lang.Object param3)
create a request with 3 args but no answer

Parameters:
text - request text
param1 - parameter 1
param2 - parameter 2
param3 - parameter 3
Returns:
created request

createOrder

public Request createOrder(java.lang.String text,
                           java.lang.Object param1,
                           java.lang.Object param2,
                           java.lang.Object param3,
                           java.lang.Object param4)
create a request with 4 args but no answer

Parameters:
text - request text
param1 - parameter 1
param2 - parameter 2
param3 - parameter 3
param4 - parameter 4
Returns:
created request

createQuestion

public Request createQuestion(java.lang.String text)
create a request with no arg but answer is required

Parameters:
text - text of request
Returns:
created request

createQuestion

public Request createQuestion(java.lang.String text,
                              java.lang.Object[] params)
create a request with args and required answer

Parameters:
text - text of request
params - array of args
Returns:
created request

createQuestion

public Request createQuestion(java.lang.String text,
                              java.lang.Object param1)
create a request with 1 arg and required answer

Parameters:
text - text of request
param1 - arg 1
Returns:
created request

createQuestion

public Request createQuestion(java.lang.String text,
                              java.lang.Object param1,
                              java.lang.Object param2)
create a request with 2 args and required answer

Parameters:
text - text of request
param1 - arg 1
param2 - arg 2
Returns:
created request

createQuestion

public Request createQuestion(java.lang.String text,
                              java.lang.Object param1,
                              java.lang.Object param2,
                              java.lang.Object param3)
create a request with 3 args and required answer

Parameters:
text - text of request
param1 - arg 1
param2 - arg 2
param3 - arg 3
Returns:
created request

createQuestion

public Request createQuestion(java.lang.String text,
                              java.lang.Object param1,
                              java.lang.Object param2,
                              java.lang.Object param3,
                              java.lang.Object param4)
create a request with 4 args and required answer

Parameters:
text - text of request
param1 - arg 1
param2 - arg 2
param3 - arg 3
param4 - arg 4
Returns:
created request

createQuestion

public Request createQuestion(java.lang.String text,
                              boolean isConcurrent)
create a request with no arg but answer is required

Parameters:
text - text of request
isConcurrent - if true then question is concurrent...
Returns:
created request

createQuestion

public Request createQuestion(java.lang.String text,
                              java.lang.Object[] params,
                              boolean isConcurrent)
create a request with args and required answer

Parameters:
text - text of request
params - args (vector)
isConcurrent - if true then question is concurrent...
Returns:
created request

interprete

protected Request interprete(Request request)
invoke request : text is a known method name. If it is a question, answer is replied.

Parameters:
request - the request to interprete
Returns:
the request with its answer field updated with invocation result (null if no answer is required)

processRequest

public void processRequest(Request request)
process a received Request object, it can be

Parameters:
request - request to handle

processAnswer

protected void processAnswer(Request question)
process an answer (to me)


perform

public abstract void perform(Request request)
treat a request

Parameters:
request - the request to be treated
Returns:
no return value

concurrentPerform

public abstract void concurrentPerform(Request request)
treat a concurrent request

Parameters:
request - the request to be treated
Returns:
no return value

perform

public void perform(java.lang.String to,
                    Request order)
delegate to to an order to be treated

Parameters:
to - recipient of order

perform

public void perform(java.lang.String text)
same as perform(Request) but Request is created from text

Parameters:
text - text of the request

perform

public void perform(java.lang.String text,
                    java.lang.Object[] params)
same as perform(Request) but Request is created from text and params

Parameters:
text - text of the request

perform

public void perform(java.lang.String to,
                    java.lang.String text)
same as perform(to,Request) but Request is created from text

Parameters:
to - recipient of request
text - text of the request

perform

public void perform(java.lang.String to,
                    java.lang.String text,
                    java.lang.Object[] params)
same as perform(to, Request) but Request is created from text and params

Parameters:
to - recipient of request
text - text of the request

isAnswerReceived

public boolean isAnswerReceived(Request question)
Returns true iff answer to question has been received

Parameters:
question - the question to test
Returns:
true iff answer to question has been received

forgetQuestion

public void forgetQuestion(Request question)
Removes question from questionTable

Parameters:
question - the question to remove

returnValue

public java.lang.Object returnValue(Request question)
gets the value of the answer to a question : must wait until this answer comes back, so it is blocking. You can get the value only once.

Parameters:
question - question to get the answer to
Returns:
the answer (an Object)

returnAnswer

public Answer returnAnswer(Request question)
gets the answer to a question : must wait until this answer comes back, so it is blocking. You can get the answer only once.

Parameters:
question - question to get the answer to
Returns:
the answer (an Object)

getAnswerer

public java.lang.String getAnswerer(Request question)
gets the answerer to a question

Parameters:
question - question to get the answer to
Returns:
the answer (an Object)

ask

public Request ask(Request question)
ask to treat question and does not wait for the result

Parameters:
question - the question
Returns:
the asked question

ask

public Request ask(java.lang.String to,
                   Request question)
ask to to to treats question and does not wait for the result

Parameters:
to - recipient of question
question - the question
Returns:
the asked question

ask

public Request ask(java.lang.String text)
same as ask(Request) but Request is created from text

Parameters:
text - text of the request
Returns:
the asked question
See Also:
ask(Request)

ask

public Request ask(java.lang.String text,
                   java.lang.Object[] params)
same as ask(Request) but Request is created from text and params

Parameters:
text - text of the request
params - parameters of request
Returns:
the asked question
See Also:
ask(Request)

ask

public Request ask(java.lang.String to,
                   java.lang.String text)
same as ask(to,Request) but Request is created from text

Parameters:
to - recipient of request
text - text of the request
Returns:
the asked question
See Also:
ask(String,Request)

ask

public Request ask(java.lang.String to,
                   java.lang.String text,
                   java.lang.Object[] params)
same as ask(to, Request) but Request is created from text and params

Parameters:
to - recipient of request
text - text of the request
Returns:
the asked question
See Also:
ask(String,Request)

askNow

public java.lang.Object askNow(Request question)
treats a request and waits for the result and returns it

Parameters:
question - the question
Returns:
the answer (an Object)

askNow

public java.lang.Object askNow(java.lang.String to,
                               Request question)
sends a request to to and waits for the result and returns it

Parameters:
to - recipient of order
question - the question
Returns:
the answer (an Object)

askNow

public java.lang.Object askNow(java.lang.String text)
same as askNow(Request) but Request is created from text

Parameters:
text - text of the request
Returns:
the answer (an Object)
See Also:
askNow(Request)

askNow

public java.lang.Object askNow(java.lang.String text,
                               java.lang.Object[] params)
same as askNow(Request) but Request is created from text and params

Parameters:
text - text of the request
Returns:
the answer (an Object)
See Also:
askNow(Request)

askNow

public java.lang.Object askNow(java.lang.String to,
                               java.lang.String text)
same as askNow(to,Request) but Request is created from text

Parameters:
to - recipient of request
text - text of the request
Returns:
the answer (an Object)
See Also:
askNow(String,Request)

askNow

public java.lang.Object askNow(java.lang.String to,
                               java.lang.String text,
                               java.lang.Object[] params)
same as askNow(to, Request) but Request is created from text and params

Parameters:
to - recipient of request
text - text of the request
Returns:
the answer (an Object)
See Also:
askNow(String,Request)

stopListener

public void stopListener()
stops the listener : no more requests are treated

See Also:
Listener

perform

public void perform(java.lang.String text,
                    java.lang.Object param1)
same as perform(Request) but Request is created from text and params Warning must not be used if param1 is a String

Parameters:
text - text of the request
param1 - the first (and unique) parameter of request (Beware : since, the name of an agent is not cleanly typed by a particular class, you MUST NOT use this syntax if param1 is a java.lang.String instance)

perform

public void perform(java.lang.String to,
                    java.lang.String text,
                    java.lang.Object param1)
same as perform(to, Request) but Request is created from text and params Warning must not be used if param1 is a String

Parameters:
to - recipient of request
text - text of the request
param1 - the first (and unique) parameter of request

perform

public void perform(java.lang.String text,
                    java.lang.Object param1,
                    java.lang.Object param2)
same as perform(Request) but Request is created from text and params Warning must not be used if param1 is a String

Parameters:
text - text of the request
param1 - the first parameter of request (Beware : since, the name of an agent is not cleanly typed by a particular class, you MUST NOT use this syntax if param1 is a java.lang.String instance)
param2 - the second parameter of request

perform

public void perform(java.lang.String to,
                    java.lang.String text,
                    java.lang.Object param1,
                    java.lang.Object param2)
same as perform(to, Request) but Request is created from text and params

Parameters:
to - recipient of request
text - text of the request
param1 - the first parameter of request
param2 - the second parameter of request

perform

public void perform(java.lang.String text,
                    java.lang.Object param1,
                    java.lang.Object param2,
                    java.lang.Object param3)
same as perform(Request) but Request is created from text and params Warning must not be used if param1 is a String

Parameters:
text - text of the request
param1 - the first parameter of request (Beware : since, the name of an agent is not cleanly typed by a particular class, you MUST NOT use this syntax if param1 is a java.lang.String instance)
param2 - the second parameter of request
param3 - the third parameter of request

perform

public void perform(java.lang.String to,
                    java.lang.String text,
                    java.lang.Object param1,
                    java.lang.Object param2,
                    java.lang.Object param3)
same as perform(to, Request) but Request is created from text and params

Parameters:
to - recipient of request
text - text of the request
param1 - the first parameter of request
param2 - the second parameter of request
param3 - the third parameter of request

perform

public void perform(java.lang.String text,
                    java.lang.Object param1,
                    java.lang.Object param2,
                    java.lang.Object param3,
                    java.lang.Object param4)
same as perform(Request) but Request is created from text and params Warning must not be used if param1 is a String

Parameters:
text - text of the request
param1 - the first parameter of request (Beware : since, the name of an agent is not cleanly typed by a particular class, you MUST NOT use this syntax if param1 is a java.lang.String instance)
param2 - the second parameter of request
param3 - the third parameter of request
param4 - the fourth parameter of request

perform

public void perform(java.lang.String to,
                    java.lang.String text,
                    java.lang.Object param1,
                    java.lang.Object param2,
                    java.lang.Object param3,
                    java.lang.Object param4)
same as perform(to, Request) but Request is created from text and params

Parameters:
to - recipient of request
text - text of the request
param1 - the first parameter of request
param2 - the second parameter of request
param3 - the third parameter of request
param4 - the third parameter of request

ask

public Request ask(java.lang.String text,
                   java.lang.Object param1)
same as ask(Request) but Request is created from text and params Warning must not be used if param1 is a String

Parameters:
text - text of the request
param1 - the first (and unique) parameter of request
Returns:
the asked question

ask

public Request ask(java.lang.String to,
                   java.lang.String text,
                   java.lang.Object param1)
same as ask(to, Request) but Request is created from text and params

Parameters:
to - recipient of request
text - text of the request
param1 - the first (and unique) parameter of request (Beware : since, the name of an agent is not cleanly typed by a particular class, you MUST NOT use this syntax if param1 is a java.lang.String instance)
Returns:
the asked question

ask

public Request ask(java.lang.String text,
                   java.lang.Object param1,
                   java.lang.Object param2)
same as ask(Request) but Request is created from text and params Warning must not be used if param1 is a String

Parameters:
text - text of the request
param1 - the first parameter of request (Beware : since, the name of an agent is not cleanly typed by a particular class, you MUST NOT use this syntax if param1 is a java.lang.String instance)
param2 - the second parameter of request
Returns:
the asked question

ask

public Request ask(java.lang.String to,
                   java.lang.String text,
                   java.lang.Object param1,
                   java.lang.Object param2)
same as ask(to, Request) but Request is created from text and params

Parameters:
to - recipient of request
text - text of the request
param1 - the first parameter of request
param2 - the second parameter of request
Returns:
the asked question

ask

public Request ask(java.lang.String text,
                   java.lang.Object param1,
                   java.lang.Object param2,
                   java.lang.Object param3)
same as ask(Request) but Request is created from text and params Warning must not be used if param1 is a String

Parameters:
text - text of the request
param1 - the first parameter of request (Beware : since, the name of an agent is not cleanly typed by a particular class, you MUST NOT use this syntax if param1 is a java.lang.String instance)
param2 - the second parameter of request
param3 - the third parameter of request
Returns:
the asked question

ask

public Request ask(java.lang.String to,
                   java.lang.String text,
                   java.lang.Object param1,
                   java.lang.Object param2,
                   java.lang.Object param3)
same as ask(to, Request) but Request is created from text and params

Parameters:
to - recipient of request
text - text of the request
param1 - the first parameter of request
param2 - the second parameter of request
param3 - the third parameter of request
Returns:
the asked question

ask

public Request ask(java.lang.String text,
                   java.lang.Object param1,
                   java.lang.Object param2,
                   java.lang.Object param3,
                   java.lang.Object param4)
same as ask(Request) but Request is created from text and params Warning must not be used if param1 is a String

Parameters:
text - text of the request
param1 - the first parameter of request (Beware : since, the name of an agent is not cleanly typed by a particular class, you MUST NOT use this syntax if param1 is a java.lang.String instance)
param2 - the second parameter of request
param3 - the third parameter of request
param4 - the fourth parameter of request
Returns:
the asked question

ask

public Request ask(java.lang.String to,
                   java.lang.String text,
                   java.lang.Object param1,
                   java.lang.Object param2,
                   java.lang.Object param3,
                   java.lang.Object param4)
same as ask(to, Request) but Request is created from text and params

Parameters:
to - recipient of request
text - text of the request
param1 - the first parameter of request
param2 - the second parameter of request
param3 - the third parameter of request
param4 - the third parameter of request
Returns:
the asked question

askNow

public java.lang.Object askNow(java.lang.String text,
                               java.lang.Object param1)
same as askNow(Request) but Request is created from text and params Warning must not be used if param1 is a String

Parameters:
text - text of the request
param1 - the first (and unique) parameter of request (Beware : since, the name of an agent is not cleanly typed by a particular class, you MUST NOT use this syntax if param1 is a java.lang.String instance)
Returns:
the answer (an Object)

askNow

public java.lang.Object askNow(java.lang.String to,
                               java.lang.String text,
                               java.lang.Object param1)
same as askNow(to, Request) but Request is created from text and params

Parameters:
to - recipient of request
text - text of the request
param1 - the first (and unique) parameter of request
Returns:
the answer (an Object)

askNow

public java.lang.Object askNow(java.lang.String text,
                               java.lang.Object param1,
                               java.lang.Object param2)
same as askNow(Request) but Request is created from text and params

Parameters:
text - text of the request
param1 - the first parameter of request
param2 - the second parameter of request (Beware : since, the name of an agent is not cleanly typed by a particular class, you MUST NOT use this syntax if param1 is a java.lang.String instance)
Returns:
the answer (an Object)

askNow

public java.lang.Object askNow(java.lang.String to,
                               java.lang.String text,
                               java.lang.Object param1,
                               java.lang.Object param2)
same as askNow(to, Request) but Request is created from text and params Warning must not be used if param1 is a String

Parameters:
to - recipient of request
text - text of the request
param1 - the first parameter of request
param2 - the second parameter of request
Returns:
the answer (an Object)

askNow

public java.lang.Object askNow(java.lang.String text,
                               java.lang.Object param1,
                               java.lang.Object param2,
                               java.lang.Object param3)
same as askNow(Request) but Request is created from text and params Warning must not be used if param1 is a String

Parameters:
text - text of the request
param1 - the first parameter of request (Beware : since, the name of an agent is not cleanly typed by a particular class, you MUST NOT use this syntax if param1 is a java.lang.String instance)
param2 - the second parameter of request
param3 - the third parameter of request
Returns:
the answer (an Object)

askNow

public java.lang.Object askNow(java.lang.String to,
                               java.lang.String text,
                               java.lang.Object param1,
                               java.lang.Object param2,
                               java.lang.Object param3)
same as askNow(to, Request) but Request is created from text and params

Parameters:
to - recipient of request
text - text of the request
param1 - the first parameter of request
param2 - the second parameter of request
param3 - the third parameter of request
Returns:
the answer (an Object)

askNow

public java.lang.Object askNow(java.lang.String text,
                               java.lang.Object param1,
                               java.lang.Object param2,
                               java.lang.Object param3,
                               java.lang.Object param4)
same as askNow(Request) but Request is created from text and params. Warning must not be used if param1 is a String

Parameters:
text - text of the request
param1 - the first parameter of request (Beware : since, the name of an agent is not cleanly typed by a particular class, you MUST NOT use this syntax if param1 is a java.lang.String instance)
param2 - the second parameter of request
param3 - the third parameter of request
param4 - the fourth parameter of request
Returns:
the answer (an Object)

askNow

public java.lang.Object askNow(java.lang.String to,
                               java.lang.String text,
                               java.lang.Object param1,
                               java.lang.Object param2,
                               java.lang.Object param3,
                               java.lang.Object param4)
same as askNow(to, Request) but Request is created from text and params

Parameters:
to - recipient of request
text - text of the request
param1 - the first parameter of request
param2 - the second parameter of request
param3 - the third parameter of request
param4 - the third parameter of request
Returns:
the answer (an Object)

concurrentAsk

public Request concurrentAsk(Request question)
ask to treat a concurrent question and does not wait for the result

Parameters:
question - the question
Returns:
the asked question

concurrentAsk

public Request concurrentAsk(java.lang.String text)
same as concurrentAsk(Request) but Request is created from text

Parameters:
text - text of the request
Returns:
the asked question
See Also:
concurrentAsk(Request)

concurrentAsk

public Request concurrentAsk(java.lang.String text,
                             java.lang.Object[] params)
same as concurrentAsk(Request) but Request is created from text and params

Parameters:
text - text of the request
params - parameters of request
Returns:
the asked question
See Also:
concurrentAsk(Request)

concurrentAsk

public Request concurrentAsk(java.lang.String text,
                             java.lang.Object param1)
same as concurrentAsk(Request) but Request is created from text and params

Parameters:
text - text of the request
param1 - the first (and unique) parameter of request
Returns:
the asked question

concurrentAsk

public Request concurrentAsk(java.lang.String text,
                             java.lang.Object param1,
                             java.lang.Object param2)
same as concurrentAsk(Request) but Request is created from text and params

Parameters:
text - text of the request
param1 - the first parameter of request
param2 - the second parameter of request
Returns:
the asked question

concurrentAsk

public Request concurrentAsk(java.lang.String text,
                             java.lang.Object param1,
                             java.lang.Object param2,
                             java.lang.Object param3)
same as concurrentAsk(Request) but Request is created from text and params

Parameters:
text - text of the request
param1 - the first parameter of request
param2 - the second parameter of request
param3 - the third parameter of request
Returns:
the asked question

concurrentAsk

public Request concurrentAsk(java.lang.String text,
                             java.lang.Object param1,
                             java.lang.Object param2,
                             java.lang.Object param3,
                             java.lang.Object param4)
same as concurrentAsk(Request) but Request is created from text and params

Parameters:
text - text of the request
param1 - the first parameter of request
param2 - the second parameter of request
param3 - the third parameter of request
param4 - the fourth parameter of request
Returns:
the asked question