# Class ASTTrue

java.lang.Object
org.apache.cayenne.exp.Expression
org.apache.cayenne.exp.parser.SimpleNode
org.apache.cayenne.exp.parser.ConditionNode
org.apache.cayenne.exp.parser.ASTTrue

All Implemented Interfaces:
  `Serializable, Node, XMLSerializable`

public class ASTTrue extends ConditionNode
Boolean true expression element Notice that there is one ASTTrue and one ASTFalse instead of a ASTBoolean with a Boolean value. The main reason for doing this is that a common ASTBoolean will have operand count of 1 and that will default to a prepared statmenet like " where ? and (...)", but we only need " where true and (...)".

Since:
  3.0
See Also:
  - `ASTFalse`
  - Serialized Form

- ## Field Summary

  ### Fields inherited from class SimpleNode

  `children, id, parent`

  ### Fields inherited from class Expression

  `ADD, ALL, AND, ANY, ASTERISK, BETWEEN, BITWISE_AND, BITWISE_LEFT_SHIFT, BITWISE_NOT, BITWISE_OR, BITWISE_RIGHT_SHIFT, BITWISE_XOR, CASE_WHEN, CUSTOM_OP, DB_PATH, DBID_PATH, DIVIDE, ELSE, 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, SCALAR, SUBQUERY, SUBTRACT, THEN, TRUE, type, WHEN`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ASTTrue()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `appendAsEJBQL(List<Object> parameterAccumulator, Appendable out, String rootId)`
  Stores a String representation of Expression as EJBQL using a provided PrintWriter.
  `void`
  `appendAsString(Appendable out)`
  Appends own content as a String to the provided Appendable.
  `protected Boolean`
  `evaluateSubNode(Object o, Object[] evaluatedChildren)`
  `protected String`
  `getExpressionOperator(int index)`
  `protected int`
  `getRequiredChildrenCount()`
  `int`
  `getType()`
  Returns a type of expression.
  `Expression`
  `shallowCopy()`
  Creates a copy of this expression node, without copying children.

  ### Methods inherited from class ConditionNode

  `evaluateNode, exists, isValidParent, notExists`

  ### Methods inherited from class SimpleNode

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

  ### Methods inherited from class 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 Object

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

- ## Constructor Details

  - ### ASTTrue

    public ASTTrue()

- ## Method Details

  - ### getRequiredChildrenCount

    protected int getRequiredChildrenCount()
    Specified by:
      `getRequiredChildrenCount` in class `ConditionNode`

  - ### evaluateSubNode

    protected Boolean evaluateSubNode(Object o, Object[] evaluatedChildren) throws Exception
    Specified by:
      `evaluateSubNode` in class `ConditionNode`
    Throws:
      `Exception`

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

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

  - ### 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`
    Since:
      4.0

  - ### appendAsEJBQL

    public void appendAsEJBQL(List<Object> parameterAccumulator, Appendable out, String rootId) throws IOException
    Description copied from class: `Expression`
    Stores a String representation of Expression as EJBQL using a provided PrintWriter. DB path expressions produce non-standard EJBQL path expressions. If the parameterAccumulator is supplied then as the EJBQL is output, it may load parameters into this list. In this case, the EJBQL output will contain reference to positional parameters. If no parameterAccumulator is supplied and a scalar type is encountered for which there is no EJBQL literal representation (such as dates) then this method will throw a runtime exception to indicate that it was not possible to generate a string-only representation of the Expression in EJBQL.
    Overrides:
      `appendAsEJBQL` in class `SimpleNode`
    Throws:
      `IOException`
    Since:
      4.0