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

public final class HighlightProjectionBinder extends Object implements ProjectionBinder
Binds a constructor parameter to a projection to highlights, i.e. sequences of text that matched the query, extracted from the given field's value.
See Also:
  • SearchProjectionFactory.highlight(String)
  • HighlightProjectionOptionsStep.highlighter(String)
  • HighlightProjection
  • Method Details

    • create

      public static HighlightProjectionBinder create()
      Creates a HighlightProjectionBinder 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 HighlightProjectionBinder create(String fieldPath)
      Parameters:
      fieldPath - The path to the index field whose highlights 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.
    • highlighter

      public HighlightProjectionBinder highlighter(String highlighterName)
      Parameters:
      highlighterName - The name of a highlighter defined on the query, or null to use the default highlighter.
      Returns:
      this, for method chaining.
      See Also:
      • HighlightProjectionOptionsStep.highlighter(String)
    • 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.