blob: fa557ba27ed96f0ca17b5bcfb4ee6ce3d877eaff [file] [log] [blame]
/*
* Copyright (C) 2017 The Android Open Source Project
*
* 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.android.tv.util;
import android.database.DatabaseUtils;
import android.support.annotation.Nullable;
import java.util.Arrays;
/** Convenience class for SQL operations. */
public class SqlParams {
private String mTables;
private @Nullable String mSelection;
private @Nullable String[] mSelectionArgs;
public SqlParams(String tables, @Nullable String selection, @Nullable String... selectionArgs) {
setTables(tables);
setWhere(selection, selectionArgs);
}
public String getTables() {
return mTables;
}
public @Nullable String getSelection() {
return mSelection;
}
public @Nullable String[] getSelectionArgs() {
return mSelectionArgs;
}
public void setTables(String tables) {
mTables = tables;
}
public void setWhere(String selection, String... selectionArgs) {
mSelection = selection;
mSelectionArgs = selectionArgs;
}
public void appendWhere(String selection, String... selectionArgs) {
mSelection = DatabaseUtils.concatenateWhere(mSelection, selection);
if (selectionArgs != null) {
mSelectionArgs = DatabaseUtils.appendSelectionArgs(mSelectionArgs, selectionArgs);
}
}
public void appendWhereEquals(String name, String value) {
appendWhere(name + "=?", value);
}
@Override
public String toString() {
return "tables "
+ getTables()
+ " where "
+ getSelection()
+ " with "
+ Arrays.toString(getSelectionArgs());
}
}