org.apache.cassandra.cql3.functions

## Interface Function

All Superinterfaces:
  AssignmentTestable

All Known Subinterfaces:
  AggregateFunction, ScalarFunction

All Known Implementing Classes:
  AbstractFunction, FromJsonFct, JavaBasedUDFunction, NativeAggregateFunction, NativeFunction, NativeScalarFunction, ToJsonFct, TokenFct, UDAggregate, UDFunction

    public interface Function
    extends AssignmentTestable

### Nested Class Summary

### Nested classes/interfaces inherited from interface org.apache.cassandra.cql3.AssignmentTestable

`AssignmentTestable.TestResult`

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `addFunctionsTo(java.util.List<Function> functions)`
`java.util.List<AbstractType<?>>` `argTypes()`
`java.lang.String` `columnName(java.util.List<java.lang.String> columnNames)` Returns the name of the function to use within a ResultSet.
`boolean` `hasReferenceTo(Function function)`
`boolean` `isAggregate()` Checks whether the function is an aggregate function or not.
`boolean` `isNative()` Checks whether the function is a native/hard coded one or not.
`FunctionName` `name()`
`AbstractType<?>` `returnType()`

### Methods inherited from interface org.apache.cassandra.cql3.AssignmentTestable

`testAssignment`

### Method Detail

#### name

    FunctionName name()

#### argTypes

    java.util.List<AbstractType<?>> argTypes()

#### returnType

    AbstractType<?> returnType()

#### isNative

    boolean isNative()

Checks whether the function is a native/hard coded one or not.

Returns:
  `true` if the function is a native/hard coded one, `false` otherwise.

#### isAggregate

    boolean isAggregate()

Checks whether the function is an aggregate function or not.

Returns:
  `true` if the function is an aggregate function, `false` otherwise.

#### addFunctionsTo

    void addFunctionsTo(java.util.List<Function> functions)

#### hasReferenceTo

    boolean hasReferenceTo(Function function)

#### columnName

    java.lang.String columnName(java.util.List<java.lang.String> columnNames)

Returns the name of the function to use within a ResultSet.

Parameters:
  `columnNames` - the names of the columns used to call the function
Returns:
  the name of the function to use within a ResultSet