Interface PropertyBridge<P>

  • Type Parameters:
    P - The type of the property on the POJO side of the bridge.
    All Superinterfaces:
    AutoCloseable

    public interface PropertyBridge<P>
    extends AutoCloseable
    A bridge between a POJO property and an element of the index schema.

    The PropertyBridge interface is a more powerful version of ValueBridge that can use reflection to get information about the property being bridged, and can contribute more than one index field, in particular.

    • Method Detail

      • write

        void write​(DocumentElement target,
                   P bridgedElement,
                   PropertyBridgeWriteContext context)
        Write to fields in the given DocumentElement, using the given bridgedElement as input and transforming it as necessary.

        Writing to the DocumentElement should be done using IndexFieldReferences retrieved when the bridge was bound.

        Warning: Reading from bridgedElement should be done with care. Any read that was not declared during binding (by declaring dependencies using PropertyBindingContext.dependencies() or (advanced use) creating an accessor using PropertyBindingContext.bridgedElement()) may lead to out-of-sync indexes, because Hibernate Search will consider the read property irrelevant to indexing and will not reindex entities when that property changes.

        Parameters:
        target - The DocumentElement to write to.
        bridgedElement - The element this bridge is applied to, from which data should be read.
        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).
      • close

        default void close()
        Close any resource before the bridge is discarded.
        Specified by:
        close in interface AutoCloseable