org.firebirdsql.jdbc.escape

## Class FBEscapedFunctionHelper

- java.lang.Object
- - org.firebirdsql.jdbc.escape.FBEscapedFunctionHelper

    public class FBEscapedFunctionHelper
    extends java.lang.Object

Helper class for escaped functions.

Author:
  Roman Rokytskyy, Mark Rotteveel

### Constructor Summary

Constructors
Constructor and Description
`FBEscapedFunctionHelper()`

### Method Summary

Methods
`static java.lang.String` `abs(java.lang.String[] params)` Produce a function call for the `abs` UDF function.
`static java.lang.String` `acos(java.lang.String[] params)` Produce a function call for the `acos` UDF function.
`static java.lang.String` `asin(java.lang.String[] params)` Produce a function call for the `asin` UDF function.
`static java.lang.String` `atan(java.lang.String[] params)` Produce a function call for the `atan` UDF function.
`static java.lang.String` `atan2(java.lang.String[] params)` Produce a function call for the `atan2` UDF function.
`static java.lang.String` `ceiling(java.lang.String[] params)` Produce a function call for the `ceiling` UDF function.
`static java.lang.String` `convertTemplate(java.lang.String functionCall, FBEscapedParser.EscapeParserMode mode)` Convert escaped function call using function template.
`static java.lang.String` `cos(java.lang.String[] params)` Produce a function call for the `cos` UDF function.
`static java.lang.String` `cot(java.lang.String[] params)` Produce a function call for the `cot` UDF function.
`static java.lang.String` `floor(java.lang.String[] params)` Produce a function call for the `floor` UDF function.
`static java.util.Set<java.lang.String>` `getSupportedNumericFunctions()`
`static java.util.Set<java.lang.String>` `getSupportedStringFunctions()`
`static java.util.Set<java.lang.String>` `getSupportedSystemFunctions()`
`static java.util.Set<java.lang.String>` `getSupportedTimeDateFunctions()`
`static java.lang.String` `log10(java.lang.String[] params)` Produce a function call for the `log10` UDF function.
`static java.lang.String` `mod(java.lang.String[] params)` Produce a function call for the `mod` UDF function.
`static java.util.List<java.lang.String>` `parseArguments(java.lang.String functionCall)` Extract function arguments from the function call.
`static java.lang.String` `parseFunction(java.lang.String functionCall)` Extract function name from the function call.
`static java.lang.String` `pi(java.lang.String[] params)` Produce a function call for the `pi` UDF function.
`static java.lang.String` `rand(java.lang.String[] params)` Produce a function call for the `rand` UDF function.
`static java.lang.String` `sign(java.lang.String[] params)` Produce a function call for the `sign` UDF function.
`static java.lang.String` `sin(java.lang.String[] params)` Produce a function call for the `sin` UDF function.
`static java.lang.String` `sqrt(java.lang.String[] params)` Produce a function call for the `sqrt` UDF function.
`static java.lang.String` `tan(java.lang.String[] params)` Produce a function call for the `tan</tan> UDF function.`

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

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

### Constructor Detail

#### FBEscapedFunctionHelper

    public FBEscapedFunctionHelper()

### Method Detail

#### parseFunction

    public static java.lang.String parseFunction(java.lang.String functionCall)
                                          throws FBSQLParseException

Extract function name from the function call.

Parameters:
  `functionCall` - escaped function call.
Returns:
  name of the function.
Throws:
  `FBSQLParseException` - if parse error occurs.

#### parseArguments

    public static java.util.List<java.lang.String> parseArguments(java.lang.String functionCall)
                                                           throws FBSQLParseException

Extract function arguments from the function call. This method parses escaped function call string and extracts function parameters from it.

Parameters:
  `functionCall` - escaped function call.
Returns:
  list of parameters of the function.
Throws:
  `FBSQLParseException` - if parse error occurs.

#### convertTemplate

    public static java.lang.String convertTemplate(java.lang.String functionCall,
                                   FBEscapedParser.EscapeParserMode mode)
                                            throws FBSQLParseException

Convert escaped function call using function template.

Parameters:
  `functionCall` - escaped function call.
Returns:
  server-side representation of the function call or `null` if no template found.
Throws:
  `FBSQLParseException` - if escaped function call has incorrect syntax.

#### abs

    public static java.lang.String abs(java.lang.String[] params)
                                throws FBSQLParseException

Produce a function call for the `abs` UDF function. The syntax of the `abs` function is `{fn abs(number)}`.

Parameters:
  `params` - The parameters to be used in the call
Throws:
  `FBSQLParseException` - if there is an error with the parameters

#### acos

    public static java.lang.String acos(java.lang.String[] params)
                                 throws FBSQLParseException

Produce a function call for the `acos` UDF function. The syntax of the `acos` function is `{fn acos(float)}`.

Parameters:
  `params` - The parameters to be used in the call
Throws:
  `FBSQLParseException` - if there is an error with the parameters

#### asin

    public static java.lang.String asin(java.lang.String[] params)
                                 throws FBSQLParseException

Produce a function call for the `asin` UDF function. The syntax of the `asin` function is `{fn asin(float)}`.

Parameters:
  `params` - The parameters to be used in the call
Throws:
  `FBSQLParseException` - if there is an error with the parameters

#### atan

    public static java.lang.String atan(java.lang.String[] params)
                                 throws FBSQLParseException

Produce a function call for the `atan` UDF function. The syntax of the `atan` function is `{fn atan(float)}`.

