001    /**
002     * Copyright (c) 2000-present 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.util.dao.orm;
016    
017    import com.liferay.portal.kernel.dao.orm.QueryDefinition;
018    import com.liferay.portal.kernel.dao.orm.WildcardMode;
019    import com.liferay.portal.kernel.log.Log;
020    import com.liferay.portal.kernel.log.LogFactoryUtil;
021    import com.liferay.portal.kernel.util.OrderByComparator;
022    
023    import java.sql.SQLException;
024    
025    /**
026     * @author Brian Wing Shun Chan
027     * @author Bruno Farache
028     * @author Raymond Aug??
029     * @see com.liferay.portal.dao.orm.custom.sql.CustomSQLUtil
030     */
031    public class CustomSQLUtil {
032    
033            public static String appendCriteria(String sql, String criteria) {
034                    return _instance._customSQL.appendCriteria(sql, criteria);
035            }
036    
037            public static String get(String id) {
038                    return _instance._customSQL.get(id);
039            }
040    
041            public static String get(String id, QueryDefinition<?> queryDefinition) {
042                    return _instance._customSQL.get(id, queryDefinition);
043            }
044    
045            public static String get(
046                    String id, QueryDefinition<?> queryDefinition, String tableName) {
047    
048                    return _instance._customSQL.get(id, queryDefinition, tableName);
049            }
050    
051            public static boolean isVendorDB2() {
052                    return _instance._customSQL.isVendorDB2();
053            }
054    
055            public static boolean isVendorHSQL() {
056                    return _instance._customSQL.isVendorHSQL();
057            }
058    
059            public static boolean isVendorInformix() {
060                    return _instance._customSQL.isVendorInformix();
061            }
062    
063            public static boolean isVendorMySQL() {
064                    return _instance._customSQL.isVendorMySQL();
065            }
066    
067            public static boolean isVendorOracle() {
068                    return _instance._customSQL.isVendorOracle();
069            }
070    
071            public static boolean isVendorSybase() {
072                    return _instance._customSQL.isVendorSybase();
073            }
074    
075            public static String[] keywords(String keywords) {
076                    return _instance._customSQL.keywords(keywords);
077            }
078    
079            public static String[] keywords(String keywords, boolean lowerCase) {
080                    return _instance._customSQL.keywords(keywords, lowerCase);
081            }
082    
083            public static String[] keywords(
084                    String keywords, boolean lowerCase, WildcardMode wildcardMode) {
085    
086                    return _instance._customSQL.keywords(keywords, lowerCase, wildcardMode);
087            }
088    
089            public static String[] keywords(
090                    String keywords, WildcardMode wildcardMode) {
091    
092                    return _instance._customSQL.keywords(keywords, wildcardMode);
093            }
094    
095            public static String[] keywords(String[] keywordsArray) {
096                    return _instance._customSQL.keywords(keywordsArray);
097            }
098    
099            public static String[] keywords(String[] keywordsArray, boolean lowerCase) {
100                    return _instance._customSQL.keywords(keywordsArray, lowerCase);
101            }
102    
103            public static void reloadCustomSQL() throws SQLException {
104                    _instance._customSQL.reloadCustomSQL();
105            }
106    
107            public static String removeGroupBy(String sql) {
108                    return _instance._customSQL.removeGroupBy(sql);
109            }
110    
111            public static String removeOrderBy(String sql) {
112                    return _instance._customSQL.removeOrderBy(sql);
113            }
114    
115            public static String replaceAndOperator(String sql, boolean andOperator) {
116                    return _instance._customSQL.replaceAndOperator(sql, andOperator);
117            }
118    
119            public static String replaceGroupBy(String sql, String groupBy) {
120                    return _instance._customSQL.replaceGroupBy(sql, groupBy);
121            }
122    
123            public static String replaceIsNull(String sql) {
124                    return _instance._customSQL.replaceIsNull(sql);
125            }
126    
127            public static String replaceKeywords(
128                    String sql, String field, boolean last, int[] values) {
129    
130                    return _instance._customSQL.replaceKeywords(sql, field, last, values);
131            }
132    
133            public static String replaceKeywords(
134                    String sql, String field, boolean last, long[] values) {
135    
136                    return _instance._customSQL.replaceKeywords(sql, field, last, values);
137            }
138    
139            public static String replaceKeywords(
140                    String sql, String field, String operator, boolean last,
141                    String[] values) {
142    
143                    return _instance._customSQL.replaceKeywords(
144                            sql, field, operator, last, values);
145            }
146    
147            public static String replaceOrderBy(String sql, OrderByComparator<?> obc) {
148                    return _instance._customSQL.replaceOrderBy(sql, obc);
149            }
150    
151            private CustomSQLUtil() {
152                    CustomSQL customSQL = null;
153    
154                    try {
155                            customSQL = new CustomSQL();
156                    }
157                    catch (Exception e) {
158                            _log.error(e, e);
159                    }
160    
161                    _customSQL = customSQL;
162            }
163    
164            private static final Log _log = LogFactoryUtil.getLog(CustomSQLUtil.class);
165    
166            private static final CustomSQLUtil _instance = new CustomSQLUtil();
167    
168            private final CustomSQL _customSQL;
169    
170    }