public class QuerydslBindings extends Object
QuerydslBindings allows definition of path specific bindings.
new QuerydslBindings() {
{
bind(QUser.user.address.city).first((path, value) -> path.like(value.toString()));
bind(String.class).first((path, value) -> path.like(value.toString()));
}
}
The bindings can either handle a single - see QuerydslBindings.PathBinder.first(SingleValueBinding) - (the first in case
multiple ones are supplied) or multiple - see QuerydslBindings.PathBinder.all(MultiValueBinding) - value binding. If exactly
one path is deployed, an QuerydslBindings.AliasingPathBinder is returned which - as the name suggests - allows aliasing of
paths, i.e. exposing the path under a different name.
QuerydslBindings are usually manipulated using a QuerydslBinderCustomizer, either implemented
directly or using a default method on a Spring Data repository.
QuerydslBinderCustomizer| Modifier and Type | Class and Description |
|---|---|
class |
QuerydslBindings.AliasingPathBinder<P extends com.querydsl.core.types.Path<? extends T>,T>
A special
QuerydslBindings.PathBinder that additionally registers the binding under a dedicated alias. |
class |
QuerydslBindings.PathBinder<P extends com.querydsl.core.types.Path<? extends T>,T>
A binder for
Paths. |
class |
QuerydslBindings.TypeBinder<T>
A binder for types.
|
| Constructor and Description |
|---|
QuerydslBindings()
Creates a new
QuerydslBindings instance. |
| Modifier and Type | Method and Description |
|---|---|
<T> QuerydslBindings.TypeBinder<T> |
bind(Class<T> type)
Returns a new
QuerydslBindings.TypeBinder for the given type. |
<T extends com.querydsl.core.types.Path<S>,S> |
bind(T... paths)
Returns a new
QuerydslBindings.PathBinder for the given Paths to define bindings for them. |
<T extends com.querydsl.core.types.Path<S>,S> |
bind(T path)
Returns an
QuerydslBindings.AliasingPathBinder for the given Path to define bindings for them. |
QuerydslBindings |
excludeUnlistedProperties(boolean excludeUnlistedProperties)
Returns whether to exclude all properties for which no explicit binding has been defined or it has been explicitly
allowed.
|
void |
excluding(com.querydsl.core.types.Path<?>... paths)
Exclude properties from binding.
|
<S extends com.querydsl.core.types.Path<? extends T>,T> |
getBindingForPath(org.springframework.data.querydsl.binding.PathInformation path)
Returns the
SingleValueBinding for the given PropertyPath. |
void |
including(com.querydsl.core.types.Path<?>... paths)
Include properties for binding.
|
public QuerydslBindings()
QuerydslBindings instance.public final <T extends com.querydsl.core.types.Path<S>,S> QuerydslBindings.AliasingPathBinder<T,S> bind(T path)
QuerydslBindings.AliasingPathBinder for the given Path to define bindings for them.path - must not be null.@SafeVarargs public final <T extends com.querydsl.core.types.Path<S>,S> QuerydslBindings.PathBinder<T,S> bind(T... paths)
QuerydslBindings.PathBinder for the given Paths to define bindings for them.paths - must not be null or empty.public final <T> QuerydslBindings.TypeBinder<T> bind(Class<T> type)
QuerydslBindings.TypeBinder for the given type.type - must not be null.public final void excluding(com.querydsl.core.types.Path<?>... paths)
address would exclude both address.city and address.street.paths - must not be null or empty.public final void including(com.querydsl.core.types.Path<?>... paths)
properties - must not be null or empty.public final QuerydslBindings excludeUnlistedProperties(boolean excludeUnlistedProperties)
excludeUnlistedProperties - including(Path...)public <S extends com.querydsl.core.types.Path<? extends T>,T> Optional<MultiValueBinding<S,T>> getBindingForPath(org.springframework.data.querydsl.binding.PathInformation path)
SingleValueBinding for the given PropertyPath. Prefers a path configured for the
specific path but falls back to the builder registered for a given type.path - must not be null.Copyright © 2011–2021 Pivotal Software, Inc.. All rights reserved.