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

- ## Constructor Summary

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

- ## Method Summary

  Modifier and Type
  Method
  Description
  `SQLAppendable`
  `append(SQLAppendable buffer, SQLGenerationContext context)`
  `void`
  `appendChildrenEnd(SQLAppendable buffer)`
  `void`
  `appendChildrenSeparator(SQLAppendable buffer, int childIdx)`
  `void`
  `appendChildrenStart(SQLAppendable 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`

  ### 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 SQLAppendable append(SQLAppendable buffer, SQLGenerationContext context)
    Specified by:
      `append` in class `Node`

  - ### visit

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

  - ### appendChildrenStart

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

  - ### appendChildrenEnd

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

  - ### appendChildrenSeparator

    public void appendChildrenSeparator(SQLAppendable 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`