Class DistanceProjectionBinder
java.lang.Object
org.hibernate.search.mapper.pojo.search.definition.binding.builtin.DistanceProjectionBinder
- All Implemented Interfaces:
ProjectionBinder
Binds a constructor parameter to a projection to the distance from the center to a field in the indexed document.
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionvoid
bind
(ProjectionBindingContext context) Binds a constructor parameter to a projection.static DistanceProjectionBinder
Creates aDistanceProjectionBinder
to be passed toMethodParameterMappingStep.projection(ProjectionBinder)
.static DistanceProjectionBinder
Creates aDistanceProjectionBinder
to be passed toMethodParameterMappingStep.projection(ProjectionBinder)
.unit
(DistanceUnit unit)
-
Method Details
-
create
Creates aDistanceProjectionBinder
to be passed toMethodParameterMappingStep.projection(ProjectionBinder)
.This method requires the projection constructor class to be compiled with the
-parameters
flag to infer the field path from the name of the constructor parameter being bound. If this compiler flag is not used, usecreate(String)
instead and pass the field path explicitly.- Parameters:
parameterName
- The name of the parameter representing thecenter point
from which the distance to the field value is going to be calculated.- Returns:
- The binder.
- See Also:
-
create
Creates aDistanceProjectionBinder
to be passed toMethodParameterMappingStep.projection(ProjectionBinder)
.- Parameters:
fieldPath
- The path to the index field whose value will be extracted. Whennull
, defaults to the name of the constructor parameter being bound, if it can be retrieved (requires the class to be compiled with the-parameters
flag; otherwise a nullfieldPath
will lead to a failure).parameterName
- The name of the parameter representing thecenter point
from which the distance to the field value is going to be calculated.- Returns:
- The binder.
- See Also:
-
unit
- Parameters:
unit
- The unit of the computed distance (default is meters).- Returns:
this
, for method chaining.- See Also:
-
bind
Description copied from interface:ProjectionBinder
Binds a constructor parameter to a projection.The context passed in parameter provides various information about the constructor parameter being bound. Implementations are expected to take advantage of that information and to call one of the
definition*(...)
methods on the context to set the projection.- Specified by:
bind
in interfaceProjectionBinder
- Parameters:
context
- A context object providing information about the constructor parameter being bound, and expecting a call to one of itsdefinition*(...)
methods.
-