Package com.blazebit.query.spi
Interface QueryContextBuilder
public interface QueryContextBuilder
Builder for the Blaze-Query
QueryContext
.- Since:
- 1.0.0
-
Method Summary
Modifier and TypeMethodDescriptionbuild()
Builds a newQueryContext
object based on the configuration provided by this builder.<X> PropertyProvider<X>
getPropertyProvider
(String property) Returns the property provider for the property name.Loads the available services through the JavaServiceLoader
API.registerSchemaObject
(Class<T> schemaObjectType, DataFetcher<T> dataFetcher) Registers the data fetcher for a schema object type.registerSchemaObjectAlias
(Class<?> schemaObjectType, String alias) Registers a fully qualified alias for a schema object type.registerSchemaProvider
(QuerySchemaProvider querySchemaProvider) Registers aQuerySchemaProvider
to provide schema objects.setProperty
(String property, Object value) Constructs a property provider for the value and registers it viasetPropertyProvider(String, PropertyProvider)
.setPropertyProvider
(String property, PropertyProvider<?> provider) Sets the given supplier as value provider for the given property name.
-
Method Details
-
setProperty
Constructs a property provider for the value and registers it viasetPropertyProvider(String, PropertyProvider)
.- Parameters:
property
- The property namevalue
- The property value- Returns:
this
object for method chaining
-
setPropertyProvider
Sets the given supplier as value provider for the given property name.- Parameters:
property
- The property nameprovider
- The property value provider- Returns:
this
object for method chaining
-
getPropertyProvider
Returns the property provider for the property name.- Type Parameters:
X
- The expected value type- Parameters:
property
- The property name- Returns:
- the property provider for the property name
- Throws:
IllegalArgumentException
- If no property provider exists
-
registerSchemaObjectAlias
Registers a fully qualified alias for a schema object type.- Parameters:
schemaObjectType
- The schema object typealias
- The qualified alias name- Returns:
this
object for method chaining
-
registerSchemaObject
Registers the data fetcher for a schema object type.- Type Parameters:
T
- The schema object type- Parameters:
schemaObjectType
- The schema object typedataFetcher
- The data fetcher- Returns:
this
object for method chaining
-
registerSchemaProvider
Registers aQuerySchemaProvider
to provide schema objects.- Parameters:
querySchemaProvider
- TheQuerySchemaProvider
to register- Returns:
- The updated
QueryContextBuilder
object
-
loadServices
QueryContextBuilder loadServices()Loads the available services through the JavaServiceLoader
API.- Returns:
this
object for method chaining
-
build
QueryContext build()Builds a newQueryContext
object based on the configuration provided by this builder.- Returns:
- A new
QueryContext
-