Class QueryableSettings
Queryable converter.
A resource tunes Queryable's BeanQuery engine by registering a QueryableSettings bean in its bean
store (mirrors the IntrospectableSettings idiom). When no such bean is present, Queryable uses
DEFAULT, which sets nothing and so leaves every setting at the context builder's own default.
The defaults live in BeanQueryContext.Builder
only — this class never duplicates them. Each setting
is tracked as set or unset; applyTo copies only the ones that were set,
so an unset setting stays at the builder default (currently: allowRegex true, regexTimeout 50ms,
countPolicy IF_REQUESTED, defaultLimit 100, maxLimit 1000,
and caps of 64 search clauses, 8 sort keys, 4096 search characters and 16 expression levels).
Every setting here is a trusted, server-side cap or default; none of them is ever set from request data.
Example:
See Also:
- Since:
- 10.0.0
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final QueryableSettingsThe default settings used when no bean is registered: nothing set, so every builder default applies. -
Method Summary
Modifier and TypeMethodDescription<B extends BeanQueryContext.Builder<?,B>>
BapplyTo(B builder) Copies every setting that was set onto a context builder.copy()Creates a builder pre-populated with these settings.static QueryableSettings.Buildercreate()Builder creator.
-
Field Details
-
DEFAULT
The default settings used when no bean is registered: nothing set, so every builder default applies.
-
-
Method Details
-
create
Builder creator.- Returns:
- A new builder with nothing set.
-
copy
Creates a builder pre-populated with these settings.- Returns:
- A new builder.
-
applyTo
Copies every setting that was set onto a context builder.Settings that were not set are left untouched, so the builder's own defaults apply.
- Type Parameters:
B- The context builder type.- Parameters:
builder- The builder to copy onto. Must not benull .- Returns:
- The same builder, for chaining.
- Throws:
IllegalArgumentException- If a value is rejected by the builder (for example a non-positive limit).
-