BEA ホーム | 製品 | デベロッパ・センタ | support | askBEA
 ドキュメントのダウンロード   サイト マップ   用語集 
検索

BPM クライアント アプリケーション プログラミング

 前 次 目次 索引 PDFで表示  

値オブジェクトの使い方

この章では、Business Process Management (BPM) 値オブジェクトを使用してオブジェクト データにアクセスする方法について説明します。この章の内容は以下のとおりです。

 


値オブジェクトの概要

com.bea.wlpi.commoncom.bea.wlpi.common.security、および com.bea.eci.repository.helper という 3 つの BPM パッケージには、定義時と実行時にオブジェクト データを取得するためのクラス、すなわち値オブジェクトが含まれています。これらの各パッケージの詳細については、BPM APIを参照してください。

値オブジェクトには、以下の共通の特性があります。

オブジェクト データへのアクセスに使用できる値オブジェクトを次の表に示します。

表5-1 値オブジェクト

使用する値オブジェクト

アクセス対象

com.bea.wlpi.common.BusinessCalendarInfo

ビジネス カレンダー データ

com.bea.wlpi.common.EventKeyInfo

イベント キー データ

com.bea.wlpi.common.InstanceInfo

ワークフロー インスタンス データ

com.bea.wlpi.common.OrganizationInfo

オーガニゼーション データ

com.bea.wlpi.common.security.PermissionInfo

パーミッション データ

com.bea.wlpi.common.RepositoryFolderHelperInfo

XML リポジトリ フォルダ データ

com.bea.eci.repository.helper.RepositoryFolderInfo

XML リポジトリ フォルダ データ

com.bea.wlpi.common.RerouteInfo

タスク再ルーティング データ

com.bea.wlpi.common.RoleInfo

ロール データ

com.bea.wlpi.common.RolePermissionInfo

ロール パーミッション データ

com.bea.wlpi.common.TaskInfo

ワークフロー タスク データ

com.bea.wlpi.common.TemplateDefinitionInfo

テンプレート定義データ

com.bea.wlpi.common.TemplateInfo

テンプレート データ

com.bea.wlpi.common.UserInfo

ユーザ データ

com.bea.wlpi.common.security.UserPermissionInfo

ユーザ パーミッション データ

com.bea.wlpi.common.VariableInfo

変数データ

com.bea.wlpi.common.VersionInfo

バージョン番号データ

com.bea.wlpi.common.XMLEntityHelperInfo

XML リポジトリ エンティティ データ

com.bea.eci.repository.helper.XMLEntityInfo

XML リポジトリ エンティティ データ


 

 


値オブジェクトの作成

値オブジェクトを作成するには、関連付けられているコンストラクタを使用します。値オブジェクトの表に記載のそれぞれの 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;|
.
.
.

 

ページの先頭 前 次