DbQueryUtils.java revision 52e8d24f8492116f0b49b147576ce13a5f913aa2
152e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee/* 252e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee * Copyright (C) 2011 The Android Open Source Project 352e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee * 452e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee * Licensed under the Apache License, Version 2.0 (the "License"); 552e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee * you may not use this file except in compliance with the License. 652e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee * You may obtain a copy of the License at 752e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee * 852e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee * http://www.apache.org/licenses/LICENSE-2.0 952e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee * 1052e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee * Unless required by applicable law or agreed to in writing, software 1152e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee * distributed under the License is distributed on an "AS IS" BASIS, 1252e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1352e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee * See the License for the specific language governing permissions and 1452e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee * limitations under the License 1552e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee */ 1652e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjeepackage com.android.providers.contacts.util; 1752e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee 1852e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjeeimport android.database.DatabaseUtils; 1952e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjeeimport android.text.TextUtils; 2052e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee 2152e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee/** 2252e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee * Static methods for helping us build database query selection strings. 2352e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee */ 2452e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjeepublic class DbQueryUtils { 2552e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee // Static class with helper methods, so private constructor. 2652e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee private DbQueryUtils() { 2752e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee } 2852e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee 2952e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee /** Returns a WHERE clause asserting equality of a field to a value. */ 3052e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee public static String getEqualityClause(String field, String value) { 3152e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee StringBuilder clause = new StringBuilder(); 3252e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee clause.append("("); 3352e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee clause.append(field); 3452e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee clause.append(" = "); 3552e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee DatabaseUtils.appendEscapedSQLString(clause, value); 3652e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee clause.append(")"); 3752e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee return clause.toString(); 3852e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee } 3952e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee 4052e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee /** Concatenates any number of clauses using "AND". */ 4152e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee public static String concatenateClauses(String... clauses) { 4252e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee StringBuilder builder = new StringBuilder(); 4352e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee for (String clause : clauses) { 4452e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee if (!TextUtils.isEmpty(clause)) { 4552e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee if (builder.length() > 0) { 4652e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee builder.append(" AND "); 4752e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee } 4852e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee builder.append("("); 4952e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee builder.append(clause); 5052e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee builder.append(")"); 5152e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee } 5252e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee } 5352e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee return builder.toString(); 5452e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee } 5552e8d24f8492116f0b49b147576ce13a5f913aa2Debashish Chatterjee} 56