zeus.actors
Class AbilityDb

java.lang.Object
  extended byjava.util.Dictionary
      extended byjava.util.Hashtable
          extended byzeus.actors.AbilityDb
All Implemented Interfaces:
java.lang.Cloneable, java.util.Map, java.io.Serializable
Direct Known Subclasses:
OrganisationDb

public class AbilityDb
extends java.util.Hashtable

This class implements the Ability Database component, which stores the acquaintances of the owning agent. Each acquaintance consists of an agent identity and the abilities that agent is believed to possess (these are stored as AbilityDbItem objects).

Every Zeus agent has an AbilityDb instance, a reference to which is stored in its AgentContext object.

Change log ---------- 12-06-01 Added agentName and genSym to facilitate intialisation from extended types. also altered init functions.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class java.util.Hashtable
 
Field Summary
private static int ACCESS
           
private static int ADD
           
protected  java.lang.String agentName
           
protected  AgentContext context
           
private static int DELETE
           
private  HSet[] eventMonitor
           
protected  GenSym gensym
           
protected  java.util.Vector knownAgents
           
private static int MODIFY
           
 
Fields inherited from class java.util.Hashtable
 
Constructor Summary
AbilityDb()
           
AbilityDb(AgentContext context)
           
 
Method Summary
 java.util.Vector abilitiesOf(java.lang.String person)
           
 void add(AbilityDbItem item)
           
 void add(java.lang.String type, AbilityDbItem ability_item)
           
 void add(java.lang.String agent, AbilitySpec ability)
           
 void add(java.lang.String item, java.util.Vector List)
           
 void add(java.util.Vector List)
           
 void addAbilityMonitor(AbilityMonitor monitor, long type)
           
 void addAbilityMonitor(AbilityMonitor monitor, long event_type, boolean notify_previous)
           
protected  boolean addItem(java.lang.String name, java.util.Vector List)
           
 void del(java.lang.String type, AbilityDbItem item)
           
 void del(java.lang.String agent, AbilitySpec ability)
           
 void del(java.lang.String item, java.util.Vector List)
           
 java.util.Vector findAll(AbilitySpec ability)
           
 AbilityDbItem findOne(AbilitySpec ability)
           
 AgentContext getAgentContext()
           
private  boolean member(AbilityDbItem item, java.util.Vector List)
           
 void modify(AbilityDbItem previousItem, AbilityDbItem newItem)
           
private  void notifyMonitors(AbilityDbItem ability, int type)
           
protected  java.util.Vector reduce(java.util.Vector List, AbilitySpec ability)
           
 void removeAbilityMonitor(AbilityMonitor monitor, long type)
           
 
Methods inherited from class java.util.Hashtable
clear, clone, contains, containsKey, containsValue, elements, entrySet, equals, get, hashCode, isEmpty, keys, keySet, put, putAll, rehash, remove, size, toString, values
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

eventMonitor

private HSet[] eventMonitor

ADD

private static final int ADD
See Also:
Constant Field Values

MODIFY

private static final int MODIFY
See Also:
Constant Field Values

DELETE

private static final int DELETE
See Also:
Constant Field Values

ACCESS

private static final int ACCESS
See Also:
Constant Field Values

knownAgents

protected java.util.Vector knownAgents

context

protected AgentContext context

gensym

protected GenSym gensym

agentName

protected java.lang.String agentName
Constructor Detail

AbilityDb

public AbilityDb()

AbilityDb

public AbilityDb(AgentContext context)
Method Detail

getAgentContext

public AgentContext getAgentContext()

addItem

protected boolean addItem(java.lang.String name,
                          java.util.Vector List)

member

private boolean member(AbilityDbItem item,
                       java.util.Vector List)

add

public void add(java.lang.String type,
                AbilityDbItem ability_item)

add

public void add(java.lang.String agent,
                AbilitySpec ability)

add

public void add(java.lang.String item,
                java.util.Vector List)

add

public void add(java.util.Vector List)

add

public void add(AbilityDbItem item)

modify

public void modify(AbilityDbItem previousItem,
                   AbilityDbItem newItem)

del

public void del(java.lang.String type,
                AbilityDbItem item)

del

public void del(java.lang.String agent,
                AbilitySpec ability)

del

public void del(java.lang.String item,
                java.util.Vector List)

findOne

public AbilityDbItem findOne(AbilitySpec ability)

findAll

public java.util.Vector findAll(AbilitySpec ability)

abilitiesOf

public java.util.Vector abilitiesOf(java.lang.String person)

reduce

protected java.util.Vector reduce(java.util.Vector List,
                                  AbilitySpec ability)

addAbilityMonitor

public void addAbilityMonitor(AbilityMonitor monitor,
                              long event_type,
                              boolean notify_previous)

addAbilityMonitor

public void addAbilityMonitor(AbilityMonitor monitor,
                              long type)

removeAbilityMonitor

public void removeAbilityMonitor(AbilityMonitor monitor,
                                 long type)

notifyMonitors

private void notifyMonitors(AbilityDbItem ability,
                            int type)


Copyright © 2000-2003 BT Exact Technologies. All Rights Reserved.