Package org.apache.cayenne.exp.parser

## Class ASTCustomOperator

- java.lang.Object
- - org.apache.cayenne.exp.Expression
  - - org.apache.cayenne.exp.parser.SimpleNode
    - - org.apache.cayenne.exp.parser.ASTCustomOperator

- All Implemented Interfaces:
    `Serializable`, `Node`, `XMLSerializable`

      public class ASTCustomOperator
      extends SimpleNode

  Since:
    4.2
  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class org.apache.cayenne.exp.parser.SimpleNode

      `children, id, parent`

    - ### Fields inherited from class org.apache.cayenne.exp.Expression

      `ADD, AND, ASTERISK, BETWEEN, BITWISE_AND, BITWISE_LEFT_SHIFT, BITWISE_NOT, BITWISE_OR, BITWISE_RIGHT_SHIFT, BITWISE_XOR, CUSTOM_OP, DB_PATH, DBID_PATH, DIVIDE, ENCLOSING_OBJECT, EQUAL_TO, EXISTS, FALSE, FULL_OBJECT, FUNCTION_CALL, GREATER_THAN, GREATER_THAN_EQUAL_TO, IN, LESS_THAN, LESS_THAN_EQUAL_TO, LIKE, LIKE_IGNORE_CASE, LIST, MULTIPLY, NEGATIVE, NOT, NOT_BETWEEN, NOT_EQUAL_TO, NOT_EXISTS, NOT_IN, NOT_LIKE, NOT_LIKE_IGNORE_CASE, OBJ_PATH, OR, PRUNED_NODE, SUBQUERY, SUBTRACT, TRUE, type`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ASTCustomOperator​(int id)` |
    `ASTCustomOperator​(String operator)` |
    `ASTCustomOperator​(String operator, Object[] nodes)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `appendAsString​(Appendable out)` | Appends own content as a String to the provided Appendable.
    `protected Object` | `evaluateNode​(Object o)` | Evaluates itself with object, pushing result on the stack.
    `protected String` | `getExpressionOperator​(int index)` |
    `String` | `getOperator()` |
    `int` | `getType()` | Returns a type of expression.
    `void` | `jjtAddChild​(Node n, int i)` | This method tells the node to add its argument to the node's list of children.
    `void` | `setOperator​(String operator)` |
    `Expression` | `shallowCopy()` | Creates a copy of this expression node, without copying children.

    - ### Methods inherited from class org.apache.cayenne.exp.parser.SimpleNode

      `appendAsEJBQL, appendAsEJBQL, appendAsEscapedString, appendChildrenAsEJBQL, appendScalarAsString, connectChildren, encodeScalarAsEJBQL, evaluate, evaluateChild, expName, flattenTree, getEJBQLExpressionOperator, getOperand, getOperandCount, getPathAliases, jjtClose, jjtGetChild, jjtGetNumChildren, jjtGetParent, jjtOpen, jjtSetParent, notExp, pruneNodeForPrunedChild, setOperand, unwrapChild, wrapChild`

    - ### Methods inherited from class org.apache.cayenne.exp.Expression

      `andExp, andExp, deepCopy, encodeAsXML, equals, filter, filterObjects, first, hashCode, joinExp, joinExp, match, orExp, orExp, params, params, paramsArray, setType, toEJBQL, toEJBQL, toString, transform, transformExpression, traverse, traverse`

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

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

- - ### Constructor Detail

    - #### ASTCustomOperator

          public ASTCustomOperator​(int id)

    - #### ASTCustomOperator

          public ASTCustomOperator​(String operator)

    - #### ASTCustomOperator

          public ASTCustomOperator​(String operator,
                                   Object[] nodes)

  - ### Method Detail

    - #### 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`
      Overrides:
        `jjtAddChild` in class `SimpleNode`

    - #### evaluateNode

          protected Object evaluateNode​(Object o)
                                 throws Exception

      Description copied from class: `SimpleNode`
      Evaluates itself with object, pushing result on the stack.
      Specified by:
        `evaluateNode` in class `SimpleNode`
      Throws:
        `Exception`

    - #### setOperator

          public void setOperator​(String operator)

    - #### appendAsString

          public void appendAsString​(Appendable out)
                              throws IOException

      Description copied from class: `Expression`
      Appends own content as a String to the provided Appendable.
      Overrides:
        `appendAsString` in class `SimpleNode`
      Throws:
        `IOException`

    - #### getType

          public int getType()

      Description copied from class: `Expression`
      Returns a type of expression. Most common types are defined as public static fields of this interface.
      Overrides:
        `getType` in class `Expression`

    - #### getOperator

          public String getOperator()

    - #### getExpressionOperator

          protected String getExpressionOperator​(int index)

      Specified by:
        `getExpressionOperator` in class `SimpleNode`

    - #### shallowCopy

          public Expression shallowCopy()

      Description copied from class: `Expression`
      Creates a copy of this expression node, without copying children.
      Specified by:
        `shallowCopy` in class `Expression`