List of usage examples for org.springframework.data.gemfire.function GemfireFunctionUtils getAnnotationParameterPosition
public static int getAnnotationParameterPosition(Method method, Class<?> targetAnnotationType, Class<?>[] requiredTypes)
From source file:org.springframework.data.gemfire.function.FunctionContextInjectingArgumentResolver.java
public FunctionContextInjectingArgumentResolver(Method method) { this.method = method; int regionDataAnnotationParameterPosition = GemfireFunctionUtils.getAnnotationParameterPosition(method, RegionData.class, new Class[] { Map.class }); int regionTypeParameterPosition = getArgumentTypePosition(method, Region.class); if (regionDataAnnotationParameterPosition >= 0 && regionTypeParameterPosition >= 0) { Assert.isTrue(regionDataAnnotationParameterPosition == regionTypeParameterPosition, String.format( "Function method signature for method %s cannot contain an @RegionData parameter and a different Region type parameter", method.getName()));/* w ww . java 2s . c o m*/ } regionParameterPosition = (regionDataAnnotationParameterPosition >= 0 ? regionDataAnnotationParameterPosition : (regionTypeParameterPosition >= 0 ? regionTypeParameterPosition : -1)); filterParameterPosition = GemfireFunctionUtils.getAnnotationParameterPosition(method, Filter.class, new Class[] { Set.class }); if (regionParameterPosition >= 0 && filterParameterPosition >= 0) { Assert.state(regionParameterPosition != filterParameterPosition, "region parameter and filter parameter must be different"); } functionContextParameterPosition = getArgumentTypePosition(method, FunctionContext.class); resultSenderParameterPosition = getArgumentTypePosition(method, ResultSender.class); }