jade.core
Class AID

java.lang.Object
  |
  +--jade.core.AID

public class AID
extends java.lang.Object
implements java.lang.Cloneable, java.lang.Comparable, java.io.Serializable

This class represents a JADE Agent Identifier. JADE internal agent tables use this class to record agent names and addresses.

See Also:
Serialized Form

Constructor Summary
AID()
          Constructs an Agent-Identifier whose slot name is set to an empty string
AID(java.lang.String guid)
          Constructor for an Agent-identifier
 
Method Summary
 void addAddresses(java.lang.String url)
          This method permits to add a transport address where the agent can be contacted.
 void addResolvers(AID aid)
          This method permits to add the AID of a resolver (an agent where name resolution services for the agent can be contacted)
 void addUserDefinedSlot(java.lang.String key, java.lang.String value)
          To add a user defined slot (a pair key, value).
 void clearAllAddresses()
          To remove alla addresses of the agent
 void clearAllResolvers()
          To remove all resolvers.
 java.lang.Object clone()
          Clone the AID object.
 int compareTo(java.lang.Object o)
          Comparison operation.
 boolean equals(java.lang.Object o)
          Equality operation.
 java.lang.String[] getAddressesArray()
          Returns an array of string containing all the addresses of the agent
 java.util.Iterator getAllAddresses()
          Returns an iterator of all the addresses of the agent.
 java.util.Iterator getAllResolvers()
          Returns an iterator of all the resolvers.
 java.util.Properties getAllUserDefinedSlot()
          Returns the user-defined slots as properties.
 java.lang.String getName()
          This method returns the name of the agent.
 AID[] getResolversArray()
          Returns an array containing all the AIDs of the resolvers.
 int hashCode()
          Hash code.
 boolean removeAddresses(java.lang.String url)
          To remove a transport address.
 boolean removeResolvers(AID aid)
          To remove a resolver.
 void setName(java.lang.String n)
          This method permits to set the symbolic name of an agent.
 java.lang.String toString()
          Returns the symbolic name of the agent.
 void toText(java.io.Writer w)
          This method is called from ACLMessage in order to create the String encoding of an ACLMessage.
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AID

public AID()
Constructs an Agent-Identifier whose slot name is set to an empty string

AID

public AID(java.lang.String guid)
Constructor for an Agent-identifier
Parameters:
guid - is the Globally Unique identifer for the agent. The slot name assumes that value in the constructed object.
Method Detail

setName

public void setName(java.lang.String n)
This method permits to set the symbolic name of an agent. This must be unique within the HAP of the agent.

getName

public java.lang.String getName()
This method returns the name of the agent.

addAddresses

public void addAddresses(java.lang.String url)
This method permits to add a transport address where the agent can be contacted.

removeAddresses

public boolean removeAddresses(java.lang.String url)
To remove a transport address.
Parameters:
url - the address to remove
Returns:
true if the addres has been found and removed, false otherwise.

clearAllAddresses

public void clearAllAddresses()
To remove alla addresses of the agent

getAllAddresses

public java.util.Iterator getAllAddresses()
Returns an iterator of all the addresses of the agent.
See Also:
Iterator

addResolvers

public void addResolvers(AID aid)
This method permits to add the AID of a resolver (an agent where name resolution services for the agent can be contacted)

removeResolvers

public boolean removeResolvers(AID aid)
To remove a resolver.
Parameters:
aid - the AID of the resolver to remove
Returns:
true if the resolver has been found and removed, false otherwise.

clearAllResolvers

public void clearAllResolvers()
To remove all resolvers.

getAllResolvers

public java.util.Iterator getAllResolvers()
Returns an iterator of all the resolvers.
See Also:
Iterator

addUserDefinedSlot

public void addUserDefinedSlot(java.lang.String key,
                               java.lang.String value)
To add a user defined slot (a pair key, value).
Parameters:
key - the name of the property
value - the corresponding value of the property

getAddressesArray

public java.lang.String[] getAddressesArray()
Returns an array of string containing all the addresses of the agent

getResolversArray

public AID[] getResolversArray()
Returns an array containing all the AIDs of the resolvers.

getAllUserDefinedSlot

public java.util.Properties getAllUserDefinedSlot()
Returns the user-defined slots as properties.
Returns:
all the user-defined slots as a java.util.Properties java Object.
See Also:
Properties

toText

public void toText(java.io.Writer w)
This method is called from ACLMessage in order to create the String encoding of an ACLMessage.

toString

public java.lang.String toString()
Returns the symbolic name of the agent.
Overrides:
toString in class java.lang.Object

clone

public java.lang.Object clone()
Clone the AID object.
Overrides:
clone in class java.lang.Object

equals

public boolean equals(java.lang.Object o)
Equality operation. This method compares an AID object with another or with a Java String. The comparison is case insensitive.
Parameters:
o - The Java object to compare this AID to.
Returns:
true if one of the following holds:
  • The argument o is an AID object with the same GUID in its name slot (apart from differences in case).
  • The argument o is a String that is equal to the GUID contained in the name slot of this Agent ID (apart from differences in case).
Overrides:
equals in class java.lang.Object

compareTo

public int compareTo(java.lang.Object o)
Comparison operation. This operation imposes a total order relationship over Agent IDs.
Specified by:
compareTo in interface java.lang.Comparable
Parameters:
o - Another AID object, that will be compared with the current AID.
Returns:
-1, 0 or 1 according to the lexicographical order of the GUID of the two agent IDs, apart from differences in case.

hashCode

public int hashCode()
Hash code. This method returns an hash code in such a way that two AID objects with equal names or with names differing only in case have the same hash code.
Returns:
The hash code for this AID object.
Overrides:
hashCode in class java.lang.Object