Interface SearchProjectionFactoryExtensionIfSupportedMoreStep<P,R,E>
- Type Parameters:
R
- The type of entity references in the parentSearchProjectionFactory
.E
- The type of entities in the parentSearchProjectionFactory
.P
- The resulting projection type.
- All Superinterfaces:
SearchProjectionFactoryExtensionIfSupportedStep<P,
R, E>
public interface SearchProjectionFactoryExtensionIfSupportedMoreStep<P,R,E>
extends SearchProjectionFactoryExtensionIfSupportedStep<P,R,E>
The second and later step when attempting to apply multiple extensions
to a
SearchProjectionFactory
.- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionorElse
(Function<SearchProjectionFactory<R, E>, ? extends ProjectionFinalStep<P>> projectionContributor) If no extension passed toSearchProjectionFactoryExtensionIfSupportedStep.ifSupported(SearchProjectionFactoryExtension, Function)
was supported so far, apply the given function to the current (non-extended)SearchProjectionFactory
; otherwise return the projection created in the first succeedingifSupported
call.If no extension passed toSearchProjectionFactoryExtensionIfSupportedStep.ifSupported(SearchProjectionFactoryExtension, Function)
was supported so far, throw an exception; otherwise return the projection created in the first succeedingifSupported
call.Methods inherited from interface org.hibernate.search.engine.search.projection.dsl.SearchProjectionFactoryExtensionIfSupportedStep
ifSupported
-
Method Details
-
orElse
ProjectionFinalStep<P> orElse(Function<SearchProjectionFactory<R, E>, ? extends ProjectionFinalStep<P>> projectionContributor) If no extension passed toSearchProjectionFactoryExtensionIfSupportedStep.ifSupported(SearchProjectionFactoryExtension, Function)
was supported so far, apply the given function to the current (non-extended)SearchProjectionFactory
; otherwise return the projection created in the first succeedingifSupported
call.- Parameters:
projectionContributor
- A function called if no extension was successfully applied; it will use the (non-extended) projection factory passed in parameter to create a projection, returning the final step in the projection DSL. Should generally be a lambda expression.- Returns:
- The created projection.
-
orElseFail
ProjectionFinalStep<P> orElseFail()If no extension passed toSearchProjectionFactoryExtensionIfSupportedStep.ifSupported(SearchProjectionFactoryExtension, Function)
was supported so far, throw an exception; otherwise return the projection created in the first succeedingifSupported
call.- Returns:
- The created projection.
- Throws:
SearchException
- If none of the previously passed extensions was supported.
-