org.apache.cassandra.cql3.functions

## Class JavaUDF

- java.lang.Object
- - org.apache.cassandra.cql3.functions.JavaUDF

    public abstract class JavaUDF
    extends java.lang.Object

Base class for all Java UDFs. Used to separate internal classes like `UDFunction` from user provided code. Only references to this class (and generated implementations) are allowed - references from this class back to C* code are not allowed (except argument/return type information).

### Field Summary

Fields
`protected UDFContext` `udfContext`

### Constructor Summary

Constructors
`protected` `JavaUDF(com.datastax.driver.core.TypeCodec<java.lang.Object> returnCodec, com.datastax.driver.core.TypeCodec<java.lang.Object>[] argCodecs, UDFContext udfContext)`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`protected boolean` `compose_boolean(ProtocolVersion protocolVersion, int argIndex, java.nio.ByteBuffer value)`
`protected byte` `compose_byte(ProtocolVersion protocolVersion, int argIndex, java.nio.ByteBuffer value)`
`protected double` `compose_double(ProtocolVersion protocolVersion, int argIndex, java.nio.ByteBuffer value)`
`protected float` `compose_float(ProtocolVersion protocolVersion, int argIndex, java.nio.ByteBuffer value)`
`protected int` `compose_int(ProtocolVersion protocolVersion, int argIndex, java.nio.ByteBuffer value)`
`protected long` `compose_long(ProtocolVersion protocolVersion, int argIndex, java.nio.ByteBuffer value)`
`protected short` `compose_short(ProtocolVersion protocolVersion, int argIndex, java.nio.ByteBuffer value)`
`protected java.lang.Object` `compose(ProtocolVersion protocolVersion, int argIndex, java.nio.ByteBuffer value)`
`protected java.nio.ByteBuffer` `decompose(ProtocolVersion protocolVersion, java.lang.Object value)`
`protected abstract java.lang.Object` `executeAggregateImpl(ProtocolVersion protocolVersion, java.lang.Object firstParam, java.util.List<java.nio.ByteBuffer> params)`
`protected abstract java.nio.ByteBuffer` `executeImpl(ProtocolVersion protocolVersion, java.util.List<java.nio.ByteBuffer> params)`

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

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

### Field Detail

#### udfContext

    protected final UDFContext udfContext

### Constructor Detail

#### JavaUDF

    protected JavaUDF(com.datastax.driver.core.TypeCodec<java.lang.Object> returnCodec,
                      com.datastax.driver.core.TypeCodec<java.lang.Object>[] argCodecs,
                      UDFContext udfContext)

### Method Detail

#### executeImpl

    protected abstract java.nio.ByteBuffer executeImpl(ProtocolVersion protocolVersion,
                                                       java.util.List<java.nio.ByteBuffer> params)

#### executeAggregateImpl

    protected abstract java.lang.Object executeAggregateImpl(ProtocolVersion protocolVersion,
                                                             java.lang.Object firstParam,
                                                             java.util.List<java.nio.ByteBuffer> params)

#### compose

    protected java.lang.Object compose(ProtocolVersion protocolVersion,
                                       int argIndex,
                                       java.nio.ByteBuffer value)

#### decompose

    protected java.nio.ByteBuffer decompose(ProtocolVersion protocolVersion,
                                            java.lang.Object value)

#### compose_float

    protected float compose_float(ProtocolVersion protocolVersion,
                                  int argIndex,
                                  java.nio.ByteBuffer value)

#### compose_double

    protected double compose_double(ProtocolVersion protocolVersion,
                                    int argIndex,
                                    java.nio.ByteBuffer value)

#### compose_byte

    protected byte compose_byte(ProtocolVersion protocolVersion,
                                int argIndex,
                                java.nio.ByteBuffer value)

#### compose_short

    protected short compose_short(ProtocolVersion protocolVersion,
                                  int argIndex,
                                  java.nio.ByteBuffer value)

#### compose_int

    protected int compose_int(ProtocolVersion protocolVersion,
                              int argIndex,
                              java.nio.ByteBuffer value)

#### compose_long

    protected long compose_long(ProtocolVersion protocolVersion,
                                int argIndex,
                                java.nio.ByteBuffer value)

#### compose_boolean

    protected boolean compose_boolean(ProtocolVersion protocolVersion,
                                      int argIndex,
                                      java.nio.ByteBuffer value)