/**
* Copyright (c) 2000-present Liferay, Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1 of the License, or (at your option)
* any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
* details.
*/
package com.liferay.portal.dao.orm.hibernate;
import com.liferay.portal.kernel.dao.orm.Conjunction;
import com.liferay.portal.kernel.dao.orm.Criterion;
import com.liferay.portal.kernel.dao.orm.Disjunction;
import com.liferay.portal.kernel.dao.orm.RestrictionsFactory;
import com.liferay.portal.kernel.dao.orm.Type;
import com.liferay.portal.kernel.security.pacl.DoPrivileged;
import java.util.Collection;
import java.util.Map;
/**
* @author Raymond Augé
*/
@DoPrivileged
public class RestrictionsFactoryImpl implements RestrictionsFactory {
@Override
public Criterion allEq(Map<String, Criterion> propertyNameValues) {
return new CriterionImpl(
org.hibernate.criterion.Restrictions.allEq(propertyNameValues));
}
@Override
public Criterion and(Criterion lhs, Criterion rhs) {
CriterionImpl lhsImpl = (CriterionImpl)lhs;
CriterionImpl rhsImpl = (CriterionImpl)rhs;
return new CriterionImpl(
org.hibernate.criterion.Restrictions.and(
lhsImpl.getWrappedCriterion(), rhsImpl.getWrappedCriterion()));
}
@Override
public Criterion between(String propertyName, Object lo, Object hi) {
return new CriterionImpl(
org.hibernate.criterion.Restrictions.between(propertyName, lo, hi));
}
@Override
public Conjunction conjunction() {
return new ConjunctionImpl(
org.hibernate.criterion.Restrictions.conjunction());
}
@Override
public Disjunction disjunction() {
return new DisjunctionImpl(
org.hibernate.criterion.Restrictions.disjunction());
}
@Override
public Criterion eq(String propertyName, Object value) {
return new CriterionImpl(
org.hibernate.criterion.Restrictions.eq(propertyName, value));
}
@Override
public Criterion eqProperty(String propertyName, String otherPropertyName) {
return new CriterionImpl(
org.hibernate.criterion.Restrictions.eqProperty(
propertyName, otherPropertyName));
}
@Override
public Criterion ge(String propertyName, Object value) {
return new CriterionImpl(
org.hibernate.criterion.Restrictions.ge(propertyName, value));
}
@Override
public Criterion geProperty(String propertyName, String otherPropertyName) {
return new CriterionImpl(
org.hibernate.criterion.Restrictions.geProperty(
propertyName, otherPropertyName));
}
@Override
public Criterion gt(String propertyName, Object value) {
return new CriterionImpl(
org.hibernate.criterion.Restrictions.gt(propertyName, value));
}
@Override
public Criterion gtProperty(String propertyName, String otherPropertyName) {
return new CriterionImpl(
org.hibernate.criterion.Restrictions.gtProperty(
propertyName, otherPropertyName));
}
@Override
public Criterion ilike(String propertyName, Object value) {
return new CriterionImpl(
org.hibernate.criterion.Restrictions.ilike(propertyName, value));
}
@Override
public Criterion in(String propertyName, Collection<?> values) {
return new CriterionImpl(
org.hibernate.criterion.Restrictions.in(propertyName, values));
}
@Override
public Criterion in(String propertyName, Object[] values) {
return new CriterionImpl(
org.hibernate.criterion.Restrictions.in(propertyName, values));
}
@Override
public Criterion isEmpty(String propertyName) {
return new CriterionImpl(
org.hibernate.criterion.Restrictions.isEmpty(propertyName));
}
@Override
public Criterion isNotEmpty(String propertyName) {
return new CriterionImpl(
org.hibernate.criterion.Restrictions.isNotEmpty(propertyName));
}
@Override
public Criterion isNotNull(String propertyName) {
return new CriterionImpl(
org.hibernate.criterion.Restrictions.isNotNull(propertyName));
}
@Override
public Criterion isNull(String propertyName) {
return new CriterionImpl(
org.hibernate.criterion.Restrictions.isNull(propertyName));
}
@Override
public Criterion le(String propertyName, Object value) {
return new CriterionImpl(
org.hibernate.criterion.Restrictions.le(propertyName, value));
}
@Override
public Criterion leProperty(String propertyName, String otherPropertyName) {
return new CriterionImpl(
org.hibernate.criterion.Restrictions.leProperty(
propertyName, otherPropertyName));
}
@Override
public Criterion like(String propertyName, Object value) {
return new CriterionImpl(
org.hibernate.criterion.Restrictions.like(propertyName, value));
}
@Override
public Criterion lt(String propertyName, Object value) {
return new CriterionImpl(
org.hibernate.criterion.Restrictions.lt(propertyName, value));
}
@Override
public Criterion ltProperty(String propertyName, String otherPropertyName) {
return new CriterionImpl(
org.hibernate.criterion.Restrictions.ltProperty(
propertyName, otherPropertyName));
}
@Override
public Criterion ne(String propertyName, Object value) {
return new CriterionImpl(
org.hibernate.criterion.Restrictions.ne(propertyName, value));
}
@Override
public Criterion neProperty(String propertyName, String otherPropertyName) {
return new CriterionImpl(
org.hibernate.criterion.Restrictions.neProperty(
propertyName, otherPropertyName));
}
@Override
public Criterion not(Criterion expression) {
CriterionImpl expressionImpl = (CriterionImpl)expression;
return new CriterionImpl(
org.hibernate.criterion.Restrictions.not(
expressionImpl.getWrappedCriterion()));
}
@Override
public Criterion or(Criterion lhs, Criterion rhs) {
CriterionImpl lhsImpl = (CriterionImpl)lhs;
CriterionImpl rhsImpl = (CriterionImpl)rhs;
return new CriterionImpl(
org.hibernate.criterion.Restrictions.or(
lhsImpl.getWrappedCriterion(), rhsImpl.getWrappedCriterion()));
}
@Override
public Criterion sizeEq(String propertyName, int size) {
return new CriterionImpl(
org.hibernate.criterion.Restrictions.sizeEq(propertyName, size));
}
@Override
public Criterion sizeGe(String propertyName, int size) {
return new CriterionImpl(
org.hibernate.criterion.Restrictions.sizeGe(propertyName, size));
}
@Override
public Criterion sizeGt(String propertyName, int size) {
return new CriterionImpl(
org.hibernate.criterion.Restrictions.sizeGe(propertyName, size));
}
@Override
public Criterion sizeLe(String propertyName, int size) {
return new CriterionImpl(
org.hibernate.criterion.Restrictions.sizeLe(propertyName, size));
}
@Override
public Criterion sizeLt(String propertyName, int size) {
return new CriterionImpl(
org.hibernate.criterion.Restrictions.sizeLt(propertyName, size));
}
@Override
public Criterion sizeNe(String propertyName, int size) {
return new CriterionImpl(
org.hibernate.criterion.Restrictions.sizeNe(propertyName, size));
}
@Override
public Criterion sqlRestriction(String sql) {
return new CriterionImpl(
org.hibernate.criterion.Restrictions.sqlRestriction(sql));
}
@Override
public Criterion sqlRestriction(String sql, Object value, Type type) {
return new CriterionImpl(
org.hibernate.criterion.Restrictions.sqlRestriction(
sql, value, TypeTranslator.translate(type)));
}
@Override
public Criterion sqlRestriction(String sql, Object[] values, Type[] types) {
org.hibernate.type.Type[] hibernateTypes =
new org.hibernate.type.Type[types.length];
for (int i = 0; i < types.length; i++) {
hibernateTypes[i] = TypeTranslator.translate(types[i]);
}
return new CriterionImpl(
org.hibernate.criterion.Restrictions.sqlRestriction(
sql, values, hibernateTypes));
}
}