Top Description Fields Constructors Methods
org.hibernate.query.internal

public Class ParameterMetadataImpl

extends Object
implements ParameterMetadataImplementor
Class Inheritance
All Implemented Interfaces
org.hibernate.query.spi.ParameterMetadataImplementor, org.hibernate.query.ParameterMetadata
Imports
java.util.ArrayList, .Collections, .HashMap, .List, .Locale, .Map, .Set, java.util.function.Consumer, .Predicate, org.hibernate.internal.util.StringHelper, org.hibernate.internal.util.collections.CollectionHelper, .LinkedIdentityHashMap, org.hibernate.internal.util.compare.ComparableComparator, org.hibernate.query.BindableType, .ParameterLabelException, .QueryParameter, .UnknownParameterException, org.hibernate.query.spi.ParameterMetadataImplementor, .QueryParameterImplementor, org.hibernate.query.sqm.tree.expression.SqmParameter, jakarta.persistence.Parameter

Encapsulates metadata about parameters encountered within a query.
Author
Steve Ebersole

Field Summary

Modifier and TypeField and Description
public static final ParameterMetadataImpl
EMPTY

Singleton access

private final Map<QueryParameterImplementor<?>, List<SqmParameter<?>>>
private final Map<String, QueryParameterImplementor<?>>
private final Map<Integer, QueryParameterImplementor<?>>

Constructor Summary

AccessConstructor and Description
private
public
public
ParameterMetadataImpl(Map<Integer, QueryParameterImplementor<?>> positionalQueryParameters, Map<String, QueryParameterImplementor<?>> namedQueryParameters)

Method Summary

Modifier and TypeMethod and Description
public boolean
containsReference(QueryParameter<?> parameter)

Implements org.hibernate.query.ParameterMetadata.containsReference.

Is this parameter reference registered in this collection?
public QueryParameterImplementor<?>
findQueryParameter(String name)

Implements org.hibernate.query.spi.ParameterMetadataImplementor.findQueryParameter.

Find the QueryParameter registered under the given name, if one.
public QueryParameterImplementor<?>
findQueryParameter(int positionLabel)

Implements org.hibernate.query.spi.ParameterMetadataImplementor.findQueryParameter.

Find the QueryParameter registered under the given position-label, if one.
public <T> BindableType<T>
public Set<String>
getNamedParameterNames()

Implements org.hibernate.query.ParameterMetadata.getNamedParameterNames.

Return the names of all named parameters of the query.
public Set<Integer>
public int
getParameterCount()

Implements org.hibernate.query.ParameterMetadata.getParameterCount.

The total number of registered parameters.
public QueryParameterImplementor<?>
getQueryParameter(String name)

Implements org.hibernate.query.spi.ParameterMetadataImplementor.getQueryParameter.

Get the QueryParameter reference registered here under the given name.
public QueryParameterImplementor<?>
getQueryParameter(int positionLabel)

Implements org.hibernate.query.spi.ParameterMetadataImplementor.getQueryParameter.

Get the QueryParameter reference registered here under the given position-label.
public Set<QueryParameterImplementor<?>>
public boolean
public boolean
hasNamedParameters()

Implements org.hibernate.query.ParameterMetadata.hasNamedParameters.

Does this parameter set contain any named parameters?
public boolean
hasPositionalParameters()

Implements org.hibernate.query.ParameterMetadata.hasPositionalParameters.

Does this parameter set contain any positional parameters?
public <P> QueryParameterImplementor<P>
resolve(Parameter<P> param)

Implements org.hibernate.query.spi.ParameterMetadataImplementor.resolve.

A deeper resolution attempt from a JPA parameter reference to Hibernate's contract.
private static void
public void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

EMPTYback to summary
public static final ParameterMetadataImpl EMPTY

Singleton access

queryParametersback to summary
private final Map<QueryParameterImplementor<?>, List<SqmParameter<?>>> queryParameters
queryParametersByNameback to summary
private final Map<String, QueryParameterImplementor<?>> queryParametersByName
queryParametersByPositionback to summary
private final Map<Integer, QueryParameterImplementor<?>> queryParametersByPosition

Constructor Detail

ParameterMetadataImplback to summary
private ParameterMetadataImpl()
ParameterMetadataImplback to summary
public ParameterMetadataImpl(Map<QueryParameterImplementor<?>, List<SqmParameter<?>>> queryParameters)
ParameterMetadataImplback to summary
public ParameterMetadataImpl(Map<Integer, QueryParameterImplementor<?>> positionalQueryParameters, Map<String, QueryParameterImplementor<?>> namedQueryParameters)

Method Detail

containsReferenceback to summary
public boolean containsReference(QueryParameter<?> parameter)

