|
Agent System POND 1.0 (1.7.2000) | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--PkgAgentSystem.Messaging.Message
A message, which can be sent from one agent to another.
Subclasses MUST be serializable, else messaging will NOT work!
ATTENTION:
The following is NOT allowed:
If a message contains a system class or an agent-system class, this class MUST NOT
store a contained agent-class in binary form. It may contain it as an field.
If the data is automatically restored from the stream during deserialization or read through
readObject, there is no problem. Not allowed is reading it in as an byte array and restoring it
from a different (self created) ObjectInputStream (via a ByteArrayInputStream).
The problem is the following: When the class is deserialized through the classloader of the
receiving agent, this class will be loaded (ot tried to be loaded) by the classloader of the
system-class/agent-system class, which is the primordial classloader. If this is successful,
there will be no possibility to cast it to the local type of the agent (which is loaded
through the agents classloader!). The data will not be available for the receiver.
Example: java.security.SignedObject will not work.
Example: SignedMessage
PkgAgentSystem.Messaging.SignedMessage does work.
AgentBase
,
AgentSystem.sendMessage(AgentBase,Message)
, Serialized FormField Summary | |
protected AgentIdentity |
addressee
The recipient of the message. |
protected long |
convTypeID
ID of the type of the conversation, which handles this message. |
protected long |
destConvID
ID of the conversation at the destination of the message. |
protected AgentIdentity |
sender
The sender of the message |
protected long |
srcConvID
ID of the conversation at the source of the message. |
Constructor Summary | |
protected |
Message()
Create a new and empty message. |
protected |
Message(AgentIdentity sender,
AgentIdentity addressee,
long convTypeID,
long srcConvID,
long destConvID)
Creates a new message from one agent to another. |
protected |
Message(Message inReplyTo)
Create a new message in reply to another one. |
Method Summary | |
Message |
copy()
Returns a shallow copy of this message. |
AgentIdentity |
getAddressee()
Returns the identity of the recipient of the message. |
long |
getConversationTypeID()
Returns the ID of the type of conversations handling this message. |
long |
getDestConversationID()
Returns the ID of the conversation at the recipient of the message. |
AgentIdentity |
getSender()
Returns the identity of the sender of the message. |
long |
getSrcConversationID()
Returns the ID of the conversation at the sender of the message. |
void |
setDestConversationID(long id)
Set the ID for the conversation at the destination. |
void |
setSrcConversationID(long id)
Set the ID for the conversation at the sender. |
String |
toString()
Returns a string representation of this message. |
Methods inherited from class java.lang.Object |
|
Field Detail |
protected long srcConvID
protected long destConvID
protected long convTypeID
protected transient AgentIdentity sender
protected transient AgentIdentity addressee
BroadcastMessage
has a constructor where this is allowed/necessary
(broadcasts have no single recipient).Constructor Detail |
protected Message()
protected Message(AgentIdentity sender, AgentIdentity addressee, long convTypeID, long srcConvID, long destConvID)
sender
- the identity of the sender. Must be provided.addressee
- the identity of the recipient. Must be provided.convTypeID
- ID of the type of the conversation. Must not be 0.srcConvID
- ID of the conversation at the source. May be 0 for replies
to unknown conversations, ... (there is no conversation with those).destConvID
- ID of the conversation at the recipient. May be 0 for initial messages
(starting a conversation) and broadcasts.protected Message(Message inReplyTo)
Method Detail |
public void setDestConversationID(long id)
id
- the id of the conversation at the destination (may not be 0)public void setSrcConversationID(long id)
id
- the id of the conversation at the sender (may not be 0)public long getSrcConversationID()
public long getDestConversationID()
public long getConversationTypeID()
public AgentIdentity getSender()
public AgentIdentity getAddressee()
public Message copy() throws MessageException
public String toString()
|
Agent System POND 1.0 (1.7.2000) | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |