Class SimpleNode

    • Field Detail

      • parent

        protected Node parent
      • children

        protected Node[] children
      • id

        protected int id
    • Constructor Detail

      • SimpleNode

        public SimpleNode​(int i)
      • SimpleNode

        public SimpleNode​(OgnlParser p,
                          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
      • 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
      • getIndexInParent

        public int getIndexInParent()
      • getNextSibling

        public Node getNextSibling()
      • getValueBody

        protected abstract Object getValueBody​(OgnlContext context,
                                               Object source)
                                        throws OgnlException
        Subclasses implement this method to do the actual work of extracting the appropriate value from the source object.
        Throws:
        OgnlException
      • setValueBody

        protected void setValueBody​(OgnlContext context,
                                    Object target,
                                    Object value)
                             throws OgnlException
        Subclasses implement this method to do the actual work of setting the appropriate value in the target object. The default implementation throws an InappropriateExpressionException, meaning that it cannot be a set expression.
        Throws:
        OgnlException
      • isNodeConstant

        public boolean isNodeConstant​(OgnlContext context)
                               throws OgnlException
        Returns true iff this node is constant without respect to the children.
        Throws:
        OgnlException
      • lastChild

        protected boolean lastChild​(OgnlContext context)
      • flattenTree

        protected void flattenTree()
        This method may be called from subclasses' jjtClose methods. It flattens the tree under this node by eliminating any children that are of the same class as this node and copying their children to this node.
      • getAccessor

        public ExpressionAccessor getAccessor()
        Description copied from interface: Node
        Gets the compiled bytecode enhanced expression accessor for getting/setting values.
        Specified by:
        getAccessor in interface Node
        Returns:
        The accessor for this node, or null if none has been compiled for it.
      • setAccessor

        public void setAccessor​(ExpressionAccessor accessor)
        Description copied from interface: Node
        Sets a new compiled accessor for this node expression.
        Specified by:
        setAccessor in interface Node
        Parameters:
        accessor - The compiled representation of this node.