|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectunsw.cse.mica.sync.SynchronizedTransport
public class SynchronizedTransport
Constructor Summary | |
---|---|
SynchronizedTransport(Agent agent,
AgentTransport at)
|
Method Summary | |
---|---|
java.lang.String |
connect(java.lang.String agentName)
Connect to the blackboard. |
void |
deleteMob(java.lang.String mobName)
Delete a mob from the blackboard. |
void |
disconnect()
Disconnect from the Blackboard |
java.lang.String |
getAgentName()
Get the name that was provided for this agent at connection. |
TypeManager |
getTypeManager()
Request a Mob TypeManager. |
AgentTransport |
getUnderlyingTransport()
|
void |
handleDeletedMob(Mob mob)
This method is called whenever a non-transient MICA object is deleted from the blackboard that the agent has registered interest it. |
void |
handleNewMob(Mob mob)
See if there are any synchronized writers waiting for this mob. |
void |
handleReplacedMob(Mob oldMob,
Mob newMob)
This method is called whenever a mob is replaced on the blackboard with a type for which the agent has registered interest. |
void |
handleTypeManagerChanged()
Called by the AgentTransport whenever the blackboard's type manager has changed. |
boolean |
isConnected()
Check whether the transport is connected to the blackboard or not. |
java.util.List |
mobSearch(java.lang.String micaQuery)
Finds all mobs meeting the criteria. |
Mob |
readMob(java.lang.String mobName)
Retrieve a mob by its name. |
void |
register(java.lang.String mobType)
Allows the agent to register for events of a particular mobType. |
void |
replaceMob(Mob mob)
Replace a mob on the blackboard. |
void |
setMessageHandler(MessageHandler handler)
Tell the transport to use a new message handler. |
SynchronizedAgentActions.WriteReply |
synchronizedWriteMob(Mob mob,
long timeout)
|
void |
unregister(java.lang.String mobType)
Inform the blackboard that we are no longer interested in a particular type. |
java.lang.String |
writeMob(Mob mob)
Write a mob to the blackboard. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public SynchronizedTransport(Agent agent, AgentTransport at)
Method Detail |
---|
public java.lang.String getAgentName()
AgentTransport
getAgentName
in interface AgentTransport
public boolean isConnected()
AgentTransport
isConnected
in interface AgentTransport
public void setMessageHandler(MessageHandler handler)
AgentTransport
setMessageHandler
in interface AgentTransport
handler
- the new message handler for the transportpublic java.lang.String connect(java.lang.String agentName) throws TransportException
AgentActions
connect
in interface AgentActions
agentName
- The agent name proposed by the agent.
TransportException
public void deleteMob(java.lang.String mobName) throws TransportException, ActionException
AgentActions
deleteMob
in interface AgentActions
mobName
- the name of the mob to remove.
TransportException
- if the agent was not connected
ActionException
- if the requested mob doesn't existpublic void disconnect() throws TransportException
AgentActions
disconnect
in interface AgentActions
TransportException
public TypeManager getTypeManager() throws TransportException
AgentActions
getTypeManager
in interface AgentActions
TransportException
- if the agent was not connectedpublic java.util.List mobSearch(java.lang.String micaQuery) throws TransportException, ActionException
AgentActions
mobSearch
in interface AgentActions
micaQuery
- A query in the MicaQL query language.
TransportException
- if the agent was not connected
ActionException
- if the query was invalidpublic Mob readMob(java.lang.String mobName) throws TransportException, ActionException
AgentActions
readMob
in interface AgentActions
mobName
- the name of the Mob to retrieve.
TransportException
- if the agent was not connected
ActionException
- if the requested mob doesn't existpublic void register(java.lang.String mobType) throws TransportException, ActionException
AgentActions
Registration tells the blackboard that the agent is interested in mobs of a particular type.
If the securirty policy allows, the agent will be informed when mobs of this type are written
to the blackboard (via its handleNewMob
method) or when mobs of this type are
deleted from the blackboard (via its handleDeletedMob
method).
register
in interface AgentActions
mobType
- The type we are interested in
TransportException
- if the agent was not connected
ActionException
- if the requested type is not known.public void unregister(java.lang.String mobType) throws TransportException, ActionException
AgentActions
unregister
in interface AgentActions
mobType
- The type that the agent is no longer interested in hearing about.
TransportException
- if the agent was not connected
ActionException
- if the agent was not connected or if the requested type is not known.public java.lang.String writeMob(Mob mob) throws TransportException
AgentActions
writeMob
in interface AgentActions
TransportException
- if the agent was not connectedpublic void replaceMob(Mob mob) throws TransportException, ActionException
AgentActions
replaceMob
in interface AgentActions
mob
- the mob to be written. The mob's name must be specified and indicates the name
of the mob that will be replaced. The mob's type is ignored as the previous type will be carried over.
TransportException
- if the agent was not connected
ActionException
- if no mob existed with the given namepublic SynchronizedAgentActions.WriteReply synchronizedWriteMob(Mob mob, long timeout) throws TransportException
synchronizedWriteMob
in interface SynchronizedAgentActions
TransportException
public void handleNewMob(Mob mob)
handleNewMob
in interface MessageHandler
mob
- the mob that has been written to the blackboardpublic void handleDeletedMob(Mob mob)
MessageHandler
Whenever a mob is deleted from the blackboard that the agent has registered an interest in
the handleDeletedMob
method is called.
handleDeletedMob
in interface MessageHandler
mob
- the mob that has been deletedpublic void handleReplacedMob(Mob oldMob, Mob newMob)
MessageHandler
handleReplacedMob
in interface MessageHandler
oldMob
- the old value of the mob (where the name is cleared)newMob
- the new value of the mobpublic void handleTypeManagerChanged()
MessageHandler
handleTypeManagerChanged
in interface MessageHandler
public AgentTransport getUnderlyingTransport()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |