// Path: ormlite-content-provider-library/src/com/tojc/ormlite/android/framework/OperationParameters.java
// public interface DeleteParameters extends OperationParametersBaseInterface {
//     String getSelection();
// 
//     String[] getSelectionArgs();
// }
// 
// Path: ormlite-content-provider-library/src/com/tojc/ormlite/android/framework/OperationParameters.java
// public interface InsertParameters extends OperationParametersBaseInterface {
//     ContentValues getValues();
// }
// 
// Path: ormlite-content-provider-library/src/com/tojc/ormlite/android/framework/OperationParameters.java
// public interface OperationParametersBaseInterface {
//     Uri getUri();
// }
// 
// Path: ormlite-content-provider-library/src/com/tojc/ormlite/android/framework/OperationParameters.java
// public interface QueryParameters extends OperationParametersBaseInterface {
//     String[] getProjection();
// 
//     String getSelection();
// 
//     String[] getSelectionArgs();
// 
//     String getSortOrder();
// }
// 
// Path: ormlite-content-provider-library/src/com/tojc/ormlite/android/framework/OperationParameters.java
// public interface UpdateParameters extends OperationParametersBaseInterface {
//     ContentValues getValues();
// 
//     String getSelection();
// 
//     String[] getSelectionArgs();
// }


import android.content.ContentValues;
import android.net.Uri;
import com.tojc.ormlite.android.framework.OperationParameters.DeleteParameters;
import com.tojc.ormlite.android.framework.OperationParameters.InsertParameters;
import com.tojc.ormlite.android.framework.OperationParameters.OperationParametersBaseInterface;
import com.tojc.ormlite.android.framework.OperationParameters.QueryParameters;
import com.tojc.ormlite.android.framework.OperationParameters.UpdateParameters;
/*
 * This file is part of the Android-OrmLiteContentProvider package.
 *
 * Copyright (c) 2012, Android-OrmLiteContentProvider Team.
 *                     Jaken Jarvis (jaken.jarvis@gmail.com)
 *
 * 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.
 *
 * The author may be contacted via
 * https://github.com/jakenjarvis/Android-OrmLiteContentProvider
 */
package com.tojc.ormlite.android.framework;



/**
 * Implementation class that holds the parameter.
 * @author Jaken
 */
public class Parameter implements OperationParametersBaseInterface, QueryParameters, InsertParameters,
    DeleteParameters, UpdateParameters {
    // Android Event ITEM
    private Uri uri;
    private String[] projection;
    private String selection;
    private String[] selectionArgs;
    private String sortOrder;
    private ContentValues values;

    public Parameter() {
        this.clear();
    }

    public void clear() {
        this.uri = null;
        this.projection = null;
        this.selection = null;
        this.selectionArgs = null;
        this.sortOrder = null;
        this.values = null;
    }

    // query
    public Parameter(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
        this.clear();
        this.uri = uri;
// Path: ormlite-content-provider-library/src/com/tojc/ormlite/android/framework/OperationParameters.java
// public interface DeleteParameters extends OperationParametersBaseInterface {
//     String getSelection();
// 
//     String[] getSelectionArgs();
// }
// 
// Path: ormlite-content-provider-library/src/com/tojc/ormlite/android/framework/OperationParameters.java
// public interface InsertParameters extends OperationParametersBaseInterface {
//     ContentValues getValues();
// }
// 
// Path: ormlite-content-provider-library/src/com/tojc/ormlite/android/framework/OperationParameters.java
// public interface OperationParametersBaseInterface {
//     Uri getUri();
// }
// 
// Path: ormlite-content-provider-library/src/com/tojc/ormlite/android/framework/OperationParameters.java
// public interface QueryParameters extends OperationParametersBaseInterface {
//     String[] getProjection();
// 
//     String getSelection();
// 
//     String[] getSelectionArgs();
// 
//     String getSortOrder();
// }
// 
// Path: ormlite-content-provider-library/src/com/tojc/ormlite/android/framework/OperationParameters.java
// public interface UpdateParameters extends OperationParametersBaseInterface {
//     ContentValues getValues();
// 
//     String getSelection();
// 
//     String[] getSelectionArgs();
// }


// Path: ormlite-content-provider-library/src/com/tojc/ormlite/android/framework/Parameter.java
import android.content.ContentValues;
import android.net.Uri;
import com.tojc.ormlite.android.framework.OperationParameters.DeleteParameters;
import com.tojc.ormlite.android.framework.OperationParameters.InsertParameters;
import com.tojc.ormlite.android.framework.OperationParameters.OperationParametersBaseInterface;
import com.tojc.ormlite.android.framework.OperationParameters.QueryParameters;
import com.tojc.ormlite.android.framework.OperationParameters.UpdateParameters;

/*
 * This file is part of the Android-OrmLiteContentProvider package.
 *
 * Copyright (c) 2012, Android-OrmLiteContentProvider Team.
 *                     Jaken Jarvis (jaken.jarvis@gmail.com)
 *
 * 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.
 *
 * The author may be contacted via
 * https://github.com/jakenjarvis/Android-OrmLiteContentProvider
 */
package com.tojc.ormlite.android.framework;



/**
 * Implementation class that holds the parameter.
 * @author Jaken
 */
public class Parameter implements OperationParametersBaseInterface, QueryParameters, InsertParameters,
    DeleteParameters, UpdateParameters {
    // Android Event ITEM
    private Uri uri;
    private String[] projection;
    private String selection;
    private String[] selectionArgs;
    private String sortOrder;
    private ContentValues values;

    public Parameter() {
        this.clear();
    }

    public void clear() {
        this.uri = null;
        this.projection = null;
        this.selection = null;
        this.selectionArgs = null;
        this.sortOrder = null;
        this.values = null;
    }

    // query
    public Parameter(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
        this.clear();
        this.uri = uri;
        if (projection != null) {