Package org.jcsp.net2

Class NetBarrierLocation

  • All Implemented Interfaces:
    Serializable

    public final class NetBarrierLocation
    extends NetLocation
    implements Serializable
    This class is a data structure representing the location of a NetBarrier in a network. The NetBarrierLocation consists of the NodeID of the Node on which the NetBarrier resides, and its Virtual Barrier Number, which is the number uniquely identifying the NetBarrier on said node.

    To acquire the NetBarrierLocation of a NetBarrier, use the getLocation method:

    NetBarrierLocation location = (NetBarrierLocation)bar.getLocation();

    The location returned depends on whether the NetBarrier is a client or a server end. A server end of a NetBarrier will return its own location. A client end of a NetBarrier will return the location of the server end it is connected to. This is because we consider the NetBarrier to be a single, virtual construct, with only one location. That location is where the server end of the NetBarrier is located.

    Author:
    Kevin Chalmers
    See Also:
    NetBarrier, NetLocation, Serialized Form
    • Constructor Detail

      • NetBarrierLocation

        public NetBarrierLocation​(NodeID aNodeID,
                                  int aVBN)
        Constructor to create a new NetBarrierLocation
        Parameters:
        aNodeID - The NodeID portion of the NetBarrierLocation
        aVBN - The index part of the NetBarrierLocation
    • Method Detail

      • getNodeID

        public NodeID getNodeID()
        Gets the NodeID part of the location
        Specified by:
        getNodeID in class NetLocation
        Returns:
        The NodeID part of the NetBarrierLocation
      • getNodeAddress

        public NodeAddress getNodeAddress()
        Gets the NodeAddress part of the location
        Specified by:
        getNodeAddress in class NetLocation
        Returns:
        The NodeAddress part of the NetBarrierLocation
      • getVBN

        public int getVBN()
        Gets the index part of the location
        Returns:
        The VBN part of the NetBarrierLocation
      • toString

        public String toString()
        Returns the string representation of the NetBarrierLocation. This takes the form of nbl://[NodeID]/[VBN]. This string representation has been created to allow other frameworks to interpret the NetBarrierLocation.
        Overrides:
        toString in class Object
        Returns:
        String representation of the NetBarrierLocation
      • parse

        public static NetBarrierLocation parse​(String str)
                                        throws IllegalArgumentException
        Takes the string representation of a NetBarrierLocation and converts it back into an object for usage by JCSP.
        Parameters:
        str - The string representation of the NetBarrierLocation
        Returns:
        A NetBarrierLocation produced from a String representation
        Throws:
        IllegalArgumentException - Thrown if a non NetBarrierLocation is attempted to be parsed