Interface SearchIndexingPlanFilterContext
A context that helps with the indexing plan filter configuration.
Note that only indexed and contained types with their supertypes can be passed to this context's methods.
Methods that accept classes
as their parameters will not allow interfaces, even if they are among supertypes.
Passing any other types will lead to an exception being thrown.
Object.class
being a supertype to other types can be passed to context methods and will result in including/excluding all types
with possible further fine-tuning using more specific types.
Include/exclude rules work as follows:
- If the type
A
is explicitly included by the filter, then a change to an object that is exactly of an typeA
is processed. - If the type
A
is explicitly excluded by the filter, then a change to an object that is exactly of an typeA
is ignored. -
If the type
A
is explicitly included by the filter, then a change to an object that is exactly of an typeB
, which is a subtype of the typeA
, is processed unless the filter explicitly excludes a more specific supertype of a typeB
. -
If the type
A
is excluded by the filter explicitly, then a change to an object that is exactly of an typeB
, which is a subtype of the typeA
, is ignored unless the filter explicitly includes a more specific supertype of a typeB
. - On an attempt to both include and exclude the same type
A
an exception will be thrown. - By default, types are included unless any of previous include/exclude rules apply
-
Method Summary
Modifier and TypeMethodDescriptionSpecify an indexed/contained type (or its supertype class) to exclude, along with (unless specified otherwise) all its subtypes.Specify a name of an indexed/contained type (or a name of its named supertype) to exclude, along with (unless specified otherwise) all its subtypes.Specify an indexed/contained type (or its supertype class) to include, along with (unless specified otherwise) all its subtypes.Specify a name of an indexed/contained type (or a name of its named supertype) to include, along with (unless specified otherwise) all its subtypes.
-
Method Details
-
include
Specify a name of an indexed/contained type (or a name of its named supertype) to include, along with (unless specified otherwise) all its subtypes.- Parameters:
name
- The name of a named type to include according to include/exclude rules.- Returns:
- The same context, for chained calls.
- See Also:
-
include
Specify an indexed/contained type (or its supertype class) to include, along with (unless specified otherwise) all its subtypes.- Parameters:
clazz
- The class to include according to include/exclude rules.- Returns:
- The same context, for chained calls.
-
exclude
Specify a name of an indexed/contained type (or a name of its named supertype) to exclude, along with (unless specified otherwise) all its subtypes.- Parameters:
name
- The name of a named type to exclude according to include/exclude rules.- Returns:
- The same context, for chained calls.
- See Also:
-
exclude
Specify an indexed/contained type (or its supertype class) to exclude, along with (unless specified otherwise) all its subtypes.- Parameters:
clazz
- The class to exclude according to include/exclude rules.- Returns:
- The same context, for chained calls.
-