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
Path s. |
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 Path s 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 Path
s 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)
paths
- 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–2023 Pivotal Software, Inc.. All rights reserved.