Package io.trino.operator
Class ParametricImplementationsGroup<T extends ParametricImplementation>
- java.lang.Object
-
- io.trino.operator.ParametricImplementationsGroup<T>
-
- Type Parameters:
T- type of implementation details
public class ParametricImplementationsGroup<T extends ParametricImplementation> extends Object
This class represents set of three collections representing implementations of operators similar to partial template specialization from C++ allowing more optimized implementations to be provided for specific types.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classParametricImplementationsGroup.Builder<T extends ParametricImplementation>
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <T extends ParametricImplementation>
ParametricImplementationsGroup.Builder<T>builder()List<FunctionArgumentDefinition>getArgumentDefinitions()Map<Signature,T>getExactImplementations()List<T>getGenericImplementations()SignaturegetSignature()List<T>getSpecializedImplementations()booleanisNullable()static <T extends ParametricImplementation>
ParametricImplementationsGroup<T>of(T... implementations)
-
-
-
Method Detail
-
isNullable
public boolean isNullable()
-
getArgumentDefinitions
public List<FunctionArgumentDefinition> getArgumentDefinitions()
-
of
public static <T extends ParametricImplementation> ParametricImplementationsGroup<T> of(T... implementations)
-
getSignature
public Signature getSignature()
-
builder
public static <T extends ParametricImplementation> ParametricImplementationsGroup.Builder<T> builder()
-
-