TargetPolicy インターフェースをインプリメントして、ご使用のアプリケーションに適切な getCommandTarget メソッドを提供することによって、カスタム・ターゲット・ポリシーを定義することができます。 TargetableCommandImpl クラスは、カスタム・ターゲット・ポリシーを管理するための setTargetPolicy メソッドと getTargetPolicy メソッドを提供します。
ここまでは、すべてのコマンドのターゲットは当座預金エンティティー Bean です。 誰かが、コマンド・ターゲットとして作用することのできるセッション・ エンタープライズ Bean (MySessionBean) を導入するとします。 以下のコード例は、すべてのコマンドのターゲットを MySessionBean に設定する単純なカスタム・ポリシーを表示しています。
import java.io.*; import java.util.*; import java.beans.*; import com.ibm.websphere.command.*; public class CustomTargetPolicy implements TargetPolicy, Serializable { public CustomTargetPolicy { super(); } public CommandTarget getCommandTarget(TargetableCommand command) { CommandTarget = null; try { target = (CommandTarget)Beans.instantiate(null, "com.ibm.sfc.cmd.test.MySessionBean"); } catch (Exception e) { e.printStackTrace(); } } }
コマンドは JavaBeans コンポーネントとして実装されているので、カスタム・ターゲット・ポリシーの使用には、java.beans パッケージのインポートといくつかの基本的な JavaBeans コードの書き込みが必要です。 また、カスタム・ターゲット・ポリシーのクラスは、java.io.Serializable インターフェースも実装している必要があります。