/*
* 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;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;
import java.util.Set;
import javax.persistence.Parameter;
import javax.persistence.TemporalType;
import javax.persistence.metamodel.Metamodel;
import com.blazebit.persistence.CommonQueryBuilder;
import com.blazebit.persistence.CriteriaBuilderFactory;
import com.blazebit.persistence.spi.JpqlMacro;
public class CommonQueryBuilderAdapter<BuilderType extends CommonQueryBuilder<BuilderType>> implements CommonQueryBuilder<BuilderType> {
private final AbstractCommonQueryBuilder<?, BuilderType, ?, ?, ?> builder;
@SuppressWarnings("unchecked")
public CommonQueryBuilderAdapter(AbstractCommonQueryBuilder<?, ?, ?, ?, ?> builder) {
this.builder = (AbstractCommonQueryBuilder<?, BuilderType, ?, ?, ?>) builder;
}
@Override
public Metamodel getMetamodel() {
return builder.getMetamodel();
}
@Override
public CriteriaBuilderFactory getCriteriaBuilderFactory() {
return builder.getCriteriaBuilderFactory();
}
@Override
public <T> T getService(Class<T> serviceClass) {
return builder.getService(serviceClass);
}
@Override
public BuilderType setParameter(String name, Object value) {
return builder.setParameter(name, value);
}
@Override
public BuilderType setParameter(String name, Calendar value, TemporalType temporalType) {
return builder.setParameter(name, value, temporalType);
}
@Override
public BuilderType setParameter(String name, Date value, TemporalType temporalType) {
return builder.setParameter(name, value, temporalType);
}
@Override
public BuilderType setParameterType(String name, Class<?> type) {
return builder.setParameterType(name, type);
}
@Override
public boolean containsParameter(String name) {
return builder.containsParameter(name);
}
@Override
public boolean isParameterSet(String name) {
return builder.isParameterSet(name);
}
@Override
public Parameter<?> getParameter(String name) {
return builder.getParameter(name);
}
@Override
public Set<? extends Parameter<?>> getParameters() {
return builder.getParameters();
}
@Override
public Object getParameterValue(String name) {
return builder.getParameterValue(name);
}
@Override
public BuilderType registerMacro(String macroName, JpqlMacro jpqlMacro) {
return builder.registerMacro(macroName, jpqlMacro);
}
@Override
public BuilderType setProperty(String propertyName, String propertyValue) {
return builder.setProperty(propertyName, propertyValue);
}
@Override
public BuilderType setProperties(Map<String, String> properties) {
return builder.setProperties(properties);
}
@Override
public Map<String, String> getProperties() {
return builder.getProperties();
}
@Override
public String getProperty(String propertyName) {
return builder.getProperty(propertyName);
}
}