Package io.prestosql.operator
Class ParametricImplementationsGroup<T extends ParametricImplementation>
- java.lang.Object
-
- io.prestosql.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 class
ParametricImplementationsGroup.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()
Signature
getSignature()
List<T>
getSpecializedImplementations()
boolean
isNullable()
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()
-
-