Implements org.hibernate.query.ParameterMetadata.containsReference.

Doc from org.hibernate.query.ParameterMetadata.containsReference.

Is this parameter reference registered in this collection?

Annotations
@Override
findQueryParameterback to summary
public QueryParameterImplementor<?> findQueryParameter(String name)

Implements org.hibernate.query.spi.ParameterMetadataImplementor.findQueryParameter.

Doc from org.hibernate.query.ParameterMetadata.findQueryParameter.

Find the QueryParameter registered under the given name, if one.

Returns:QueryParameterImplementor<?>

The registered match, or null is there is no match

Annotations
@Override
findQueryParameterback to summary
public QueryParameterImplementor<?> findQueryParameter(int positionLabel)

Implements org.hibernate.query.spi.ParameterMetadataImplementor.findQueryParameter.

Doc from org.hibernate.query.ParameterMetadata.findQueryParameter.

Find the QueryParameter registered under the given position-label, if one.

Returns:QueryParameterImplementor<?>

The registered match, or null is there is no match

Annotations
@Override
getInferredParameterTypeback to summary
public <T> BindableType<T> getInferredParameterType(QueryParameter<T> parameter)

Overrides default org.hibernate.query.ParameterMetadata.getInferredParameterType.

Annotations
@Override
getNamedParameterNamesback to summary
public Set<String> getNamedParameterNames()

Implements org.hibernate.query.ParameterMetadata.getNamedParameterNames.

Doc from org.hibernate.query.ParameterMetadata.getNamedParameterNames.

Return the names of all named parameters of the query.

Returns:Set<String>

the parameter names

Annotations
@Override
getOrdinalParameterLabelsback to summary
public Set<Integer> getOrdinalParameterLabels()

Implements org.hibernate.query.ParameterMetadata.getOrdinalParameterLabels.

getParameterCountback to summary
public int getParameterCount()

Implements org.hibernate.query.ParameterMetadata.getParameterCount.

Doc from org.hibernate.query.ParameterMetadata.getParameterCount.

The total number of registered parameters.

Annotations
@Override
getQueryParameterback to summary
public QueryParameterImplementor<?> getQueryParameter(String name)

Implements org.hibernate.query.spi.ParameterMetadataImplementor.getQueryParameter.

Doc from org.hibernate.query.ParameterMetadata.getQueryParameter.

Get the QueryParameter reference registered here under the given name.

Returns:QueryParameterImplementor<?>

The registered match. Never null

Annotations
@Override
getQueryParameterback to summary
public QueryParameterImplementor<?> getQueryParameter(int positionLabel)

Implements org.hibernate.query.spi.ParameterMetadataImplementor.getQueryParameter.

Doc from org.hibernate.query.ParameterMetadata.getQueryParameter.

Get the QueryParameter reference registered here under the given position-label.

Returns:QueryParameterImplementor<?>

The registered match. Never null

Annotations
@Override
getRegistrationsback to summary
public Set<QueryParameterImplementor<?>> getRegistrations()

Implements org.hibernate.query.ParameterMetadata.getRegistrations.

Annotations
@Override
hasAnyMatchingback to summary
public boolean hasAnyMatching(Predicate<QueryParameterImplementor<?>> filter)

Implements org.hibernate.query.spi.ParameterMetadataImplementor.hasAnyMatching.

Annotations
@Override
hasNamedParametersback to summary
public boolean hasNamedParameters()

Implements org.hibernate.query.ParameterMetadata.hasNamedParameters.

Doc from org.hibernate.query.ParameterMetadata.hasNamedParameters.

Does this parameter set contain any named parameters?

Returns:boolean

true if there are named parameters; false otherwise.

Annotations
@Override
hasPositionalParametersback to summary
public boolean hasPositionalParameters()

Implements org.hibernate.query.ParameterMetadata.hasPositionalParameters.

Doc from org.hibernate.query.ParameterMetadata.hasPositionalParameters.

Does this parameter set contain any positional parameters?

Returns:boolean

true if there are positional parameters; false otherwise.

Annotations
@Override
resolveback to summary
public <P> QueryParameterImplementor<P> resolve(Parameter<P> param)

Implements org.hibernate.query.spi.ParameterMetadataImplementor.resolve.

Doc from org.hibernate.query.ParameterMetadata.resolve.

A 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.

Annotations
@Override
verifyOrdinalParamLabelsback to summary
private static void verifyOrdinalParamLabels(Set<Integer> labels)
visitParametersback to summary
public void visitParameters(Consumer<QueryParameterImplementor<?>> consumer)

Implements org.hibernate.query.spi.ParameterMetadataImplementor.visitParameters.

Annotations
@Override