agentland.resource
Interface ResourceManager

All Known Subinterfaces:
EmptyResourceManager, Namer
All Known Implementing Classes:
NamerAgent

public interface ResourceManager
extends Agent


Fields inherited from interface metaglue.Agent
ALIVE, DIED, NO_METAGLUE, NOT_RUNNING, STARTING
 
Method Summary
 void addRequestHook(AgentID watcher)
          This is so agents can watch all resource requests on the java side and add/modify them if necessary/desired.
 boolean connect(AgentID start, AgentID end)
          Connect two agents together (in whatever sense makes sense.)
 Collection getAgentNames(AgentID id)
          Return any known String names for an agentID.
 ResourceBunch lookup(Request req, Context con, AgentID requestor)
          Get a list of things which match the name of request.
 void registerInstance(AgentID resID)
          Register a Managed Agent as alive and kicking.
 void removeRequestHook(AgentID watcher)
           
 void replaceFor(AgentID requestor, Resource res, Request req, Context con)
          On behalf of some agent, replace the resource named with some other requested resource and context as defined by the passed request
 ResourceBunch request(Request request, Context context, AgentID requestor)
           
 
Methods inherited from interface metaglue.Agent
addMonitor, alive, getAgentID, getMetaglueAgentID, shutdown, startup, whereAreYou
 

Method Detail

registerInstance

public void registerInstance(AgentID resID)
                      throws RemoteException
Register a Managed Agent as alive and kicking. Should be called in the agent's constructor.

request

public ResourceBunch request(Request request,
                             Context context,
                             AgentID requestor)
                      throws RemoteException

lookup

public ResourceBunch lookup(Request req,
                            Context con,
                            AgentID requestor)
                     throws RemoteException
Get a list of things which match the name of request. Do not actually request anything, just get the things that fill the request.

replaceFor

public void replaceFor(AgentID requestor,
                       Resource res,
                       Request req,
                       Context con)
                throws RemoteException
On behalf of some agent, replace the resource named with some other requested resource and context as defined by the passed request

connect

public boolean connect(AgentID start,
                       AgentID end)
                throws RemoteException
Connect two agents together (in whatever sense makes sense.)

addRequestHook

public void addRequestHook(AgentID watcher)
                    throws RemoteException
This is so agents can watch all resource requests on the java side and add/modify them if necessary/desired. (So a person locator can add person's location to request info.)

removeRequestHook

public void removeRequestHook(AgentID watcher)
                       throws RemoteException

getAgentNames

public Collection getAgentNames(AgentID id)
                         throws RemoteException
Return any known String names for an agentID. This can be used for speech recog, management of resource or whatall.