Class Parameters<S extends Parameters<S,T>,T extends Parameter>
java.lang.Object
org.springframework.data.repository.query.Parameters<S,T>
- All Implemented Interfaces:
Iterable<T>
,Supplier<Stream<T>>
,Streamable<T>
- Direct Known Subclasses:
DefaultParameters
public abstract class Parameters<S extends Parameters<S,T>,T extends Parameter>
extends Object
implements Streamable<T>
Abstracts method parameters that have to be bound to query parameters or applied to the query independently.
- Author:
- Oliver Gierke, Christoph Strobl, Johannes Englmeier
-
Field Summary
-
Constructor Summary
ModifierConstructorDescriptionParameters
(Method method) Creates a new instance ofParameters
.protected
Parameters
(Method method, Function<org.springframework.core.MethodParameter, T> parameterFactory) Creates a newParameters
instance for the givenMethod
andFunction
to create aParameter
instance from aMethodParameter
.protected
Parameters
(List<T> originals) Creates a newParameters
instance with the givenParameter
s put into new context. -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract S
createFrom
(List<T> parameters) protected T
createParameter
(org.springframework.core.MethodParameter parameter) Creates aParameter
instance for the givenMethodParameter
.getBindableParameter
(int bindableIndex) Returns a bindable parameter with the given index.Returns aParameters
instance with effectively all special parameters removed.int
Returns the index of the parameter that represents the dynamic projection type.int
Returns the number of parameters.int
getParameter
(int index) Returns the parameter with the given index.int
boolean
Returns whether a parameter expressing a dynamic projection exists.boolean
Returns whether the method theParameters
was created for contains aPageable
argument.boolean
hasParameterAt
(int position) Returns whether we have a parameter at the given position.boolean
Returns whether the method theParameters
was created for contains aSort
argument.boolean
static boolean
isBindable
(Class<?> type) Returns whether the given type is a bindable parameter.iterator()
boolean
Returns whether we potentially find aSort
parameter in the parameters.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
TYPES
-
-
Constructor Details
-
Parameters
Creates a new instance ofParameters
.- Parameters:
method
- must not be null.
-
Parameters
protected Parameters(Method method, Function<org.springframework.core.MethodParameter, T> parameterFactory) Creates a newParameters
instance for the givenMethod
andFunction
to create aParameter
instance from aMethodParameter
.- Parameters:
method
- must not be null.parameterFactory
- must not be null.- Since:
- 3.0.2
-
Parameters
Creates a newParameters
instance with the givenParameter
s put into new context.- Parameters:
originals
-
-
-
Method Details
-
createParameter
Creates aParameter
instance for the givenMethodParameter
.- Parameters:
parameter
- will never be null.- Returns:
-
hasPageableParameter
public boolean hasPageableParameter()Returns whether the method theParameters
was created for contains aPageable
argument.- Returns:
-
getPageableIndex
public int getPageableIndex()Returns the index of thePageable
Method
parameter if available. Will return -1 if there is noPageable
argument in theMethod
's parameter list.- Returns:
- the pageableIndex
-
getSortIndex
public int getSortIndex()Returns the index of theSort
Method
parameter if available. Will return -1 if there is noSort
argument in theMethod
's parameter list.- Returns:
-
hasSortParameter
public boolean hasSortParameter()Returns whether the method theParameters
was created for contains aSort
argument.- Returns:
-
getDynamicProjectionIndex
public int getDynamicProjectionIndex()Returns the index of the parameter that represents the dynamic projection type. Will return -1 if no such parameter exists.- Returns:
-
hasDynamicProjection
public boolean hasDynamicProjection()Returns whether a parameter expressing a dynamic projection exists.- Returns:
-
potentiallySortsDynamically
public boolean potentiallySortsDynamically()Returns whether we potentially find aSort
parameter in the parameters.- Returns:
-
getParameter
Returns the parameter with the given index.- Parameters:
index
-- Returns:
-
hasParameterAt
public boolean hasParameterAt(int position) Returns whether we have a parameter at the given position.- Parameters:
position
-- Returns:
-
hasSpecialParameter
public boolean hasSpecialParameter()- Returns:
-
getNumberOfParameters
public int getNumberOfParameters()Returns the number of parameters.- Returns:
-
getBindableParameters
Returns aParameters
instance with effectively all special parameters removed.- Returns:
- See Also:
-
Parameter.TYPES
Parameter.isSpecialParameter()
-
createFrom
-
getBindableParameter
Returns a bindable parameter with the given index. So for a method with a signature of(Pageable pageable, String name)
a call to#getBindableParameter(0)
will return theString
parameter.- Parameters:
bindableIndex
-- Returns:
-
isBindable
Returns whether the given type is a bindable parameter.- Parameters:
type
-- Returns:
-
iterator
-