@AggregationStateSerializerFactory(NullableDoubleState.class) public static AccumulatorStateSerializer<?> createSerializer() { return new CustomStateSerializerAggregationFunction.CustomSerializer(); } }
private static Optional<Method> getAggregationStateSerializerFactory(Class<?> aggregationDefinition, Class<?> stateClass) { // Only include methods that match this state class List<Method> stateSerializerFactories = FunctionsParserHelper.findPublicStaticMethodsWithAnnotation(aggregationDefinition, AggregationStateSerializerFactory.class).stream() .filter(method -> ((AggregationStateSerializerFactory) method.getAnnotation(AggregationStateSerializerFactory.class)).value().equals(stateClass)) .collect(toImmutableList()); if (stateSerializerFactories.isEmpty()) { return Optional.empty(); } checkArgument(stateSerializerFactories.size() == 1, String.format( "Expect at most 1 @AggregationStateSerializerFactory(%s.class) annotation, found %s in %s", stateClass.toGenericString(), stateSerializerFactories.size(), aggregationDefinition.toGenericString())); return Optional.of(getOnlyElement(stateSerializerFactories)); }
@AggregationStateSerializerFactory(NullableDoubleState.class) public static CustomSerializer createSerializer() { return new CustomSerializer(); } }
private static Optional<Method> getAggregationStateSerializerFactory(Class<?> aggregationDefinition, Class<?> stateClass) { // Only include methods that match this state class List<Method> stateSerializerFactories = FunctionsParserHelper.findPublicStaticMethodsWithAnnotation(aggregationDefinition, AggregationStateSerializerFactory.class).stream() .filter(method -> ((AggregationStateSerializerFactory) method.getAnnotation(AggregationStateSerializerFactory.class)).value().equals(stateClass)) .collect(toImmutableList()); if (stateSerializerFactories.isEmpty()) { return Optional.empty(); } checkArgument(stateSerializerFactories.size() == 1, String.format( "Expect at most 1 @AggregationStateSerializerFactory(%s.class) annotation, found %s in %s", stateClass.toGenericString(), stateSerializerFactories.size(), aggregationDefinition.toGenericString())); return Optional.of(getOnlyElement(stateSerializerFactories)); }
@AggregationStateSerializerFactory(NullableDoubleState.class) public static CustomSerializer createSerializer() { return new CustomSerializer(); } }
@AggregationStateSerializerFactory(NullableDoubleState.class) public static AccumulatorStateSerializer<?> createSerializer() { return new CustomStateSerializerAggregationFunction.CustomSerializer(); } }
@AggregationStateSerializerFactory(SliceState.class) public static CustomStateSerializerAggregationFunction.CustomSerializer createSerializer( @LiteralParameter("x") Long varcharSize) { return new CustomStateSerializerAggregationFunction.CustomSerializer(); } }
@AggregationStateSerializerFactory(NullableDoubleState.class) public static CustomStateSerializerAggregationFunction.CustomSerializer createSerializer( @OperatorDependency(operator = LESS_THAN, returnType = StandardTypes.BOOLEAN, argumentTypes = {DOUBLE, DOUBLE}) MethodHandle methodHandle) { return new CustomStateSerializerAggregationFunction.CustomSerializer(); } }
@AggregationStateSerializerFactory(SliceState.class) public static CustomStateSerializerAggregationFunction.CustomSerializer createSerializer( @LiteralParameter("x") Long varcharSize) { return new CustomStateSerializerAggregationFunction.CustomSerializer(); } }
@AggregationStateSerializerFactory(NullableDoubleState.class) public static CustomStateSerializerAggregationFunction.CustomSerializer createSerializer( @TypeParameter("T") Type type) { return new CustomStateSerializerAggregationFunction.CustomSerializer(); } }
@AggregationStateSerializerFactory(NullableDoubleState.class) public static CustomStateSerializerAggregationFunction.CustomSerializer createSerializer( @OperatorDependency(operator = LESS_THAN, returnType = StandardTypes.BOOLEAN, argumentTypes = {DOUBLE, DOUBLE}) MethodHandle methodHandle) { return new CustomStateSerializerAggregationFunction.CustomSerializer(); } }
@AggregationStateSerializerFactory(NullableDoubleState.class) public static CustomStateSerializerAggregationFunction.CustomSerializer createSerializer( @TypeParameter("T") Type type) { return new CustomStateSerializerAggregationFunction.CustomSerializer(); } }