java.lang.Object
org.hibernate.search.mapper.pojo.search.definition.binding.builtin.FieldProjectionBinder
All Implemented Interfaces:
ProjectionBinder

public final class FieldProjectionBinder extends Object implements ProjectionBinder
Binds a constructor parameter to a projection to the value of a field in the indexed document.
See Also:
  • Method Details

    • create

      public static FieldProjectionBinder create()
      Creates a FieldProjectionBinder to be passed to MethodParameterMappingStep.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, use create(String) instead and pass the field path explicitly.

      Returns:
      The binder.
    • create

      public static FieldProjectionBinder create(String fieldPath)
      Parameters:
      fieldPath - The path to the index field whose value will be extracted. When null, 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 null fieldPath will lead to a failure).
      Returns:
      The binder.
    • valueConvert

      @Deprecated public FieldProjectionBinder valueConvert(org.hibernate.search.engine.search.common.ValueConvert valueConvert)
      Deprecated.
      Parameters:
      valueConvert - Controls how the data fetched from the backend should be converted. See ValueConvert.
      Returns:
      this, for method chaining.
      See Also:
      • SearchProjectionFactory.field(String, Class, org.hibernate.search.engine.search.common.ValueConvert)
    • valueModel

      public FieldProjectionBinder valueModel(org.hibernate.search.engine.search.common.ValueModel valueModel)
      Parameters:
      valueModel - Controls how the data fetched from the backend should be converted. See ValueModel.
      Returns:
      this, for method chaining.
      See Also:
      • SearchProjectionFactory.field(String, Class, ValueModel)
    • bind

      public void bind(ProjectionBindingContext context)
      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 interface ProjectionBinder
      Parameters:
      context - A context object providing information about the constructor parameter being bound, and expecting a call to one of its definition*(...) methods.