FunctionNode (cayenne-doc: Cayenne Documentation 5.0-M2 API)
Description: declaration: package: org.apache.cayenne.access.sqlbuilder.sqltree, class: FunctionNode

# Class FunctionNode

java.lang.Object
org.apache.cayenne.access.sqlbuilder.sqltree.Node
org.apache.cayenne.access.sqlbuilder.sqltree.FunctionNode

Direct Known Subclasses:
  `FirebirdSubstringFunctionNode, PositionFunctionNode`

public class FunctionNode extends Node

Since:
  4.2

- ## Field Summary

  ### Fields inherited from class Node

  `children, childrenCount, parent, type`
  Modifier and Type
  Field
  Description
  `protected Node[]`
  `children`
  `protected int`
  `childrenCount`
  `protected Node`
  `parent`
  `protected final NodeType`
  `type`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `FunctionNode(String functionName, String alias)`
  `FunctionNode(String functionName, String alias, boolean needParentheses)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `QuotingAppendable`
  `append(QuotingAppendable buffer)`
  `void`
  `appendChildrenEnd(QuotingAppendable buffer)`
  `void`
  `appendChildrenSeparator(QuotingAppendable buffer, int childIdx)`
  `void`
  `appendChildrenStart(QuotingAppendable buffer)`
  `Node`
  `copy()`
  `boolean`
  `equals(Object o)`
  `String`
  `getAlias()`
  `String`
  `getFunctionName()`
  `int`
  `hashCode()`
  `void`
  `setAlias(String alias)`
  `protected boolean`
  `skipContent()`
  `void`
  `visit(NodeTreeVisitor visitor)`
  `static FunctionNode`
  `wrap(Node node, String functionName)`

  ### Methods inherited from class Node

  `addChild, addChild, deepCopy, deepEquals, getChild, getChildrenCount, getParent, getType, replaceChild, setParent, toString`
  Modifier and Type
  Method
  Description
  `Node`
  `addChild(int index, Node node)`
  `Node`
  `addChild(Node node)`
  `<T extends Node>
  T`
  `deepCopy()`
  `boolean`
  `deepEquals(Node node)`
  `Node`
  `getChild(int idx)`
  `int`
  `getChildrenCount()`
  `Node`
  `getParent()`
  `NodeType`
  `getType()`
  `void`
  `replaceChild(int idx, Node node)`
  `void`
  `setParent(Node parent)`
  `String`
  `toString()`

  ### Methods inherited from class Object

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

- ## Constructor Details

  - ### FunctionNode

    public FunctionNode(String functionName, String alias)

  - ### FunctionNode

    public FunctionNode(String functionName, String alias, boolean needParentheses)

- ## Method Details

  - ### wrap

    public static FunctionNode wrap(Node node, String functionName)

  - ### append

    public QuotingAppendable append(QuotingAppendable buffer)
    Specified by:
      `append` in class `Node`

  - ### visit

    public void visit(NodeTreeVisitor visitor)
    Overrides:
      `visit` in class `Node`

  - ### appendChildrenStart

    public void appendChildrenStart(QuotingAppendable buffer)
    Overrides:
      `appendChildrenStart` in class `Node`

  - ### appendChildrenEnd

    public void appendChildrenEnd(QuotingAppendable buffer)
    Overrides:
      `appendChildrenEnd` in class `Node`

  - ### appendChildrenSeparator

    public void appendChildrenSeparator(QuotingAppendable buffer, int childIdx)
    Overrides:
      `appendChildrenSeparator` in class `Node`

  - ### getFunctionName

    public String getFunctionName()

  - ### getAlias

    public String getAlias()

  - ### setAlias

    public void setAlias(String alias)

  - ### copy

    public Node copy()
    Specified by:
      `copy` in class `Node`

  - ### skipContent

    protected boolean skipContent()

  - ### equals

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

  - ### hashCode

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