Class Node

java.lang.Object
VASSAL.chat.node.Node
All Implemented Interfaces:
MsgSender
Direct Known Subclasses:
PlayerNode, ServerNode

public class Node
extends Object
implements MsgSender
Base class for the hierarchical server model. Each node has a name, a list of children, and arbitrary extra information encoded in the getInfo() string. Each node can be identified globally by a path name. Messages sent to a node generally broadcast to all descendents of the node.
  • Constructor Details

  • Method Details

    • getId

      public String getId()
    • getInfo

      public String getInfo()
    • getInfoProperty

      public String getInfoProperty​(String propName)
    • setInfo

      public void setInfo​(String info)
    • setParent

      public void setParent​(Node parent)
    • getParent

      public Node getParent()
    • remove

      public void remove​(Node child)
    • add

      public void add​(Node child)
    • equals

      public boolean equals​(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getChild

      public Node getChild​(String id)
      return the child node with the given id, or null if no match
      Parameters:
      id -
      Returns:
    • getDescendant

      public Node getDescendant​(String path)
      Return the descendant node with the given path relative to this node
      Parameters:
      path -
      Returns:
    • send

      public void send​(String msg)
      Specified by:
      send in interface MsgSender
    • getLeafDescendants

      public Node[] getLeafDescendants()
    • isLeaf

      public boolean isLeaf()
    • getChildren

      public Node[] getChildren()
    • build

      public static Node build​(Node base, String path)
      Constructs from a path name. Instantiates parent nodes with appropriate names as necessary.
      Parameters:
      base - the top-level ancestor of the node to be built. Its name is not included in the path name
      path -
      Returns:
    • buildWithInfo

      public Node buildWithInfo​(Node base, String pathAndInfo)
      Builds a Node from a pathAndInfo string
      Parameters:
      base -
      pathAndInfo -
      Returns:
      See Also:
      getPathAndInfo()
    • getPath

      public String getPath()
    • getPathAndInfo

      public String getPathAndInfo()
      Return a string in the format parentId=parentInfo/childId=childInfo/...
      Returns: