private boolean isNearParameter() { Integer nearIndex = MongoParameters.this.nearIndex; return nearIndex != null && nearIndex.equals(getIndex()); }
/** * Creates a new {@link MongoParameter}. * * @param parameter must not be {@literal null}. */ MongoParameter(MethodParameter parameter) { super(parameter); this.parameter = parameter; if (!isPoint() && hasNearAnnotation()) { throw new IllegalArgumentException("Near annotation is only allowed at Point parameter!"); } }
/** * Check if the given {@link org.springframework.data.repository.query.QueryMethod} receives a reactive parameter * wrapper as one of its parameters. * * @return */ public boolean hasReactiveWrapperParameter() { for (MongoParameter mongoParameter : getParameters()) { if (ReactiveWrapperConverters.supports(mongoParameter.getType())) { return true; } } return false; }
private boolean isNearParameter() { Integer nearIndex = MongoParameters.this.nearIndex; return nearIndex != null && nearIndex.equals(getIndex()); }
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; }
@Override protected MongoParameter createParameter(MethodParameter parameter) { return new MongoParameter(parameter); }
private boolean isManuallyAnnotatedNearParameter() { return isPoint() && hasNearAnnotation(); }
@Override public boolean isSpecialParameter() { return super.isSpecialParameter() || Distance.class.isAssignableFrom(getType()) || isNearParameter() || TextCriteria.class.isAssignableFrom(getType()); }
/** * Creates a new {@link MongoParameter}. * * @param parameter must not be {@literal null}. */ MongoParameter(MethodParameter parameter) { super(parameter); this.parameter = parameter; if (!isPoint() && hasNearAnnotation()) { throw new IllegalArgumentException("Near annotation is only allowed at Point parameter!"); } }
private boolean isManuallyAnnotatedNearParameter() { return isPoint() && hasNearAnnotation(); }
@Override protected MongoParameter createParameter(MethodParameter parameter) { return new MongoParameter(parameter); }
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; }
/** * Check if the given {@link org.springframework.data.repository.query.QueryMethod} receives a reactive parameter * wrapper as one of its parameters. * * @return */ public boolean hasReactiveWrapperParameter() { for (MongoParameter mongoParameter : getParameters()) { if (ReactiveWrapperConverters.supports(mongoParameter.getType())) { return true; } } return false; }
@Override public boolean isSpecialParameter() { return super.isSpecialParameter() || Distance.class.isAssignableFrom(getType()) || isNearParameter() || TextCriteria.class.isAssignableFrom(getType()); }