Interface ContainerExtractor<C,​V>

  • Type Parameters:
    C - The type of containers this extractor can extract values from.
    V - The type of values extracted by this extractor.

    public interface ContainerExtractor<C,​V>
    An extractor of values from a container.

    Container extractors tell Hibernate Search how to extract values from object properties: no extractor would mean using the property value directly, a collection element extractor would extract each element of a collection, a map keys extractor would extract each key of a map, etc.

    See Also:
    ContainerExtractorPath, BuiltinContainerExtractors
    • Method Detail

      • extract

        <T,​C2> void extract​(C container,
                                  ValueProcessor<T,​? super V,​C2> perValueProcessor,
                                  T target,
                                  C2 context)
        Type Parameters:
        T - The type of the target of the perValueProcessor, i.e. whatever it is supposed to push the result of its processing to.
        C2 - The type of the context of the perValueProcessor, i.e. whatever information it needs that is independent from the target or value.
        container - A container to extract values from.
        perValueProcessor - A processor for values extracted from the container.
        target - The target to pass to the perValueProcessor.
        context - The context to pass to the perValueProcessor.
      • multiValued

        default boolean multiValued()
        true if this extractor's extract(Object, ValueProcessor, Object, Object) method may call the consumer multiple times. false if it will always call the consumer either zero or one time for a given container.