/*
 * Hibernate, Relational Persistence for Idiomatic Java
 *
 * License: GNU Lesser General Public License (LGPL), version 2.1 or later.
 * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
 */
package org.hibernate.query.spi;

import java.util.Collection;
import javax.persistence.TemporalType;

import org.hibernate.Incubating;
import org.hibernate.query.internal.QueryParameterBindingsImpl;
import org.hibernate.type.Type;

Represents a "parameter list" binding: aka the binding of a collection of values for a single query parameter. At some point these need to be "expanded"; see QueryParameterBindingsImpl.expandListValuedParameters(String) for details.
Author:Steve Ebersole
/** * Represents a "parameter list" binding: aka the binding of a collection of values for a single * query parameter. At some point these need to be "expanded"; see {@link QueryParameterBindingsImpl#expandListValuedParameters(String)} * for details. * * @author Steve Ebersole */
@Incubating public interface QueryParameterListBinding<T> {
Sets the parameter binding values. The inherent parameter type (if known) is assumed in regards to the individual values.
Params:
  • values – The bind values
/** * Sets the parameter binding values. The inherent parameter type (if known) is assumed in regards to the * individual values. * * @param values The bind values */
void setBindValues(Collection<T> values);
Sets the parameter binding values using the explicit Type in regards to the individual values.
Params:
  • values – The bind values
  • clarifiedType – The explicit Type to use
/** * Sets the parameter binding values using the explicit Type in regards to the individual values. * * @param values The bind values * @param clarifiedType The explicit Type to use */
void setBindValues(Collection<T> values, Type clarifiedType);
Sets the parameter binding value using the explicit TemporalType in regards to the individual values.
Params:
  • values – The bind values
  • clarifiedTemporalType – The temporal type to use
/**Sets the parameter binding value using the explicit TemporalType in regards to the individual values. * * * @param values The bind values * @param clarifiedTemporalType The temporal type to use */
void setBindValues(Collection<T> values, TemporalType clarifiedTemporalType);
Get the values currently bound.
Returns:The currently bound values
/** * Get the values currently bound. * * @return The currently bound values */
Collection<T> getBindValues();
Get the Type currently associated with this binding.
Returns:The currently associated Type
/** * Get the Type currently associated with this binding. * * @return The currently associated Type */
Type getBindType(); }