# Class OpExpressionNode

java.lang.Object
org.apache.cayenne.access.sqlbuilder.sqltree.Node
org.apache.cayenne.access.sqlbuilder.sqltree.ExpressionNode
org.apache.cayenne.access.sqlbuilder.sqltree.OpExpressionNode

public class OpExpressionNode extends ExpressionNode

Since:
  4.2

- ## Field Summary

  ### Fields inherited from class Node

  `children, childrenCount, parent, type`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `OpExpressionNode(String op)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `appendChildrenSeparator(SQLAppendable buffer, int childInd)`
  `Node`
  `copy()`
  `boolean`
  `equals(Object o)`
  `String`
  `getOp()`
  `int`
  `hashCode()`
  `protected boolean`
  `isComparison()`
  `protected String`
  `logicalOperator()`

  ### Methods inherited from class ExpressionNode

  `append, appendChildrenEnd, appendChildrenStart, needsParentheses, toString`

  ### Methods inherited from class Node

  `addChild, addChild, deepCopy, deepEquals, getChild, getChildrenCount, getParent, getType, replaceChild, setParent, visit`

  ### Methods inherited from class Object

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

- ## Constructor Details

  - ### OpExpressionNode

    public OpExpressionNode(String op)

- ## Method Details

  - ### appendChildrenSeparator

    public void appendChildrenSeparator(SQLAppendable buffer, int childInd)
    Overrides:
      `appendChildrenSeparator` in class `Node`

  - ### logicalOperator

    protected String logicalOperator()
    Overrides:
      `logicalOperator` in class `ExpressionNode`
    Returns:
      `"AND"` or `"OR"` if this node is a logical connective, otherwise `null`.

  - ### isComparison

    protected boolean isComparison()
    Overrides:
      `isComparison` in class `ExpressionNode`
    Returns:
      true for comparison operators that bind tighter than `AND`/`OR` and therefore don't need parentheses when nested directly under them.

  - ### copy

    public Node copy()
    Overrides:
      `copy` in class `ExpressionNode`

  - ### getOp

    public String getOp()

  - ### equals

    public boolean equals(Object o)
    Overrides:
      `equals` in class `Node`

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `Node`