Package com.mckoi.database

## Interface FunctionInfo

All Known Implementing Classes:
  `FunctionFactory.FF_FunctionInfo`

    public interface FunctionInfo

Meta information about a function. Used to compile information about a particular function.

Author:
  Tobias Downer

### Field Summary

Fields
`static int` `AGGREGATE` A type that represents an aggregate function.
`static int` `STATE_BASED` A function that is non-aggregate but whose return value is not guarenteed to be the same given the identical parameters over subsequent calls.
`static int` `STATIC` A type that represents a static function.

### Method Summary

All Methods Instance Methods Abstract Methods
`java.lang.String` `getFunctionFactoryName()` The name of the function factory class that this function is handled by.
`java.lang.String` `getName()` The name of the function as used by the SQL grammar to reference it.
`int` `getType()` The type of function, either STATIC, AGGREGATE or STATE_BASED (eg.

### Field Detail

#### STATIC

    static final int STATIC

A type that represents a static function. A static function is not an aggregate therefore does not require a GroupResolver. The result of a static function is guarenteed the same given identical parameters over subsequent calls.

See Also:
  Constant Field Values

#### AGGREGATE

    static final int AGGREGATE

A type that represents an aggregate function. An aggregate function requires the GroupResolver variable to be present in able to resolve the function over some set. The result of an aggregate function is guarenteed the same given the same set and identical parameters.

See Also:
  Constant Field Values

#### STATE_BASED

    static final int STATE_BASED

A function that is non-aggregate but whose return value is not guarenteed to be the same given the identical parameters over subsequent calls. This would include functions such as RANDOM and UNIQUEKEY. The result is dependant on some other state (a random seed and a sequence value).

See Also:
  Constant Field Values

### Method Detail

#### getName

    java.lang.String getName()

The name of the function as used by the SQL grammar to reference it.

#### getType

    int getType()

The type of function, either STATIC, AGGREGATE or STATE_BASED (eg. result is not dependant entirely from input but from another state for example RANDOM and UNIQUEKEY functions).

#### getFunctionFactoryName

    java.lang.String getFunctionFactoryName()

The name of the function factory class that this function is handled by. For example, "com.mckoi.database.InternalFunctionFactory".