Class ProjectionConverter<F,V>

Type Parameters:
F - The type of source values obtained from the backend.
V - The type of projected values.

public final class ProjectionConverter<F,V> extends Object
A converter from a value obtained from the backend to a projected value.
  • Constructor Details

  • Method Details

    • passThrough

      public static <F> ProjectionConverter<F,F> passThrough(Class<F> fieldAndValueType)
    • toString

      public String toString()
      toString in class Object
    • valueType

      public Class<V> valueType()
    • fromDocumentValue

      public V fromDocumentValue(F value, FromDocumentValueConvertContext context)
      value - The index field value to convert.
      context - A context that can be extended to a more useful type, giving access to such things as a Hibernate ORM Session (if using the Hibernate ORM mapper).
      The converted value.
    • withConvertedType

      public <T> ProjectionConverter<F,? extends T> withConvertedType(Class<T> expectedType, EventContextProvider eventContextProvider)
      Check whether projected values can be assigned to the given type, and returns the projection converter with an appropriate type.
      Type Parameters:
      T - A candidate type for assignment of converted values.
      expectedType - A candidate type for assignment of converted values.
      eventContextProvider - A provider for the event context to pass to produced exceptions.
      The projection converter, guaranteed to convert values to the given type.
      SearchException - If the projection converter cannot convert values to the given type.
    • isCompatibleWith

      public boolean isCompatibleWith(ProjectionConverter<?,?> other)
      other - Another DslConverter, never null.
      true if the given object behaves exactly the same as this object, i.e. its withConvertedType(Class, EventContextProvider) and fromDocumentValue(Object, FromDocumentValueConvertContext) methods are guaranteed to always return the same value as this object's when given the same input. false otherwise, or when in doubt.