@SuppressWarnings("unchecked") @Override protected <T> T getValue(int index) { if (subscriptions.get(index) != null) { return (T) subscriptions.get(index).block(); } return super.getValue(index); }
@Nullable @Override public TextCriteria getFullText() { int index = method.getParameters().getFullTextParameterIndex(); return index >= 0 ? potentiallyConvertFullText(getValue(index)) : null; }
public Point getGeoNearLocation() { int nearIndex = method.getParameters().getNearIndex(); if (nearIndex == -1) { return null; } Object value = getValue(nearIndex); if (value == null) { return null; } if (value instanceof double[]) { double[] typedValue = (double[]) value; if (typedValue.length != 2) { throw new IllegalArgumentException("The given double[] must have exactly 2 elements!"); } else { return new Point(typedValue[0], typedValue[1]); } } return (Point) value; }
public Range<Distance> getDistanceRange() { MongoParameters mongoParameters = method.getParameters(); int rangeIndex = mongoParameters.getRangeIndex(); if (rangeIndex != -1) { return getValue(rangeIndex); } int maxDistanceIndex = mongoParameters.getMaxDistanceIndex(); Bound<Distance> maxDistance = maxDistanceIndex == -1 ? Bound.unbounded() : Bound.inclusive((Distance) getValue(maxDistanceIndex)); return Range.of(Bound.unbounded(), maxDistance); }
@SuppressWarnings("unchecked") @Override protected <T> T getValue(int index) { if (subscriptions.get(index) != null) { return (T) subscriptions.get(index).block(); } return super.getValue(index); }
@Nullable @Override public TextCriteria getFullText() { int index = method.getParameters().getFullTextParameterIndex(); return index >= 0 ? potentiallyConvertFullText(getValue(index)) : null; }
public Point getGeoNearLocation() { int nearIndex = method.getParameters().getNearIndex(); if (nearIndex == -1) { return null; } Object value = getValue(nearIndex); if (value == null) { return null; } if (value instanceof double[]) { double[] typedValue = (double[]) value; if (typedValue.length != 2) { throw new IllegalArgumentException("The given double[] must have exactly 2 elements!"); } else { return new Point(typedValue[0], typedValue[1]); } } return (Point) value; }
public Range<Distance> getDistanceRange() { MongoParameters mongoParameters = method.getParameters(); int rangeIndex = mongoParameters.getRangeIndex(); if (rangeIndex != -1) { return getValue(rangeIndex); } int maxDistanceIndex = mongoParameters.getMaxDistanceIndex(); Bound<Distance> maxDistance = maxDistanceIndex == -1 ? Bound.unbounded() : Bound.inclusive((Distance) getValue(maxDistanceIndex)); return Range.of(Bound.unbounded(), maxDistance); }