Parameters:
  `params` - The parameters to be used in the call
Throws:
  `FBSQLParseException` - if there is an error with the parameters

#### atan2

    public static java.lang.String atan2(java.lang.String[] params)
                                  throws FBSQLParseException

Produce a function call for the `atan2` UDF function. The syntax of the `atan2` function is `{fn atan2(float1, float2)}`.

Parameters:
  `params` - The parameters to be used in the call
Throws:
  `FBSQLParseException` - if there is an error with the parameters

#### ceiling

    public static java.lang.String ceiling(java.lang.String[] params)
                                    throws FBSQLParseException

Produce a function call for the `ceiling` UDF function. The syntax of the `ceiling` function is `{fn ceiling(number)}`.

Parameters:
  `params` - The parameters to be used in the call
Throws:
  `FBSQLParseException` - if there is an error with the parameters

#### cos

    public static java.lang.String cos(java.lang.String[] params)
                                throws FBSQLParseException

Produce a function call for the `cos` UDF function. The syntax of the `cos` function is `{fn cos(float)}`.

Parameters:
  `params` - The parameters to be used in the call
Throws:
  `FBSQLParseException` - if there is an error with the parameters

#### cot

    public static java.lang.String cot(java.lang.String[] params)
                                throws FBSQLParseException

Produce a function call for the `cot` UDF function. The syntax of the `cot` function is `{fn cot(float)}`.

Parameters:
  `params` - The parameters to be used in the call
Throws:
  `FBSQLParseException` - if there is an error with the parameters

#### floor

    public static java.lang.String floor(java.lang.String[] params)
                                  throws FBSQLParseException

Produce a function call for the `floor` UDF function. The syntax of the `floor` function is `{fn floor(number)}`.

Parameters:
  `params` - The parameters to be used in the call
Throws:
  `FBSQLParseException` - if there is an error with the parameters

#### log10

    public static java.lang.String log10(java.lang.String[] params)
                                  throws FBSQLParseException

Produce a function call for the `log10` UDF function. The syntax of the `log10` function is `{fn log10(number)}`.

Parameters:
  `params` - The parameters to be used in the call
Throws:
  `FBSQLParseException` - if there is an error with the parameters

#### mod

    public static java.lang.String mod(java.lang.String[] params)
                                throws FBSQLParseException

Produce a function call for the `mod` UDF function. The syntax of the `mod` function is `{fn mod(integer1, integer2)}`.

Parameters:
  `params` - The parameters to be used in the call
Throws:
  `FBSQLParseException` - if there is an error with the parameters

#### pi

    public static java.lang.String pi(java.lang.String[] params)
                               throws FBSQLParseException

Produce a function call for the `pi` UDF function. The syntax of the `pi` function is `{fn pi()}`.

Parameters:
  `params` - The parameters to be used in the call
Throws:
  `FBSQLParseException` - if there is an error with the parameters

#### rand

    public static java.lang.String rand(java.lang.String[] params)
                                 throws FBSQLParseException

Produce a function call for the `rand` UDF function. The syntax for the `rand` function is `{fn rand()}`.

Parameters:
  `params` - The parameters to be used in the call
Throws:
  `FBSQLParseException` - if there is an error with the parameters

#### sign

    public static java.lang.String sign(java.lang.String[] params)
                                 throws FBSQLParseException

Produce a function call for the `sign` UDF function. The syntax for the `sign` function is `{fn sign(number)}`.

Parameters:
  `params` - The parameters to be used in the call
Throws:
  `FBSQLParseException` - if there is an error with the parameters

#### sin

    public static java.lang.String sin(java.lang.String[] params)
                                throws FBSQLParseException

Produce a function call for the `sin` UDF function. The syntax for the `sin` function is `{fn sin(float)}`.

Parameters:
  `params` - The parameters to be used in the call
Throws:
  `FBSQLParseException` - if there is an error with the parameters

#### sqrt

    public static java.lang.String sqrt(java.lang.String[] params)
                                 throws FBSQLParseException

Produce a function call for the `sqrt` UDF function. The syntax for the `sqrt` function is `{fn sqrt(number)}`.

Parameters:
  `params` - The parameters to be used in the call
Throws:
  `FBSQLParseException` - if there is an error with the parameters

#### tan

    public static java.lang.String tan(java.lang.String[] params)
                                throws FBSQLParseException

Produce a function call for the `tan</tan> UDF function. The syntax for the `tan` function is `{fn tan(float)}`.`

Parameters:
  `params` - The parameters to be used in the call
Throws:
  `FBSQLParseException` - if there is an error with the parameters

#### getSupportedNumericFunctions

    public static java.util.Set<java.lang.String> getSupportedNumericFunctions()

Returns:
  Set of JDBC numeric functions supported (as defined in appendix D.1 of JDBC 4.1)

#### getSupportedStringFunctions

    public static java.util.Set<java.lang.String> getSupportedStringFunctions()

Returns:
  Set of JDBC string functions supported (as defined in appendix D.2 of JDBC 4.1)

#### getSupportedTimeDateFunctions

    public static java.util.Set<java.lang.String> getSupportedTimeDateFunctions()

Returns:
  Set of JDBC time and date functions supported (as defined in appendix D.3 of JDBC 4.1)

#### getSupportedSystemFunctions

    public static java.util.Set<java.lang.String> getSupportedSystemFunctions()

Returns:
  Set of JDBC system functions supported (as defined in appendix D.4 of JDBC 4.1)