クラス AbstractFallbackRequestAndResponseControlDirContextProcessor
java.lang.ObjectSE
org.springframework.ldap.control.AbstractRequestControlDirContextProcessor
org.springframework.ldap.control.AbstractFallbackRequestAndResponseControlDirContextProcessor
- 実装されているすべてのインターフェース:
DirContextProcessor
- 既知の直属サブクラス
PagedResultsDirContextProcessor、SortControlDirContextProcessor、VirtualListViewControlDirContextProcessor
public abstract class AbstractFallbackRequestAndResponseControlDirContextProcessor
extends AbstractRequestControlDirContextProcessor
リクエスト制御とレスポンス制御を持つ標準 DirContextProcessor を実装する場合に便利な基本クラス。必要に応じて、サブクラスによって指定されたフォールバック実装を使用して、コントロールクラスの読み込みを処理します。リクエスト制御コンストラクターの呼び出しを処理します。コンストラクターの引数を指定するだけで済みます。また、レスポンスコントロールの後処理でほとんどの作業を処理し、実際の値を取得するためのテンプレートメソッドに委譲するだけです。つまり、カスタム DirContextProcessor の実装が容易になります。
public class SortControlDirContextProcessor extends AbstractFallbackRequestAndResponseControlDirContextProcessor {
String sortKey;
private boolean sorted = false;
private int resultCode = -1;
public SortControlDirContextProcessor(String sortKey) {
this.sortKey = sortKey;
defaultRequestControl = "javax.naming.ldap.SortControl";
defaultResponseControl = "com.sun.jndi.ldap.ctl.SortControl";
fallbackRequestControl = "javax.naming.ldap.SortResponseControl";
fallbackResponseControl = "com.sun.jndi.ldap.ctl.SortResponseControl";
loadControlClasses();
}
public boolean isSorted() {
return sorted;
}
public int getResultCode() {
return resultCode;
}
public Control createRequestControl() {
return super.createRequestControl(new Class[] { String[].class, boolean.class }, new Object[] {
new String[] { sortKey }, Boolean.valueOf(critical) });
}
protected void handleResponse(Object control) {
Boolean result = (Boolean) invokeMethod("isSorted", responseControlClass, control);
this.sorted = result.booleanValue();
Integer code = (Integer) invokeMethod("getResultCode", responseControlClass, control);
resultCode = code.intValue();
}
}
フィールドのサマリー
フィールド修飾子と型フィールド説明protected booleanprotected StringSEprotected StringSEprotected StringSEprotected StringSEprotected ClassSE<?>protected ClassSE<?>クラス org.springframework.ldap.control.AbstractRequestControlDirContextProcessor から継承されたフィールド
logコンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明createRequestControl(ClassSE<?>[] paramTypes, ObjectSE[] params) paramsで指定されたコンストラクターパラメーターを使用してリクエストコントロールを作成します。protected abstract voidhandleResponse(ObjectSE control) protected ObjectSEinvokeMethod(StringSE method, ClassSE<?> clazz, ObjectSE control) Control でメソッドを呼び出すためのユーティリティメソッド。protected voidvoidpostProcess(DirContextSE ctx) 提供されたDirContextで後処理を実行します。voidsetCritical(boolean critical) このコントロールをクリティカルとして表示するかどうかを設定します。voidsetRequestControlClass(ClassSE<?> requestControlClass) voidsetResponseControlClass(ClassSE<?> responseControlClass) ソート結果レスポンスの予想される ResponseControl のクラスを設定します。クラス org.springframework.ldap.control.AbstractRequestControlDirContextProcessor から継承されたメソッド
createRequestControl, isReplaceSameControlEnabled, preProcess, setReplaceSameControlEnabled
フィールドの詳細
responseControlClass
requestControlClass
critical
protected boolean criticaldefaultRequestControl
defaultResponseControl
fallbackRequestControl
fallbackResponseControl
コンストラクターの詳細
AbstractFallbackRequestAndResponseControlDirContextProcessor
public AbstractFallbackRequestAndResponseControlDirContextProcessor()
メソッドの詳細
loadControlClasses
protected void loadControlClasses()setResponseControlClass
ソート結果レスポンスの予想される ResponseControl のクラスを設定します。- パラメーター:
responseControlClass- 予想されるレスポンスコントロールのクラス。
setRequestControlClass
invokeMethod
Control でメソッドを呼び出すためのユーティリティメソッド。- パラメーター:
method- 呼び出すメソッドの名前clazz- メソッドが呼び出されるオブジェクトのクラスcontrol- メソッドを呼び出すインスタンス- 戻り値:
- 呼び出し結果(ある場合)
createRequestControl
paramsで指定されたコンストラクターパラメーターを使用してリクエストコントロールを作成します。- パラメーター:
paramTypes- コンストラクターパラメーターの型params- 実際のコンストラクターパラメーター- 戻り値:
- DirContextProcessor で使用するコントロール
postProcess
インターフェースからコピーされた説明:DirContextProcessor提供されたDirContextで後処理を実行します。- パラメーター:
ctx-DirContextインスタンス。- 例外:
NamingExceptionSE- 基になる操作によってスローされた場合。
setCritical
public void setCritical(boolean critical) このコントロールをクリティカルとして表示するかどうかを設定します。- パラメーター:
critical- コントロールが重要かどうか。- 導入:
- 2.0
handleResponse