Interface ProjectionBindingContext
The context passed to
ProjectionBinder.bind(ProjectionBindingContext)
.- See Also:
-
Method Summary
Modifier and TypeMethodDescription<T> BeanHolder
<? extends ProjectionDefinition<T>> createCompositeDefinition
(Class<T> projectedType) <T> BeanHolder
<? extends ProjectionDefinition<T>> createObjectDefinition
(String fieldPath, Class<T> projectedType, TreeFilterDefinition filter) <T> BeanHolder
<? extends ProjectionDefinition<List<T>>> createObjectDefinitionMulti
(String fieldPath, Class<T> projectedType, TreeFilterDefinition filter) <P> void
definition
(Class<P> expectedValueType, BeanHolder<? extends ProjectionDefinition<? extends P>> definitionHolder) Binds theconstructorParameter()
to the given projection definition.<P> void
definition
(Class<P> expectedValueType, ProjectionDefinition<? extends P> definition) Binds theconstructorParameter()
to the given projection definition.boolean
isIncluded
(String fieldPath) Optional
<? extends ProjectionBindingMultiContext> multi()
Inspects the type of theconstructorParameter()
to determine if it may be bound to a multi-valued projection.default Object
Deprecated.<T> T
paramOptional
(String name) Deprecated.UseparamOptional(String, Class)
instead.<T> Optional
<T> paramOptional
(String name, Class<T> paramType)
-
Method Details
-
definition
Binds theconstructorParameter()
to the given projection definition.- Type Parameters:
P
- The type of values returned by the projection.- Parameters:
expectedValueType
- The expected type of theconstructorParameter()
, which must be compatible with the given projection definition. Hibernate Search will check that these expectations are met, and throw an exception if they are not.definition
- A definition of the projection to bind to theconstructorParameter()
.
-
definition
<P> void definition(Class<P> expectedValueType, BeanHolder<? extends ProjectionDefinition<? extends P>> definitionHolder) Binds theconstructorParameter()
to the given projection definition.- Type Parameters:
P
- The type of values returned by the projection.- Parameters:
expectedValueType
- The expected type of theconstructorParameter()
, which must be compatible with the given projection definition. Hibernate Search will check that these expectations are met, and throw an exception if they are not.definitionHolder
- ABeanHolder
containing the definition of the projection to bind to theconstructorParameter()
.
-
multi
Inspects the type of theconstructorParameter()
to determine if it may be bound to a multi-valued projection.- Returns:
- An optional containing a context that can be used to bind a projection
if the type of the
constructorParameter()
can be bound to a multi-valued projection; an empty optional otherwise.
-
beanResolver
BeanResolver beanResolver()- Returns:
- A bean provider, allowing the retrieval of beans, including CDI/Spring DI beans when in the appropriate environment.
-
constructorParameter
- Returns:
- An entry point allowing to inspect the constructor parameter being bound to a projection.
-
param
Deprecated.Useparam(String, Class)
instead.- Parameters:
name
- The name of the parameter.- Returns:
- The value provided for this parameter.
- Throws:
SearchException
- If no value was provided for this parameter.- See Also:
-
param
- Type Parameters:
T
- The type of the parameter.- Parameters:
name
- The name of the parameter.paramType
- The type of the parameter.- Returns:
- The value provided for this parameter.
- Throws:
SearchException
- If no value was provided for this parameter.- See Also:
-
paramOptional
Deprecated.UseparamOptional(String, Class)
instead.- Parameters:
name
- The name of the parameter.- Returns:
- An optional containing the value provided for this parameter,
or
Optional.empty()
if no value was provided for this parameter. - See Also:
-
paramOptional
- Type Parameters:
T
- The type of the parameter.- Parameters:
name
- The name of the parameter.paramType
- The type of the parameter.- Returns:
- An optional containing the value provided for this parameter,
or
Optional.empty()
if no value was provided for this parameter. - See Also:
-
createObjectDefinition
@Incubating <T> BeanHolder<? extends ProjectionDefinition<T>> createObjectDefinition(String fieldPath, Class<T> projectedType, TreeFilterDefinition filter) - Parameters:
fieldPath
- The (relative) path to an object field in the indexed document.projectedType
- A type expected to have a corresponding projection mapping (e.g. usingProjectionConstructor
).filter
- The filter to apply to determine which nested index field projections should be included in the projection. SeeObjectProjection.includePaths()
,ObjectProjection.excludePaths()
,ObjectProjection.includeDepth()
, ...- Returns:
- A single-valued object projection definition for the given type.
- Throws:
SearchException
- If mapping the given type to a projection definition fails.- See Also:
-
createObjectDefinitionMulti
@Incubating <T> BeanHolder<? extends ProjectionDefinition<List<T>>> createObjectDefinitionMulti(String fieldPath, Class<T> projectedType, TreeFilterDefinition filter) - Parameters:
fieldPath
- The (relative) path to an object field in the indexed document.projectedType
- A type expected to have a corresponding projection mapping (e.g. usingProjectionConstructor
).filter
- The filter to apply to determine which nested index field projections should be included in the projection. SeeObjectProjection.includePaths()
,ObjectProjection.excludePaths()
,ObjectProjection.includeDepth()
, ...- Returns:
- A multi-valued object projection definition for the given type.
- Throws:
SearchException
- If mapping the given type to a projection definition fails.- See Also:
-
createCompositeDefinition
@Incubating <T> BeanHolder<? extends ProjectionDefinition<T>> createCompositeDefinition(Class<T> projectedType) - Parameters:
projectedType
- A type expected to have a corresponding projection mapping (e.g. usingProjectionConstructor
)- Returns:
- A composite projection definition for the given type.
- Throws:
SearchException
- If mapping the given type to a projection definition fails.- See Also:
-
isIncluded
- Parameters:
fieldPath
- The (relative) path to an object field in the indexed document.- Returns:
true
if the field with the given path is included according to surroundingfilters
(seeObjectProjection.includePaths()
,ObjectProjection.excludePaths()
,ObjectProjection.includeDepth()
, ...).false
otherwise. Projections on excluded fields should be replaced with a constant projection returningnull
or an empty list, as appropriate.
-
param(String, Class)
instead.