zeus.actors
Class ProtocolDb

java.lang.Object
  extended byzeus.util.Tree
      extended byzeus.actors.ProtocolDb

public class ProtocolDb
extends Tree

The Protocol Database is a simple storage component that holds references to the social interaction protocols known by the agent. Note, although there is a class constructor () here it should never be used .


Field Summary
private static int ACCESS
           
private static int ADD
           
private static int AGENT
           
private static int ANY
           
(package private)  AgentContext context
           
private static int DELETE
           
private  HSet[] eventMonitor
           
protected  java.util.Hashtable factIndex
           
private static int FAIL
           
private static int MODIFY
           
(package private)  java.util.Hashtable protocolInfoList
           
private static int RELATION
           
 
Fields inherited from class zeus.util.Tree
root
 
Constructor Summary
ProtocolDb()
          this init really is for architectural purposes only.
ProtocolDb(AgentContext context)
           
ProtocolDb(OntologyDb model)
           
 
Method Summary
 void addProtocol(ProtocolInfo info)
           
private  void addProtocol(ProtocolInfo info, boolean onlyLocal)
           
 void addProtocol(java.util.Vector info)
           
 void addProtocolMonitor(ProtocolMonitor monitor, long event_type)
          If your code needs to react to changes in the agent's stored protocols use this method to add a ProtocolMonitor.
 void addProtocolMonitor(ProtocolMonitor monitor, long event_type, boolean notify_previous)
           
private  void addToResultSet(ProtocolDbResult result, int grade, java.util.Hashtable resultSet)
           
private  int constraintsOK(Fact fact, java.lang.String agent, StrategyInfo info)
           
protected  void createTree(TreeNode m_node, TreeNode a_node)
           
 java.util.Vector getProtocols(Fact fact, java.lang.String[] agents, java.lang.String type)
           
 void modifyProtocol(ProtocolInfo info)
           
private  void notifyMonitors(ProtocolInfo info, int type)
           
private  void removeFromResultSet(java.lang.String agent, java.lang.String protocol, java.util.Hashtable resultSet)
           
 void removeProtocol(ProtocolInfo info)
           
private  void removeProtocol(ProtocolInfo info, boolean onlyLocal)
           
 void removeProtocol(java.util.Vector info)
           
 void removeProtocolMonitor(ProtocolMonitor monitor, long event_type)
           
private  java.util.Vector sortResultSet(java.util.Hashtable resultSet)
           
 
Methods inherited from class zeus.util.Tree
getRoot, main, nodes, values
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

factIndex

protected java.util.Hashtable factIndex

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

FAIL

private static final int FAIL
See Also:
Constant Field Values

ANY

private static final int ANY
See Also:
Constant Field Values

RELATION

private static final int RELATION
See Also:
Constant Field Values

AGENT

private static final int AGENT
See Also:
Constant Field Values

protocolInfoList

java.util.Hashtable protocolInfoList

context

AgentContext context
Constructor Detail

ProtocolDb

public ProtocolDb()
this init really is for architectural purposes only. I think instantiation without a parameter here could be bad!


ProtocolDb

public ProtocolDb(OntologyDb model)

ProtocolDb

public ProtocolDb(AgentContext context)
Method Detail

createTree

protected void createTree(TreeNode m_node,
                          TreeNode a_node)

addProtocol

public void addProtocol(ProtocolInfo info)

addProtocol

public void addProtocol(java.util.Vector info)

addProtocol

private void addProtocol(ProtocolInfo info,
                         boolean onlyLocal)

removeProtocol

public void removeProtocol(ProtocolInfo info)

removeProtocol

public void removeProtocol(java.util.Vector info)

removeProtocol

private void removeProtocol(ProtocolInfo info,
                            boolean onlyLocal)

modifyProtocol

public void modifyProtocol(ProtocolInfo info)

getProtocols

public java.util.Vector getProtocols(Fact fact,
                                     java.lang.String[] agents,
                                     java.lang.String type)

constraintsOK

private int constraintsOK(Fact fact,
                          java.lang.String agent,
                          StrategyInfo info)

removeFromResultSet

private void removeFromResultSet(java.lang.String agent,
                                 java.lang.String protocol,
                                 java.util.Hashtable resultSet)

addToResultSet

private void addToResultSet(ProtocolDbResult result,
                            int grade,
                            java.util.Hashtable resultSet)

sortResultSet

private java.util.Vector sortResultSet(java.util.Hashtable resultSet)

addProtocolMonitor

public void addProtocolMonitor(ProtocolMonitor monitor,
                               long event_type,
                               boolean notify_previous)

addProtocolMonitor

public void addProtocolMonitor(ProtocolMonitor monitor,
                               long event_type)
If your code needs to react to changes in the agent's stored protocols use this method to add a ProtocolMonitor.


removeProtocolMonitor

public void removeProtocolMonitor(ProtocolMonitor monitor,
                                  long event_type)

notifyMonitors

private void notifyMonitors(ProtocolInfo info,
                            int type)


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