Interface Node

All Known Implementing Classes:
NodeImpl

public interface Node
Represents a value in the parse tree. A node has a corresponds to a particular instance component of a document (element or attribute). Each node contains a parsed value, as well as a reference to the instance.
Author:
Justin Deoliveira,Refractions Research Inc.,jdeolive@refractions.net
  • Method Summary

    Modifier and Type
    Method
    Description
    getAttribute(Class<?> clazz)
    Returns the node corresponding to the attribute which has a parsed value which is an instance of clazz .
    Returns the node corresonding to the attribute with the specified name.
    Returns all nodes corresponding to attributes.
    getAttributes(Class<?> clazz)
    Returns all nodes corresponding to attributes which has a parsed values which are instances of clazz .
    Helper method for access to the parsed value of the attribute whose parsed value is an instance of clazz .
    getAttributeValue(Class<?> clazz, Object defaultValue)
    Helper method for access to the parsed value of the attribute whose parsed value is an instance of clazz , returning a defaultValue when no such attribute is present.
    Helper method for access to the parsed value of the attribute with the specified name.
    getAttributeValue(String name, Object defaultValue)
    Helper method for access to the parsed value of the attribute with the specified name, returning a defaultValue when no such attribute is present
    Helper method for access ot the parsed values of attribute nodes whose parsed values are instances of clazz .
    getChild(Class<?> clazz)
    Returns a node corresponding to a child element which has a parsed value which is an instance of clazz.
    Returns a node corresponding to a child element.
    Returns all nodes corresponding child elements.
    getChildren(Class<?> clazz)
    Returns all nodes corresponding to child elements with the parsed values that are instances of clazz
    Returns all nodes corresponding child elements with the specified name.
    getChildValue(int index)
    Helper method for access to child's parsed contents.
    <T> T
    getChildValue(Class<T> clazz)
    Helper method for access to child's parsed contents by class.
    <T> T
    getChildValue(Class<T> clazz, T defaultValue)
    Helper method for access to child's parsed contents by class, returning a defaultValue when no such value is present
    Helper method for access to child's parsed contents by element name.
    getChildValue(String name, Object defaultValue)
    Helper method for access to child's parsed contents by element name.returning a defaultValue when no such value is present
    <T> List<T>
    Helper method for access to the set of parsed child values which are instances of the specified class.
    Helper method for access to the set of parse child values with the specified name.
     
    Returns the parent node for this node
     
    boolean
    hasAttribute(Class<?> clazz)
    Determines if the node has an attribute whose value is of the specified class.
    boolean
    Determines if the node has an attribute with the specified name.
    boolean
    hasChild(Class<?> clazz)
    Determines if the node has a child whose value is of the specified class.
    boolean
    Determines if the node has a child with the specified name.
    void
    Sets the parent pointer for this node.
    void
    Sets the value of the node.
  • Method Details

    • getComponent

      InstanceComponent getComponent()
      Returns:
      The component instance.
    • getValue

      Object getValue()
      Returns:
      The parsed value of the instance component.
    • setValue

      void setValue(Object value)
      Sets the value of the node.
      Parameters:
      value - The new parse value.
    • hasChild

      boolean hasChild(String name)
      Determines if the node has a child with the specified name.
      Parameters:
      name - The name of a child node.
      Returns:
      true if a child node exists with the name, otehrwise false.
    • hasChild

      boolean hasChild(Class<?> clazz)
      Determines if the node has a child whose value is of the specified class.
      Parameters:
      clazz - The class of the child node value.
      Returns:
      true if a child node exists with the class, otherwise false .
    • getChildren

      List<Node> getChildren()
      Returns all nodes corresponding child elements.
      Returns:
      A list containing objects of type Node.
    • getChildren

      List<Node> getChildren(String name)
      Returns all nodes corresponding child elements with the specified name. This method returns an empty list if it finds no nodes corresponding to the specified name.
      Parameters:
      name - The name of a child element.
      Returns:
      A list containing objects of type Node.
    • getChildren

      List<Node> getChildren(Class<?> clazz)
      Returns all nodes corresponding to child elements with the parsed values that are instances of clazz
      Parameters:
      clazz - The class of parsed child values.
      Returns:
      A list containing objects of type Node, such that node#getValue() is an instance of clazz, or an empty list.
    • getChild

      Node getChild(String name)
      Returns a node corresponding to a child element. This method returns the first such node it finds and no order is guaranteed, it is provided for convenience. This method returns null if it finds no such child node matching the specified name.
      Parameters:
      name - The name of a child element.
      Returns:
      The first node that matches a child element with the specified name.
    • getChild

      Node getChild(Class<?> clazz)
      Returns a node corresponding to a child element which has a parsed value which is an instance of clazz. This method returns the first such node it finds and no order is guarenteed, it is providedd for convenience. This method returns null if it finds no such child mathing the above criteria.
      Parameters:
      clazz - The class of the parsed value of a child element.
      Returns:
      The first node found, or null.
    • getChildValue

      Object getChildValue(int index)
      Helper method for access to child's parsed contents.

      Should be in the range of getChildren().size()

      Simple helper method for the contents of getChildren: return ((Node)getChildren.get( index )).getValue();

      Returns:
      the value of the child at the given index
    • getChildValue

      Object getChildValue(String name)
      Helper method for access to child's parsed contents by element name.

      In the event that the node has multiple children matching name the first encountered is returned, there is no guarantee of order. For a list of all values matching name use getChildValues(String).

      Parameters:
      name - The name of the child which parsed content is to be retrieved.
      Returns:
      the value of the child with the given name, or null if the child does not exist.
    • getChildValue

      Object getChildValue(String name, Object defaultValue)
      Helper method for access to child's parsed contents by element name.returning a defaultValue when no such value is present

      In the event that the node has multiple children mathing name the first encountered is returned, there is no guarantee of order. For a list of all values matching name use getChildValues(String).

      Parameters:
      name - The name of the child which parsed content is to be retrived.
      defaultValue - A defaultValue to return, if no such child found.
      Returns:
      the value of the child with the given name, or defaultValue if the child does not exist.
    • getChildValue

      <T> T getChildValue(Class<T> clazz)
      Helper method for access to child's parsed contents by class.

      In the event that the node has multiple children which are instances of clazz , the first is returned, there is no guarantee of order. For a list of all values which are instances of clazz use getChildValues(Class).

      Parameters:
      clazz - The class of parsed child value.
      Returns:
      the value of the child which is an instance of clazz, or null if no such child exists.
    • getChildValue

      <T> T getChildValue(Class<T> clazz, T defaultValue)
      Helper method for access to child's parsed contents by class, returning a defaultValue when no such value is present

      In the event that the node has multiple children which are instances of clazz , the first is returned, there is no guarantee of order. For a list of all values which are instances of clazz use getChildValues(Class).

      Parameters:
      clazz - The class of parsed child value.
      defaultValue - A defaultValue to return, if no such child found.
      Returns:
      the value of the child which is an instance of clazz, or defaultValue if no such child exists.
    • getChildValues

      List getChildValues(String name)
      Helper method for access to the set of parse child values with the specified name.
      Parameters:
      name - The name of the child element in which to retreive the parsed value.
      Returns:
      A list of values representing the parsed values of the children, or an empty list of no such values exist.
    • getChildValues

      <T> List<T> getChildValues(Class<T> clazz)
      Helper method for access to the set of parsed child values which are instances of the specified class.
      Parameters:
      clazz - The class of the child values.
      Returns:
      A list of child values which are instances of class, or an empty list if no such values exist.
    • hasAttribute

      boolean hasAttribute(String name)
      Determines if the node has an attribute with the specified name.
      Parameters:
      name - The name of an attribute
      Returns:
      true if am attribute exists with the name, otehrwise false.
    • hasAttribute

      boolean hasAttribute(Class<?> clazz)
      Determines if the node has an attribute whose value is of the specified class.
      Parameters:
      clazz - The class of the attribute value
      Returns:
      true if an attribute exists with the class, otherwise false .
    • getAttributes

      List<Node> getAttributes()
      Returns all nodes corresponding to attributes.
      Returns:
      A list containing objects of type node.
    • getAttributes

      List<Node> getAttributes(Class<?> clazz)
      Returns all nodes corresponding to attributes which has a parsed values which are instances of clazz .
      Parameters:
      clazz - The class of parsed attribute values.
      Returns:
      A list of attribute nodes whose parsed values are instances of clazz, or an empty list.
    • getAttribute

      Node getAttribute(String name)
      Returns the node corresonding to the attribute with the specified name. This method returns null if it finds no such attribute node matching the specified name.
      Parameters:
      name - The name of the attribute.
    • getAttribute

      Node getAttribute(Class<?> clazz)
      Returns the node corresponding to the attribute which has a parsed value which is an instance of clazz . In the event that the node contains multple attributes matching the above criteria, the first encountered is returned, with no guaratnee of order. For all nodes matching this criteria use getAttributes(Class).
      Parameters:
      clazz - The class of parsed attribute values.
      Returns:
      The attribute node whose parsed value is an instance of clazz, or null if no such node exists.
    • getAttributeValue

      Object getAttributeValue(String name)
      Helper method for access to the parsed value of the attribute with the specified name.
      Parameters:
      name - The name of the attribute in which to retreive the parsed value from.
      Returns:
      the parsed value of the attribute matching the criteria, or null if no such attribute is found.
    • getAttributeValue

      Object getAttributeValue(String name, Object defaultValue)
      Helper method for access to the parsed value of the attribute with the specified name, returning a defaultValue when no such attribute is present
      Parameters:
      name - The name of the attribute in which to retreive the parsed value from.
      defaultValue - A defaultValue to return, if no such attribute found.
      Returns:
      the parsed value of the attribute matching the criteria, or defaultValue if no such attribute is found.
    • getAttributeValue

      Object getAttributeValue(Class<?> clazz)
      Helper method for access to the parsed value of the attribute whose parsed value is an instance of clazz . In the event that the node contains multple attributes matching the above criteria, the first encountered is returned, with no guaratnee of order. For all values matching this criteria use getAttributeValues(Class).
      Parameters:
      clazz - The class of parsed attribute values.
      Returns:
      the parsed value of the attribute matching the criteria, or null if no such attribute is found.
    • getAttributeValue

      Object getAttributeValue(Class<?> clazz, Object defaultValue)
      Helper method for access to the parsed value of the attribute whose parsed value is an instance of clazz , returning a defaultValue when no such attribute is present. In the event that the node contains multple attributes matching the above criteria, the first encountered is returned, with no guaratnee of order. For all values matching this criteria use getAttributeValues(Class).
      Parameters:
      clazz - The class of parsed attribute values.
      defaultValue - A defaultValue to return, if no such attribute found.
      Returns:
      the parsed value of the attribute matching the criteria, or defaultValue if no such attribute is found.
    • getAttributeValues

      List<Object> getAttributeValues(Class<?> clazz)
      Helper method for access ot the parsed values of attribute nodes whose parsed values are instances of clazz .
      Parameters:
      clazz - The class of parsed attribute values.
      Returns:
      The list of attribute values which are instances of clazz, or an empty list.
    • getParent

      Node getParent()
      Returns the parent node for this node
      Returns:
      The parent node. Returns null if no parent exists.
    • setParent

      void setParent(Node node)
      Sets the parent pointer for this node. Call with a null parameter to clear the parent pointer
      Parameters:
      node - The new parent node. Passing null will clear the parent pointer.