/* * Copyright 2014 - 2017 Blazebit. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.blazebit.persistence.impl.query; import java.util.Calendar; import java.util.Date; import java.util.List; import java.util.Map; import java.util.Set; import javax.persistence.FlushModeType; import javax.persistence.LockModeType; import javax.persistence.Parameter; import javax.persistence.TemporalType; import javax.persistence.TypedQuery; /** * * @author Christian Beikov * @since 1.0 */ public class TypedQueryWrapper<X> implements TypedQuery<X> { protected final TypedQuery<X> delegate; public TypedQueryWrapper(TypedQuery<X> delegate) { this.delegate = delegate; } @Override public List<X> getResultList() { return delegate.getResultList(); } @Override public X getSingleResult() { return delegate.getSingleResult(); } @Override public TypedQuery<X> setMaxResults(int i) { delegate.setMaxResults(i); return this; } @Override public TypedQuery<X> setFirstResult(int i) { delegate.setFirstResult(i); return this; } @Override public TypedQuery<X> setHint(String string, Object o) { delegate.setHint(string, o); return this; } @Override public <T> TypedQuery<X> setParameter(Parameter<T> prmtr, T t) { // required for Hibernate 4.2 if (prmtr.getName() == null) { delegate.setParameter(prmtr, t); } else { delegate.setParameter(prmtr.getName(), t); } return this; } @Override public TypedQuery<X> setParameter(Parameter<Calendar> prmtr, Calendar clndr, TemporalType tt) { delegate.setParameter(prmtr, clndr, tt); return this; } @Override public TypedQuery<X> setParameter(Parameter<Date> prmtr, Date date, TemporalType tt) { delegate.setParameter(prmtr, date, tt); return this; } @Override public TypedQuery<X> setParameter(String string, Object o) { delegate.setParameter(string, o); return this; } @Override public TypedQuery<X> setParameter(String string, Calendar clndr, TemporalType tt) { delegate.setParameter(string, clndr, tt); return this; } @Override public TypedQuery<X> setParameter(String string, Date date, TemporalType tt) { delegate.setParameter(string, date, tt); return this; } @Override public TypedQuery<X> setParameter(int i, Object o) { delegate.setParameter(i, o); return this; } @Override public TypedQuery<X> setParameter(int i, Calendar clndr, TemporalType tt) { delegate.setParameter(i, clndr, tt); return this; } @Override public TypedQuery<X> setParameter(int i, Date date, TemporalType tt) { delegate.setParameter(i, date, tt); return this; } @Override public TypedQuery<X> setFlushMode(FlushModeType fmt) { delegate.setFlushMode(fmt); return this; } @Override public TypedQuery<X> setLockMode(LockModeType lmt) { delegate.setLockMode(lmt); return this; } @Override public int executeUpdate() { return delegate.executeUpdate(); } @Override public int getMaxResults() { return delegate.getMaxResults(); } @Override public int getFirstResult() { return delegate.getFirstResult(); } @Override public Map<String, Object> getHints() { return delegate.getHints(); } @Override public Set<Parameter<?>> getParameters() { return delegate.getParameters(); } @Override public Parameter<?> getParameter(String string) { return delegate.getParameter(string); } @Override public <T> Parameter<T> getParameter(String string, Class<T> type) { return delegate.getParameter(string, type); } @Override public Parameter<?> getParameter(int i) { return delegate.getParameter(i); } @Override public <T> Parameter<T> getParameter(int i, Class<T> type) { return delegate.getParameter(i, type); } @Override public boolean isBound(Parameter<?> prmtr) { return delegate.isBound(prmtr); } @Override public <T> T getParameterValue(Parameter<T> prmtr) { return delegate.getParameterValue(prmtr); } @Override public Object getParameterValue(String string) { return delegate.getParameterValue(string); } @Override public Object getParameterValue(int i) { return delegate.getParameterValue(i); } @Override public FlushModeType getFlushMode() { return delegate.getFlushMode(); } @Override public LockModeType getLockMode() { return delegate.getLockMode(); } @Override public <T> T unwrap(Class<T> type) { return delegate.unwrap(type); } }