2012/08/03

Android:ContentProviderOperation.BuilderのAPI


情報源はDevelopersサイトのjavadoc。
ContentProviderOperation.Builder

●クラス概要

ContentProviderOperationを構築するビルダクラスです。
ContentProviderOperation.Builderのインスタンスは、newInsert/newUpdate/newDelete/newAssertQueryメソッドを呼び出して生成します。
newInsertで生成されたビルダはInsertタイプ、newUpdateで生成されたビルダはUpdateタイプといった具合になります。

withXXXメソッドではビルダにパラメータを追加するのに使います。
それぞれのメソッドは、ContentProviderOperation.Builderタイプが許可されているかをチェックします。
例えば、InsertタイプのビルダではwithSelection()を使用することはできません。

build()を呼ぶことで、ContentProviderOperationが構築・生成されます。


●public ContentProviderOperation build () 

ContentProviderOperation.BuilderからContentProviderOperationを生成します。


●public ContentProviderOperation.Builder withExpectedCount (int count) 

これを設定した場合、オペレーションによって影響をうける行数と引数countが一致しないとOperationApplicationExceptionをスローします。
このメソッドはupdate/delete/assertタイプのビルダで使用可能です。


●public ContentProviderOperation.Builder withSelection (String selection, String[] selectionArgs) 

selectionに'?'が含まれている場合、selectionArgsの対応するIndexの値で置換されます。
selectionArgsのいずれかは、withSelectionBackReference(int, int)によって後方参照引数で上書きされる可能性があります。
このメソッドはupdate/delete/assertタイプのビルダで使用可能です。


●public ContentProviderOperation.Builder withSelectionBackReference (int selectionArgIndex, int previousResult)

selectionArgsの後方参照値を指定します。
withSelection(String, String[])によって指定されたselectionArgIndexにある任意の値を上書きます。
このメソッドはupdate/delete/assertタイプのビルダで使用可能です。


●public ContentProviderOperation.Builder withValue (String key, Object value) 

この値はwithValueBackReference(String, int)で指定された値で上書きされる可能性があります。
このメソッドはinsert/update/assertタイプのビルダで使用可能です。


●public ContentProviderOperation.Builder withValueBackReference (String key, int previousResult) 

withValues(ContentValues)で指定された値よりも優先されます。
このメソッドはinsert/update/assertタイプのビルダで使用可能です。


●public ContentProviderOperation.Builder withValueBackReferences (ContentValues backReferences)

key値はカラム名、vlaue値はpreviousResultのインデックス値。
withValues(ContentValues)で指定された値よりも優先されます。
このメソッドはupdate/delete/assertタイプのビルダで使用可能です。


●public ContentProviderOperation.Builder withValues (ContentValues values) 

これはnullになる可能性があります。
この値はwithValueBackReference(String, int)で指定された値で上書きされる可能性があります。
あるいは、これより後に呼ばれるwithValues(ContentValues), withValue(String, Object)によっても上書きされます。
このメソッドはupdate/delete/assertタイプのビルダで使用可能です。

以上です。