001    /**
002     * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portal.kernel.dao.orm;
016    
017    import java.util.Collection;
018    import java.util.Map;
019    
020    /**
021     * @author Raymond Aug??
022     */
023    public interface RestrictionsFactory {
024    
025            public Criterion allEq(Map<String, Criterion> propertyNameValues);
026    
027            public Criterion and(Criterion lhs, Criterion rhs);
028    
029            public Criterion between(String propertyName, Object lo, Object hi);
030    
031            public Conjunction conjunction();
032    
033            public Disjunction disjunction();
034    
035            public Criterion eq(String propertyName, Object value);
036    
037            public Criterion eqProperty(String propertyName, String otherPropertyName);
038    
039            public Criterion ge(String propertyName, Object value);
040    
041            public Criterion geProperty(String propertyName, String otherPropertyName);
042    
043            public Criterion gt(String propertyName, Object value);
044    
045            public Criterion gtProperty(String propertyName, String otherPropertyName);
046    
047            public Criterion ilike(String propertyName, Object value);
048    
049            public Criterion in(String propertyName, Collection<?> values);
050    
051            public Criterion in(String propertyName, Object[] values);
052    
053            public Criterion isEmpty(String propertyName);
054    
055            public Criterion isNotEmpty(String propertyName);
056    
057            public Criterion isNotNull(String propertyName);
058    
059            public Criterion isNull(String propertyName);
060    
061            public Criterion le(String propertyName, Object value);
062    
063            public Criterion leProperty(String propertyName, String otherPropertyName);
064    
065            public Criterion like(String propertyName, Object value);
066    
067            public Criterion lt(String propertyName, Object value);
068    
069            public Criterion ltProperty(String propertyName, String otherPropertyName);
070    
071            public Criterion ne(String propertyName, Object value);
072    
073            public Criterion neProperty(String propertyName, String otherPropertyName);
074    
075            public Criterion not(Criterion expression);
076    
077            public Criterion or(Criterion lhs, Criterion rhs);
078    
079            public Criterion sizeEq(String propertyName, int size);
080    
081            public Criterion sizeGe(String propertyName, int size);
082    
083            public Criterion sizeGt(String propertyName, int size);
084    
085            public Criterion sizeLe(String propertyName, int size);
086    
087            public Criterion sizeLt(String propertyName, int size);
088    
089            public Criterion sizeNe(String propertyName, int size);
090    
091            public Criterion sqlRestriction(String sql);
092    
093            public Criterion sqlRestriction(String sql, Object value, Type type);
094    
095            public Criterion sqlRestriction(String sql, Object[] values, Type[] types);
096    
097    }