Package ognl

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

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • toString

        public java.lang.String toString​(java.lang.String prefix)
      • toGetSourceString

        public java.lang.String toGetSourceString​(OgnlContext context,
                                                  java.lang.Object target)
        Description copied from interface: JavaSource
        Expected to return a java source representation of itself such that it could be turned into a literal java expression to be compiled and executed for ExpressionAccessor.get(OgnlContext, Object) calls.
        Specified by:
        toGetSourceString in interface JavaSource
        Returns:
        Literal java string representation of an object get.
      • toSetSourceString

        public java.lang.String toSetSourceString​(OgnlContext context,
                                                  java.lang.Object target)
        Description copied from interface: JavaSource
        Expected to return a java source representation of itself such that it could be turned into a literal java expression to be compiled and executed for ExpressionAccessor.get(OgnlContext, Object) calls.
        Specified by:
        toSetSourceString in interface JavaSource
        Returns:
        Literal java string representation of an object get.
      • dump

        public void dump​(java.io.PrintWriter writer,
                         java.lang.String prefix)
      • getIndexInParent

        public int getIndexInParent()
      • getNextSibling

        public Node getNextSibling()
      • getValue

        public final java.lang.Object getValue​(OgnlContext context,
                                               java.lang.Object source)
                                        throws OgnlException
        Description copied from interface: Node
        Extracts the value from the given source object that is appropriate for this node within the given context.
        Specified by:
        getValue in interface Node
        Throws:
        OgnlException
      • getValueBody

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

        public final void setValue​(OgnlContext context,
                                   java.lang.Object target,
                                   java.lang.Object value)
                            throws OgnlException
        Description copied from interface: Node
        Sets the given value in the given target as appropriate for this node within the given context.
        Specified by:
        setValue in interface Node
        Throws:
        OgnlException
      • setValueBody

        protected void setValueBody​(OgnlContext context,
                                    java.lang.Object target,
                                    java.lang.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.