Package org.jcsp.net

Class AbstractID

  • All Implemented Interfaces:
    java.io.Serializable
    Direct Known Subclasses:
    ApplicationID, DomainID, GlobalID, NodeID

    public abstract class AbstractID
    extends java.lang.Object
    implements java.io.Serializable

    This is an abstract class that is sub-classed by classes whose instances should represent some kind of identifier and be part of a hierarchy of AbstractID objects.

    This class has no public or protected constructor so it may not be sub-classed by JCSP users. JCSP.NET defines four implementations of this class; ApplicationID, NodeID, DomainID and GlobalID.

    An ApplicationID object identifies a JCSP application. A JCSP Application is formed of a process network initiated at a particular Node, but processes launched on a remote Node may also be part of the same application. The parent AbstractIDApplicationID objects are NodeID objects.

    A NodeID object identifies a particular JCSP Node. A JCSP Node is a Java Virtual Machine that has been initialized to form part of a JCSP.NET network. The parent AbstractIDNodeID objects are DomainID objects.

    A DomainID object represents a domain of JCSP Nodes. Node Domains are not presently implemented but this class is included for completeness. In the future, it is envisaged that domain controllers will be introduced. At present, all NodeID objects have a parent DomainID equal to the Null Domain (this has a zero length string name).

    A GlobalID object represents the global Node domain. This includes all domains, their sub-domains, and all Nodes within sub-domains. There only ever needs to be a single instance of this class. The parent of the Null Domain is a GlobalID object.

    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      AbstractID()  
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      abstract AbstractID getParentID()
      Returns this instance's parent AbstractID object.
      (package private) abstract boolean onSameBranch​(AbstractID abstractID)
      This tests whether another ID is on the same branch of a hierachy.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • AbstractID

        AbstractID()
    • Method Detail

      • getParentID

        public abstract AbstractID getParentID()
        Returns this instance's parent AbstractID object.
        Returns:
        the parent AbstractID of this object.
      • onSameBranch

        abstract boolean onSameBranch​(AbstractID abstractID)
        This tests whether another ID is on the same branch of a hierachy. Returns true if either the supplied object is a child (or a child of child etc.) of this object or if the supplied object is a parent (or a parent of a parent etc.) of this object.
        Returns:
        a boolean indicating whether or not the supplied object is on the same branch.