/*
* 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.procedure.spi;
import java.util.Calendar;
import java.util.Date;
import javax.persistence.FlushModeType;
import javax.persistence.Parameter;
import javax.persistence.ParameterMode;
import javax.persistence.TemporalType;
import org.hibernate.procedure.ProcedureCall;
import org.hibernate.query.spi.QueryImplementor;
/**
* @author Steve Ebersole
*/
public interface ProcedureCallImplementor<R> extends ProcedureCall, QueryImplementor<R> {
@Override
ProcedureCallImplementor<R> setHint(String hintName, Object value);
@Override
<T> ProcedureCallImplementor<R> setParameter(Parameter<T> param, T value);
@Override
ProcedureCallImplementor<R> setParameter(Parameter<Calendar> param, Calendar value, TemporalType temporalType);
@Override
ProcedureCallImplementor<R> setParameter(Parameter<Date> param, Date value, TemporalType temporalType);
@Override
ProcedureCallImplementor<R> setParameter(String name, Object value);
@Override
ProcedureCallImplementor<R> setParameter(String name, Calendar value, TemporalType temporalType);
@Override
ProcedureCallImplementor<R> setParameter(String name, Date value, TemporalType temporalType);
@Override
ProcedureCallImplementor<R> setParameter(int position, Object value);
@Override
ProcedureCallImplementor<R> setParameter(int position, Calendar value, TemporalType temporalType);
@Override
ProcedureCallImplementor<R> setParameter(int position, Date value, TemporalType temporalType);
@Override
ProcedureCallImplementor<R> setFlushMode(FlushModeType flushMode);
@Override
ProcedureCallImplementor<R> registerStoredProcedureParameter(int position, Class type, ParameterMode mode);
@Override
ProcedureCallImplementor<R> registerStoredProcedureParameter(String parameterName, Class type, ParameterMode mode);
}