org.apache.struts2.el.parser

## Class SimpleNode

- java.lang.Object
- - org.apache.struts2.el.lang.ELSupport
  - - org.apache.struts2.el.parser.SimpleNode

- All Implemented Interfaces:
    Node
  Direct Known Subclasses:
    ArithmeticNode, AstBracketSuffix, AstChoice, AstCompositeExpression, AstDeferredExpression, AstDotSuffix, AstDynamicExpression, AstEmpty, AstFloatingPoint, AstFunction, AstIdentifier, AstInteger, AstLiteralExpression, AstNegative, AstNot, AstNull, AstString, AstValue, BooleanNode

      public abstract class SimpleNode
      extends ELSupport
      implements Node

  Version:
    $Change: 181177 $$DateTime: 2001/06/26 08:45:09 $$Author: markt $
  Author:
    Jacob Hookom [jacob@hookom.net]

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Node[]` | `children`
    `protected int` | `id`
    `protected String` | `image`
    `protected Node` | `parent`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SimpleNode(int i)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `accept(NodeVisitor visitor)`
    `void` | `dump(String prefix)`
    `String` | `getImage()`
    `javax.el.MethodInfo` | `getMethodInfo(EvaluationContext ctx, Class[] paramTypes)`
    `Class` | `getType(EvaluationContext ctx)`
    `Object` | `getValue(EvaluationContext ctx)`
    `Object` | `invoke(EvaluationContext ctx, Class[] paramTypes, Object[] paramValues)`
    `boolean` | `isReadOnly(EvaluationContext ctx)`
    `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()`
    `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.
    `void` | `setImage(String image)`
    `void` | `setValue(EvaluationContext ctx, Object value)`
    `String` | `toString()`
    `String` | `toString(String prefix)`

    - ### Methods inherited from class org.apache.struts2.el.lang.ELSupport

      `checkType, coerceToBoolean, coerceToCharacter, coerceToEnum, coerceToNumber, coerceToNumber, coerceToNumber, coerceToNumber, coerceToString, coerceToType, compare, containsNulls, equals, isBigDecimalOp, isBigIntegerOp, isDoubleOp, isDoubleStringOp, isLongOp, isStringFloat, throwUnhandled, toFloat, toNumber`

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

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

- - ### Field Detail

    - #### parent

          protected Node parent

    - #### children

          protected Node[] children

    - #### id

          protected int id

    - #### image

          protected String image

  - ### 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`
      Parameters:
        `n` - the 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`
      Parameters:
        `n` - the node
        `i` - i

    - #### 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`
      Parameters:
        `i` - i
      Returns:
        child node

    - #### jjtGetNumChildren

          public int jjtGetNumChildren()

      Specified by:
        `jjtGetNumChildren` in interface `Node`
      Returns:
        the number of children the node has.

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### toString

          public String toString(String prefix)

    - #### dump

          public void dump(String prefix)

    - #### getImage

          public String getImage()

      Specified by:
        `getImage` in interface `Node`

    - #### setImage

          public void setImage(String image)

    - #### getType

          public Class getType(EvaluationContext ctx)
                        throws javax.el.ELException

      Specified by:
        `getType` in interface `Node`
      Throws:
        `javax.el.ELException`

    - #### getValue

          public Object getValue(EvaluationContext ctx)
                          throws javax.el.ELException

      Specified by:
        `getValue` in interface `Node`
      Throws:
        `javax.el.ELException`

    - #### isReadOnly

          public boolean isReadOnly(EvaluationContext ctx)
                             throws javax.el.ELException

      Specified by:
        `isReadOnly` in interface `Node`
      Throws:
        `javax.el.ELException`

    - #### setValue

          public void setValue(EvaluationContext ctx,
                               Object value)
                        throws javax.el.ELException

      Specified by:
        `setValue` in interface `Node`
      Throws:
        `javax.el.ELException`

    - #### accept

          public void accept(NodeVisitor visitor)
                      throws Exception

      Specified by:
        `accept` in interface `Node`
      Throws:
        `Exception`

    - #### invoke

          public Object invoke(EvaluationContext ctx,
                               Class[] paramTypes,
                               Object[] paramValues)
                        throws javax.el.ELException

      Specified by:
        `invoke` in interface `Node`
      Throws:
        `javax.el.ELException`

    - #### getMethodInfo

          public javax.el.MethodInfo getMethodInfo(EvaluationContext ctx,
                                                   Class[] paramTypes)
                                            throws javax.el.ELException

      Specified by:
        `getMethodInfo` in interface `Node`
      Throws:
        `javax.el.ELException`

Copyright © 2000–2026 Apache Software Foundation. All rights reserved.