BEA ホーム | 製品 | デベロッパ・センタ | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > WebLogic Integration > BPM トピック > BPM クライアント アプリケーション プログラミング > 値オブジェクトの使い方 |
BPM クライアント アプリケーション プログラミング
|
値オブジェクトの使い方
この章では、Business Process Management (BPM) 値オブジェクトを使用してオブジェクト データにアクセスする方法について説明します。この章の内容は以下のとおりです。
値オブジェクトの概要
com.bea.wlpi.common、com.bea.wlpi.common.security、および com.bea.eci.repository.helper という 3 つの BPM パッケージには、定義時と実行時にオブジェクト データを取得するためのクラス、すなわち値オブジェクトが含まれています。これらの各パッケージの詳細については、BPM APIを参照してください。
各値オブジェクトには、以下の共通の特性があります。
public boolean equals(Object obj)
public int compareTo(Object obj)
これらのクラスの詳細については、次の Sun Microsystems 社の Java Web サイトを参照してください。
int java.util.Collections.binarySearch(List list, Object o)
によって、以前に java.util.Collections.sort(List list) メソッドでソートされたリストをすばやく検索できます。
注意: データのインポートとエクスポートがサポートされている場合は、com.bea.wlpi.common.Publishable インタフェースも実装します。詳細については、ワークフロー オブジェクトの発行を参照してください。
オブジェクト データへのアクセスに使用できる値オブジェクトを次の表に示します。
値オブジェクトの作成
値オブジェクトを作成するには、関連付けられているコンストラクタを使用します。値オブジェクトの表に記載のそれぞれの BPM 値オブジェクトには、オブジェクト データ作成用のコンストラクタが任意の数含まれています。値オブジェクトを作成するコンストラクタは、値オブジェクトのまとめに記載しています。
たとえば、次のコードでは OrganizationInfo オブジェクトが作成され、オーガニゼーション ID が ORG1 に設定され、生成されたオブジェクトが organization に割り当てられます。
OrganizationInfo organization = new OrganizationInfo(“ORG1”);
値オブジェクトによるオブジェクト データへのアクセス
値オブジェクトの表に記載のそれぞれの BPM 値オブジェクトには、オブジェクト データにアクセスするためのさまざまなメソッドが含まれています。各値オブジェクトのオブジェクト データを取得および設定するメソッドは、値オブジェクトのまとめに記載されています。
たとえば、次のコードは、指定した OrganizationInfo オブジェクト、organization のオーガニゼーション ID を取得します。
String id = getOrgId(organization);
値オブジェクトのソート
値オブジェクトの概要に記載のとおり、java.util.Collections クラスに使用可能な sort() メソッドを使用すると、java.lang.Comparable インタフェースを実装する値オブジェクトのリストを以下のようにソートすることが可能です。
第 1 のメソッドでは、java.lang.Comparable の場合と同様に、指定の要素リストが要素の自然順序に基づいて昇順にソートされます。
http://java.sun.com/j2se/1.3/docs/api/java/lang/Comparable.html
第 2 のメソッドでは、デフォルト以外のキーに基づいたソートを行うカスタム演算子を使用して、指定の要素リストがソートされます。
注意: com.bea.wlpi.client.common.SortTableModel クラスには、JTable のカラム ヘッダをクリックすることでカラム内の値オブジェクト データをソートするメソッド群が含まれています。詳細については、Javadoc の com.bea.wlpi.client.common.SortableTableModel を参照してください。
値オブジェクトの使用例
この節では、コマンドライン Worklist サンプルから抜粋して、値オブジェクトを使用してタスク オブジェクト データにアクセスする方法を示します。また、TaskInfo クラス メソッドを使用してタスク名、テンプレート定義 ID、インスタンス ID、およびタスク ID を取得する方法も示されています。
get アクションは太字で強調されています。
/* 割り当て済みのタスクがあるか ? */
if( taskList.size( ) == 0 )
System.out.println( "¥nNo task assigned" );
else
System.out.print( "¥nAssigned Tasks:" );
/* リストを処理して、タスクを表示する */
for( int i = 0; i < taskList.size( ); i++ ) {
/* リストから要素を取り出す */
TaskInfo taskInfo = ( TaskInfo )taskList.get( i );
/* WLPI 公開 API メソッド */
/* 使用可能な属性のサブセットを取り出して表示する */
System.out.println( "¥n- Name: " + taskInfo.getName( ) );
System.out.println( " Template Definition ID: " +
taskInfo.getTemplateDefinitionId( ) );
System.out.println( " Workflow Instance ID: " +
taskInfo.getInstanceId( ) );
System.out.println( " Task ID: " + taskInfo.getTaskId( ) );
System.out.print( " Status: " + taskInfo.getStatus( ) );
/* タスク状態を取り出して表示する */
if( taskInfo.getStatus( ) == taskInfo.STATUS_PENDING )
System.out.println( " (Pending)" );
else if( taskInfo.getStatus( ) == taskInfo.STATUS_COMPLETE )
System.out.println( " (Complete)" );
else if( taskInfo.getStatus( ) == taskInfo.STATUS_OVERDUE )
System.out.println( " (Overdue)" );
else if( taskInfo.getStatus( ) == taskInfo.STATUS_INACTIVE )
System.out.println( " (Inactive)" );
else
System.out.println( " (Unknown)" );
}
break;|
.
.
.
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |