org.apache.el.parser

## Class SimpleNode

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

All Implemented Interfaces:
  Node

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

    public abstract class SimpleNode
    extends ELSupport
    implements Node

Author:
  Jacob Hookom [jacob@hookom.net]

### Field Summary

Fields
`protected Node[]` `children`
`protected int` `id`
`protected String` `image`
`protected Node` `parent`

### Constructor Summary

Constructors
Constructor and Description
`SimpleNode(int i)`

### Method Summary

Methods
`void` `accept(NodeVisitor visitor)`
`boolean` `equals(Object obj)`
`String` `getImage()`
`MethodInfo` `getMethodInfo(EvaluationContext ctx, Class<?>[] paramTypes)`
`Class<?>` `getType(EvaluationContext ctx)`
`Object` `getValue(EvaluationContext ctx)`
`ValueReference` `getValueReference(EvaluationContext ctx)`
`int` `hashCode()`
`Object` `invoke(EvaluationContext ctx, Class<?>[] paramTypes, Object[] paramValues)`
`boolean` `isParametersProvided()`
`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()` 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.
`void` `setImage(String image)`
`void` `setValue(EvaluationContext ctx, Object value)`
`String` `toString()`
`String` `toString(String prefix)`

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

`coerceToBoolean, coerceToCharacter, coerceToEnum, coerceToNumber, coerceToNumber, coerceToNumber, coerceToString, coerceToType, compare, equals, isBigDecimalOp, isBigIntegerOp, isDoubleOp, isLongOp, isStringFloat`

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

`clone, finalize, getClass, 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`

#### 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`

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`

#### toString

    public String toString(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 ELException

Specified by:
  `getType` in interface `Node`
Throws:
  `ELException`

#### getValue

    public Object getValue(EvaluationContext ctx)
                    throws ELException

Specified by:
  `getValue` in interface `Node`
Throws:
  `ELException`

#### isReadOnly

    public boolean isReadOnly(EvaluationContext ctx)
                       throws ELException

Specified by:
  `isReadOnly` in interface `Node`
Throws:
  `ELException`

#### setValue

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

Specified by:
  `setValue` in interface `Node`
Throws:
  `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 ELException

Specified by:
  `invoke` in interface `Node`
Throws:
  `ELException`

#### getMethodInfo

    public MethodInfo getMethodInfo(EvaluationContext ctx,
                           Class<?>[] paramTypes)
                             throws ELException

Specified by:
  `getMethodInfo` in interface `Node`
Throws:
  `ELException`

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `Object`

#### equals

    public boolean equals(Object obj)

Overrides:
  `equals` in class `Object`

#### getValueReference

    public ValueReference getValueReference(EvaluationContext ctx)

Specified by:
  `getValueReference` in interface `Node`
Since:
  EL 2.2

#### isParametersProvided

    public boolean isParametersProvided()

Specified by:
  `isParametersProvided` in interface `Node`
Since:
  EL 2.2