Package org.hibernate.query.internal
Class ParameterMetadataImpl
- java.lang.Object
-
- org.hibernate.query.internal.ParameterMetadataImpl
-
- All Implemented Interfaces:
ParameterMetadata,ParameterMetadataImplementor
public class ParameterMetadataImpl extends Object implements ParameterMetadataImplementor
Encapsulates metadata about parameters encountered within a query.
-
-
Field Summary
Fields Modifier and Type Field Description static ParameterMetadataImplEMPTYSingleton access
-
Constructor Summary
Constructors Constructor Description ParameterMetadataImpl(Map<Integer,QueryParameterImplementor<?>> positionalQueryParameters, Map<String,QueryParameterImplementor<?>> namedQueryParameters)ParameterMetadataImpl(Map<QueryParameterImplementor<?>,List<SqmParameter<?>>> queryParameters)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancontainsReference(QueryParameter<?> parameter)Is this parameter reference registered in this collection?QueryParameterImplementor<?>findQueryParameter(int positionLabel)Find the QueryParameter registered under the given position-label, if one.QueryParameterImplementor<?>findQueryParameter(String name)Find the QueryParameter registered under the given name, if one.<T> BindableType<T>getInferredParameterType(QueryParameter<T> parameter)Set<String>getNamedParameterNames()Return the names of all named parameters of the query.Set<Integer>getOrdinalParameterLabels()intgetParameterCount()The total number of registered parameters.QueryParameterImplementor<?>getQueryParameter(int positionLabel)Get the QueryParameter reference registered here under the given position-label.QueryParameterImplementor<?>getQueryParameter(String name)Get the QueryParameter reference registered here under the given name.Set<QueryParameterImplementor<?>>getRegistrations()booleanhasAnyMatching(Predicate<QueryParameterImplementor<?>> filter)booleanhasNamedParameters()Does this parameter set contain any named parameters?booleanhasPositionalParameters()Does this parameter set contain any positional parameters?<P> QueryParameterImplementor<P>resolve(Parameter<P> param)A deeper resolution attempt from a JPA parameter reference to Hibernate's contract.voidvisitParameters(Consumer<QueryParameterImplementor<?>> consumer)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.hibernate.query.spi.ParameterMetadataImplementor
collectAllParameters, visitRegistrations
-
-
-
-
Field Detail
-
EMPTY
public static final ParameterMetadataImpl EMPTY
Singleton access
-
-
Constructor Detail
-
ParameterMetadataImpl
public ParameterMetadataImpl(Map<QueryParameterImplementor<?>,List<SqmParameter<?>>> queryParameters)
-
ParameterMetadataImpl
public ParameterMetadataImpl(Map<Integer,QueryParameterImplementor<?>> positionalQueryParameters, Map<String,QueryParameterImplementor<?>> namedQueryParameters)
-
-
Method Detail
-
getParameterCount
public int getParameterCount()
Description copied from interface:ParameterMetadataThe total number of registered parameters.- Specified by:
getParameterCountin interfaceParameterMetadata
-
getInferredParameterType
public <T> BindableType<T> getInferredParameterType(QueryParameter<T> parameter)
- Specified by:
getInferredParameterTypein interfaceParameterMetadata
-
containsReference
public boolean containsReference(QueryParameter<?> parameter)
Description copied from interface:ParameterMetadataIs this parameter reference registered in this collection?- Specified by:
containsReferencein interfaceParameterMetadata
-
visitParameters
public void visitParameters(Consumer<QueryParameterImplementor<?>> consumer)
- Specified by:
visitParametersin interfaceParameterMetadataImplementor
-
getRegistrations
public Set<QueryParameterImplementor<?>> getRegistrations()
- Specified by:
getRegistrationsin interfaceParameterMetadata
-
hasAnyMatching
public boolean hasAnyMatching(Predicate<QueryParameterImplementor<?>> filter)
- Specified by:
hasAnyMatchingin interfaceParameterMetadataImplementor
-
resolve
public <P> QueryParameterImplementor<P> resolve(Parameter<P> param)
Description copied from interface:ParameterMetadataA deeper resolution attempt from a JPA parameter reference to Hibernate's contract. Generally should return the same param reference. According to the spec, only Parameter references obtained from the provider are valid.- Specified by:
resolvein interfaceParameterMetadata- Specified by:
resolvein interfaceParameterMetadataImplementor
-
hasNamedParameters
public boolean hasNamedParameters()
Description copied from interface:ParameterMetadataDoes this parameter set contain any named parameters?- Specified by:
hasNamedParametersin interfaceParameterMetadata- Returns:
trueif there are named parameters;falseotherwise.
-
getNamedParameterNames
public Set<String> getNamedParameterNames()
Description copied from interface:ParameterMetadataReturn the names of all named parameters of the query.- Specified by:
getNamedParameterNamesin interfaceParameterMetadata- Returns:
- the parameter names
-
findQueryParameter
public QueryParameterImplementor<?> findQueryParameter(String name)
Description copied from interface:ParameterMetadataFind the QueryParameter registered under the given name, if one.- Specified by:
findQueryParameterin interfaceParameterMetadata- Specified by:
findQueryParameterin interfaceParameterMetadataImplementor- Returns:
- The registered match, or
nullis there is no match - See Also:
ParameterMetadata.getQueryParameter(String)
-
getQueryParameter
public QueryParameterImplementor<?> getQueryParameter(String name)
Description copied from interface:ParameterMetadataGet the QueryParameter reference registered here under the given name.- Specified by:
getQueryParameterin interfaceParameterMetadata- Specified by:
getQueryParameterin interfaceParameterMetadataImplementor- Returns:
- The registered match. Never
null
-
hasPositionalParameters
public boolean hasPositionalParameters()
Description copied from interface:ParameterMetadataDoes this parameter set contain any positional parameters?- Specified by:
hasPositionalParametersin interfaceParameterMetadata- Returns:
trueif there are positional parameters;falseotherwise.
-
getOrdinalParameterLabels
public Set<Integer> getOrdinalParameterLabels()
- Specified by:
getOrdinalParameterLabelsin interfaceParameterMetadata
-
findQueryParameter
public QueryParameterImplementor<?> findQueryParameter(int positionLabel)
Description copied from interface:ParameterMetadataFind the QueryParameter registered under the given position-label, if one.- Specified by:
findQueryParameterin interfaceParameterMetadata- Specified by:
findQueryParameterin interfaceParameterMetadataImplementor- Returns:
- The registered match, or
nullis there is no match - See Also:
ParameterMetadata.getQueryParameter(int)
-
getQueryParameter
public QueryParameterImplementor<?> getQueryParameter(int positionLabel)
Description copied from interface:ParameterMetadataGet the QueryParameter reference registered here under the given position-label.- Specified by:
getQueryParameterin interfaceParameterMetadata- Specified by:
getQueryParameterin interfaceParameterMetadataImplementor- Returns:
- The registered match. Never
null
-
-