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()Map<Signature,T>getExactImplementations()FunctionNullabilitygetFunctionNullability()List<T>getGenericImplementations()SignaturegetSignature()List<T>getSpecializedImplementations()static <T extends ParametricImplementation>
ParametricImplementationsGroup<T>of(T... implementations)ParametricImplementationsGroup<T>withAlias(String alias)
-
-
-
Method Detail
-
getFunctionNullability
public FunctionNullability getFunctionNullability()
-
of
@SafeVarargs public static <T extends ParametricImplementation> ParametricImplementationsGroup<T> of(T... implementations)
-
getSignature
public Signature getSignature()
-
withAlias
public ParametricImplementationsGroup<T> withAlias(String alias)
-
builder
public static <T extends ParametricImplementation> ParametricImplementationsGroup.Builder<T> builder()
-
-