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

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      Node getAttribute​(Class<?> clazz)
      Returns the node corresponding to the attribute which has a parsed value which is an instance of clazz.
      Node getAttribute​(String name)
      Returns the node corresonding to the attribute with the specified name.
      List<Node> getAttributes()
      Returns all nodes corresponding to attributes.
      List<Node> getAttributes​(Class<?> clazz)
      Returns all nodes corresponding to attributes which has a parsed values which are instances of clazz.
      Object getAttributeValue​(Class<?> clazz)
      Helper method for access to the parsed value of the attribute whose parsed value is an instance of clazz.
      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.
      Object getAttributeValue​(String name)
      Helper method for access to the parsed value of the attribute with the specified name.
      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
      List<Object> getAttributeValues​(Class<?> clazz)
      Helper method for access ot the parsed values of attribute nodes whose parsed values are instances of clazz.
      Node getChild​(Class<?> clazz)
      Returns a node corresponding to a child element which has a parsed value which is an instance of clazz.
      Node getChild​(String name)
      Returns a node corresponding to a child element.
      List<Node> getChildren()
      Returns all nodes corresponding child elements.
      List<Node> getChildren​(Class<?> clazz)
      Returns all nodes corresponding to child elements with the parsed values that are instances of clazz
      List<Node> getChildren​(String name)
      Returns all nodes corresponding child elements with the specified name.
      Object 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
      Object getChildValue​(String name)
      Helper method for access to child's parsed contents by element name.
      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
      <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.
      List getChildValues​(String name)
      Helper method for access to the set of parse child values with the specified name.
      InstanceComponent getComponent()  
      Node getParent()
      Returns the parent node for this node
      Object getValue()  
      boolean hasAttribute​(Class<?> clazz)
      Determines if the node has an attribute whose value is of the specified class.
      boolean hasAttribute​(String name)
      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 hasChild​(String name)
      Determines if the node has a child with the specified name.
      void setParent​(Node node)
      Sets the parent pointer for this node.
      void setValue​(Object value)
      Sets the value of the node.
    • Method Detail

      • 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.