Package org.apache.cayenne.access.sqlbuilder.sqltree

## 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 org.apache.cayenne.access.sqlbuilder.sqltree.Node

      `children, childrenCount, parent, type`

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    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()` |
    `String` | `getAlias()` |
    `String` | `getFunctionName()` |
    `void` | `setAlias​(String alias)` |
    `protected boolean` | `skipContent()` |
    `void` | `visit​(NodeTreeVisitor visitor)` |
    `static FunctionNode` | `wrap​(Node node, String functionName)` |

    - ### Methods inherited from class org.apache.cayenne.access.sqlbuilder.sqltree.Node

      `addChild, addChild, deepCopy, getChild, getChildrenCount, getParent, getType, replaceChild, setParent, toString`

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

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

- - ### Constructor Detail

    - #### FunctionNode

          public FunctionNode​(String functionName,
                              String alias)

    - #### FunctionNode

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

  - ### Method Detail

    - #### 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()