package com.getbase.android.db.provider; import android.content.ContentProviderOperation; import android.content.ContentProviderOperation.Builder; import android.content.ContentValues; import android.net.Uri; import android.os.RemoteException; public class Insert extends ProviderAction<Uri> implements ConvertibleToOperation { private ContentValues contentValues = new ContentValues(); Insert(Uri uri) { super(uri); } public Insert values(ContentValues contentValues) { this.contentValues.putAll(contentValues); return this; } public Insert value(String key, Object value) { Utils.addToContentValues(key, value, contentValues); return this; } @Override public Uri perform(CrudHandler crudHandler) throws RemoteException { return crudHandler.insert(getUri(), contentValues); } @Override public ContentProviderOperation toContentProviderOperation(UriDecorator uriDecorator) { return toContentProviderOperationBuilder(uriDecorator).build(); } @Override public Builder toContentProviderOperationBuilder(UriDecorator uriDecorator) { return ContentProviderOperation.newInsert(uriDecorator.decorate(getUri())).withValues(contentValues); } }