com.singularsys.jep.parser

## Class SimpleNode

- java.lang.Object
- - com.singularsys.jep.parser.SimpleNode

- All Implemented Interfaces:
    Node
  Direct Known Subclasses:
    ASTConstant, ASTFunNode, ASTStart, ASTVarNode

      public abstract class SimpleNode
      extends java.lang.Object
      implements Node

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface com.singularsys.jep.parser.Node

      `Node.HookKey`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Node[]` | `children`
    `protected int` | `id`
    `protected Node.HookKey[]` | `keys`
    `protected Node` | `parent`
    `protected java.lang.Object[]` | `vals`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SimpleNode(int i)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.util.Iterator<Node>` | `childIterator()` Returns an Iterator which iterates over the children of the Node.
    `java.lang.Iterable<Node>` | `children()` Returns an Iterable object which can be used in a for/in loop.
    `java.lang.Object` | `childrenAccept(ParserVisitor visitor, java.lang.Object data)` Accept the visitor.
    `void` | `dump(java.lang.String prefix)`
    `java.lang.Object` | `getHook(Node.HookKey key)` Get the value associated with a key.
    `int` | `getId()` Returns the id of the node (for simpler identification).
    `java.util.Collection<Node.HookKey>` | `hookKeys()` Get all the keys defined for this node.
    `java.lang.Object` | `jjtAccept(ParserVisitor visitor, java.lang.Object data)` Accept the visitor.
    `void` | `jjtAddChild(Node n, int i)` This method tells the node to add its argument to the node's list of children.
    `void` | `jjtClose()` This method is called after all the child nodes have been added.
    `Node` | `jjtGetChild(int i)` This method returns a child node.
    `int` | `jjtGetNumChildren()` Return the number of children the node has.
    `Node` | `jjtGetParent()`
    `void` | `jjtOpen()` This method is called after the node has been made the current node.
    `void` | `jjtSetParent(Node n)` This pair of methods are used to inform the node of its parent.
    `java.lang.Object` | `removeHook(Node.HookKey key)` Remove the key
    `java.lang.Object` | `setHook(Node.HookKey key, java.lang.Object value)` Sets the value associated with a key.
    `java.lang.String` | `toString(java.lang.String prefix)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface com.singularsys.jep.parser.Node

      `getName, getOperator, getPFMC, getValue, getVar`

- - ### Field Detail

    - #### parent

          protected Node parent

    - #### children

          protected Node[] children

    - #### id

          protected final int id

    - #### keys

          protected Node.HookKey[] keys

    - #### vals

          protected java.lang.Object[] vals

  - ### Constructor Detail

    - #### SimpleNode

          public SimpleNode(int i)

  - ### Method Detail

    - #### jjtOpen

          public void jjtOpen()

      Description copied from interface: `Node`
      This method is called after the node has been made the current node. It indicates that child nodes can now be added to it.
      Specified by:
        `jjtOpen` in interface `Node`

    - #### jjtClose

          public void jjtClose()

      Description copied from interface: `Node`
      This method is called after all the child nodes have been added.
      Specified by:
        `jjtClose` in interface `Node`

    - #### jjtSetParent

          public void jjtSetParent(Node n)

      Description copied from interface: `Node`
      This pair of methods are used to inform the node of its parent.
      Specified by:
        `jjtSetParent` in interface `Node`

    - #### jjtGetParent

          public Node jjtGetParent()

      Specified by:
        `jjtGetParent` in interface `Node`

    - #### jjtAddChild

          public void jjtAddChild(Node n,
                                  int i)

      Description copied from interface: `Node`
      This method tells the node to add its argument to the node's list of children.
      Specified by:
        `jjtAddChild` in interface `Node`

    - #### jjtGetChild

          public Node jjtGetChild(int i)

      Description copied from interface: `Node`
      This method returns a child node. The children are numbered from zero, left to right.
      Specified by:
        `jjtGetChild` in interface `Node`

    - #### jjtGetNumChildren

          public int jjtGetNumChildren()

      Description copied from interface: `Node`
      Return the number of children the node has.
      Specified by:
        `jjtGetNumChildren` in interface `Node`
      Returns:
        the number of child nodes

    - #### jjtAccept

          public java.lang.Object jjtAccept(ParserVisitor visitor,
                                            java.lang.Object data)
                                     throws JepException

      Accept the visitor.
      Specified by:
        `jjtAccept` in interface `Node`
      Throws:
        `ParseException`
        `JepException`

    - #### childrenAccept

          public java.lang.Object childrenAccept(ParserVisitor visitor,
                                                 java.lang.Object data)
                                          throws JepException

      Accept the visitor.
      Throws:
        `JepException`

    - #### toString

          public java.lang.String toString(java.lang.String prefix)

    - #### dump

          public void dump(java.lang.String prefix)

    - #### getId

          public int getId()

      Returns the id of the node (for simpler identification).
      Specified by:
        `getId` in interface `Node`

    - #### getHook

          public java.lang.Object getHook(Node.HookKey key)

      Get the value associated with a key.
      Specified by:
        `getHook` in interface `Node`
      Parameters:
        `key` - the key to look up
      Returns:
        the value or null if no key exists

    - #### setHook

          public java.lang.Object setHook(Node.HookKey key,
                                          java.lang.Object value)

      Sets the value associated with a key.
      Specified by:
        `setHook` in interface `Node`
      Parameters:
        `key` - the key
        `value` - the value
      Returns:
        the old object associated with this key, may be null

    - #### hookKeys

          public java.util.Collection<Node.HookKey> hookKeys()

      Description copied from interface: `Node`
      Get all the keys defined for this node.
      Specified by:
        `hookKeys` in interface `Node`
      Returns:
        all the keys

    - #### removeHook

          public java.lang.Object removeHook(Node.HookKey key)

      Description copied from interface: `Node`
      Remove the key
      Specified by:
        `removeHook` in interface `Node`
      Returns:
        the object which was associated with the key

    - #### childIterator

          public java.util.Iterator<Node> childIterator()

      Returns an Iterator which iterates over the children of the Node. The remove method is unsupported.
      Specified by:
        `childIterator` in interface `Node`
      Returns:
        a new Iterator

    - #### children

          public java.lang.Iterable<Node> children()

      Returns an Iterable object which can be used in a for/in loop.

           for(Node child:node.children()) {
            ...
           }

      Specified by:
        `children` in interface `Node`

Copyright © 2018 Singular Systems http://www.singularsys.com/jep