Class BeanQuerySession.Builder<T,SELF extends BeanQuerySession.Builder<T,SELF>>
java.lang.Object
org.apache.juneau.commons.beanquery.BeanQuerySession.Builder<T,SELF>
- Type Parameters:
T- The row type.SELF- The concrete builder type, returned by every setter.
- Direct Known Subclasses:
InMemoryBeanQuerySession.Builder,SqlBeanQuerySession.Builder
- Enclosing class:
- BeanQuerySession<T>
public abstract static class BeanQuerySession.Builder<T,SELF extends BeanQuerySession.Builder<T,SELF>>
extends Object
The settings every engine's session builder shares. Each starts from the context's value.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract BeanQuerySession<T>build()Builds the session.countPolicy(CountPolicy value) OverridesBeanQueryContext.Builder.countPolicy(CountPolicy)for this session.defaultLimit(int value) OverridesBeanQueryContext.Builder.defaultLimit(int)for this session.maxExpressionDepth(int value) OverridesBeanQueryContext.Builder.maxExpressionDepth(int)for this session.OverridesBeanQueryContext.Builder.maxLimit(Integer)for this session.maxSearchClauses(int value) OverridesBeanQueryContext.Builder.maxSearchClauses(int)for this session.maxSearchLength(int value) OverridesBeanQueryContext.Builder.maxSearchLength(int)for this session.maxSortKeys(int value) OverridesBeanQueryContext.Builder.maxSortKeys(int)for this session.regexTimeout(Duration value) OverridesBeanQueryContext.Builder.regexTimeout(Duration)for this session.restrictColumns(String... names) Keeps only the specified columns for this session.protected final SELFself()Returns this builder as its concrete type.
-
Constructor Details
-
Builder
Constructor.- Parameters:
context- The context the session runs against. Must not benull .
-
-
Method Details
-
self
Returns this builder as its concrete type.- Returns:
- This object.
-
restrictColumns
Keeps only the specified columns for this session. The context's column order is kept.- Parameters:
names- The column names. Each must be a column of the context (or of an earlier restriction).- Returns:
- This object.
- Throws:
IllegalArgumentException- If a name is not a current column.
-
regexTimeout
OverridesBeanQueryContext.Builder.regexTimeout(Duration)for this session.- Parameters:
value- The budget. Must be positive.- Returns:
- This object.
-
countPolicy
OverridesBeanQueryContext.Builder.countPolicy(CountPolicy)for this session.- Parameters:
value- The policy. Must not benull .- Returns:
- This object.
-
defaultLimit
OverridesBeanQueryContext.Builder.defaultLimit(int)for this session.- Parameters:
value- The limit. Must be positive.- Returns:
- This object.
-
maxLimit
OverridesBeanQueryContext.Builder.maxLimit(Integer)for this session.If this session's
defaultLimitwas never explicitly set on this builder (it is still the value inherited from the context), narrowingmaxLimitbelow it auto-narrowsdefaultLimitto match, rather than leaving the two in conflict. An explicitly-chosendefaultLimitis never silently changed by this setter — a resulting conflict is left forbuild()to reject.- Parameters:
value- The cap, ornull for no cap. Must be positive if set.- Returns:
- This object.
-
maxSearchClauses
OverridesBeanQueryContext.Builder.maxSearchClauses(int)for this session.- Parameters:
value- The cap. Must be positive.- Returns:
- This object.
-
maxSortKeys
OverridesBeanQueryContext.Builder.maxSortKeys(int)for this session.- Parameters:
value- The cap. Must be positive.- Returns:
- This object.
-
maxSearchLength
OverridesBeanQueryContext.Builder.maxSearchLength(int)for this session.- Parameters:
value- The cap. Must be positive.- Returns:
- This object.
-
maxExpressionDepth
OverridesBeanQueryContext.Builder.maxExpressionDepth(int)for this session.- Parameters:
value- The cap. Must be positive.- Returns:
- This object.
-
build
Builds the session.- Returns:
- A new session. Close it when done.
- Throws:
IllegalStateException- If a required setting is missing or two settings conflict.
-