private int findNearIndexInParameters(Method method) { int index = -1; for (java.lang.reflect.Parameter p : method.getParameters()) { MongoParameter param = createParameter(MethodParameter.forParameter(p)); if (param.isManuallyAnnotatedNearParameter()) { if(index == -1) { index = param.getIndex(); } else { throw new IllegalStateException(String.format("Found multiple @Near annotations ond method %s! Only one allowed!", method.toString())); } } } return index; }
@Test @SuppressWarnings("deprecation") public void testFactoryMethods() { assertEquals(stringParameter, MethodParameter.forMethodOrConstructor(method, 0)); assertEquals(longParameter, MethodParameter.forMethodOrConstructor(method, 1)); assertEquals(stringParameter, MethodParameter.forExecutable(method, 0)); assertEquals(longParameter, MethodParameter.forExecutable(method, 1)); assertEquals(stringParameter, MethodParameter.forParameter(method.getParameters()[0])); assertEquals(longParameter, MethodParameter.forParameter(method.getParameters()[1])); }
private int findNearIndexInParameters(Method method) { int index = -1; for (java.lang.reflect.Parameter p : method.getParameters()) { MongoParameter param = createParameter(MethodParameter.forParameter(p)); if (param.isManuallyAnnotatedNearParameter()) { if(index == -1) { index = param.getIndex(); } else { throw new IllegalStateException(String.format("Found multiple @Near annotations ond method %s! Only one allowed!", method.toString())); } } } return index; }
private static TypeDescriptor createTypeDescriptor(Method method, int paramIndex) { Parameter parameter = method.getParameters()[paramIndex]; MethodParameter methodParameter = MethodParameter.forParameter(parameter); TypeDescriptor typeDescriptor = new TypeDescriptor(methodParameter); // Feign applies the Param.Expander to each element of an Iterable, so in those // cases we need to provide a TypeDescriptor of the element. if (typeDescriptor.isAssignableTo(ITERABLE_TYPE_DESCRIPTOR)) { TypeDescriptor elementTypeDescriptor = typeDescriptor.getElementTypeDescriptor(); checkState(elementTypeDescriptor != null, "Could not resolve element type of Iterable type %s. Not declared?", typeDescriptor); typeDescriptor = elementTypeDescriptor; } return typeDescriptor; }
private static TypeDescriptor createTypeDescriptor(Method method, int paramIndex) { Parameter parameter = method.getParameters()[paramIndex]; MethodParameter methodParameter = MethodParameter.forParameter(parameter); TypeDescriptor typeDescriptor = new TypeDescriptor(methodParameter); // Feign applies the Param.Expander to each element of an Iterable, so in those // cases we need to provide a TypeDescriptor of the element. if (typeDescriptor.isAssignableTo(ITERABLE_TYPE_DESCRIPTOR)) { TypeDescriptor elementTypeDescriptor = typeDescriptor.getElementTypeDescriptor(); checkState(elementTypeDescriptor != null, "Could not resolve element type of Iterable type %s. Not declared?", typeDescriptor); typeDescriptor = elementTypeDescriptor; } return typeDescriptor; }