Class ComponentNode<T extends ComponentNode<T>>

java.lang.Object
org.lsst.ccs.description.ComponentNode<T>
Type Parameters:
T - The particular instance of the ComponentNode.
All Implemented Interfaces:
Serializable

public class ComponentNode<T extends ComponentNode<T>> extends Object implements Serializable
Abstract class for a node in the concrete implementation of a subsystem description. It is a standard tree node structure containing in addition a key (the name of the component) and the actual component that will be part of the modular structure of the subsystem. Subclasses define how the component is built, by overriding setComponent()
Author:
The LSST CCS Team
See Also:
  • Field Details

    • logger

      public static final Logger logger
    • tags

      protected final Map tags
  • Constructor Details

    • ComponentNode

      public ComponentNode(String name)
    • ComponentNode

      public ComponentNode(String name, Object component)
  • Method Details

    • getPath

      public String getPath()
    • getProtocol

      public String getProtocol()
    • setProtocol

      public void setProtocol(String protocol)
    • getComponent

      public Object getComponent()
    • setComponent

      public void setComponent(Object component)
    • getKey

      public String getKey()
    • getChildren

      public List<T> getChildren()
      Returns:
      the list of child nodes, null if there aren't any
    • addChild

      public void addChild(T child) throws NullPointerException
      adds a ComponentNode as a child of the current node
      Parameters:
      child - to be added to the node
      Throws:
      NullPointerException - if child is null
    • toString

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

      public ComponentNode<T> getParent()
    • addTag

      public void addTag(String key, Object value)
    • getTag

      public Object getTag(String key)
    • getTags

      public Map getTags()
      Gets the node tags for this node.
      Returns:
      the node tags