Class NodeListOptional

  • All Implemented Interfaces:
    INode, INodeList, java.io.Serializable

    public class NodeListOptional
    extends java.lang.Object
    implements INodeList
    Represents an optional grammar list (*), e.g. ' ( A )* '.
    The class stores the nodes list in an ArrayList.
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      java.util.ArrayList<INode> nodes
      The list of nodes
      • Fields inherited from interface EDU.purdue.jtb.parser.syntaxtree.INode

        LS
    • Constructor Summary

      Constructors 
      Constructor Description
      NodeListOptional()
      Initializes an empty list of nodes with a default first allocation.
      NodeListOptional​(int sz)
      Initializes an empty list of nodes with a given allocation.
      NodeListOptional​(int sz, INode firstNode)
      Initializes an empty list of nodes with a given allocation and adds a first node.
      NodeListOptional​(INode firstNode)
      Initializes an empty list of nodes with a default first allocation and adds a first node.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int accept​(IIntVisitor vis)
      Accepts a IIntVisitor visitor with user return data.
      void accept​(IVoidVisitor vis)
      Accepts a IVoidVisitor visitor} visitor with user return data.
      void addNode​(INode n)
      Adds a node to the list of nodes, managing progressive allocation increments.
      INode elementAt​(int i)
      Gets the node in the list at a given position.
      java.util.Iterator<INode> elements()
      Returns an iterator on the nodes list.
      boolean present()  
      int size()
      Returns the number of nodes in the list.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • nodes

        public java.util.ArrayList<INode> nodes
        The list of nodes
    • Constructor Detail

      • NodeListOptional

        public NodeListOptional()
        Initializes an empty list of nodes with a default first allocation.
      • NodeListOptional

        public NodeListOptional​(int sz)
        Initializes an empty list of nodes with a given allocation.
        Parameters:
        sz - - the list size
      • NodeListOptional

        public NodeListOptional​(INode firstNode)
        Initializes an empty list of nodes with a default first allocation and adds a first node.
        Parameters:
        firstNode - - the node to add
      • NodeListOptional

        public NodeListOptional​(int sz,
                                INode firstNode)
        Initializes an empty list of nodes with a given allocation and adds a first node.
        Parameters:
        sz - - the list size
        firstNode - - the node to add
    • Method Detail

      • addNode

        public void addNode​(INode n)
        Adds a node to the list of nodes, managing progressive allocation increments.
        Specified by:
        addNode in interface INodeList
        Parameters:
        n - - the node to add
      • elementAt

        public INode elementAt​(int i)
        Gets the node in the list at a given position.
        Specified by:
        elementAt in interface INodeList
        Parameters:
        i - - the node's position
        Returns:
        the node
      • elements

        public java.util.Iterator<INode> elements()
        Returns an iterator on the nodes list.
        Specified by:
        elements in interface INodeList
        Returns:
        the iterator
      • size

        public int size()
        Returns the number of nodes in the list.
        Specified by:
        size in interface INodeList
        Returns:
        the list size
      • present

        public boolean present()
        Returns:
        true if there is at least one node, false otherwise
      • accept

        public int accept​(IIntVisitor vis)
        Accepts a IIntVisitor visitor with user return data.
        Specified by:
        accept in interface INode
        Parameters:
        vis - - the visitor
        Returns:
        the user Return data
      • accept

        public void accept​(IVoidVisitor vis)
        Accepts a IVoidVisitor visitor} visitor with user return data.
        Specified by:
        accept in interface INode
        Parameters:
        vis - - the visitor