JavaTM Platform
Standard Ed. 6

javax.management.relation
インタフェース Relation

既知のサブインタフェースの一覧:
RelationSupportMBean
既知の実装クラスの一覧:
RelationSupport

public interface Relation

関係サービスによって管理される関係を表す MBean クラスは、このインタフェースを実装する必要があります。 

プロパティーやメソッドを持たず、ロールだけ持つ単純な関係は、関係サービスで直接作成できます。 こうした関係は、RelationSupport オブジェクトとして、関係サービスによって内部で処理されます。 

複数のプロパティーやメソッドを持つ、より複雑な関係を表現したい場合は、Relation インタフェースを実装する独自のクラスを用意する必要があります。このクラスは、RelationSupport クラスから継承するか、インタフェース (RelationSupport オブジェクトメンバー、またはその委譲) を実装することによって取得できます。 

こうしたユーザー関係クラスを指定することにより、プロパティーやメソッドを導入できます。これらのプロパティーやメソッドは、リモート管理用に公開する必要があります。つまり、すべてのユーザー関係クラスは MBean クラスである必要があります。

導入されたバージョン:
1.5

メソッドの概要
 RoleResult getAllRoles()
          関係に含まれるすべてのロールを返します。
 Map<ObjectName,List<String>> getReferencedMBeans()
          関係のさまざまなロールで参照される MBean を取得します。
 String getRelationId()
          関係サービス内の関係を一意に識別するために使用される関係識別子を返します。
 ObjectName getRelationServiceName()
          関係を処理する関係サービスの ObjectName を返します。
 String getRelationTypeName()
          関連付けられた関係型の名前を返します。
 List<ObjectName> getRole(String roleName)
          指定されたロール名のロール値を取得します。
 Integer getRoleCardinality(String roleName)
          指定されたロール内で現在参照されている MBean の数を返します。
 RoleResult getRoles(String[] roleNameArray)
          指定された名前のロールの値を取得します。
 void handleMBeanUnregistration(ObjectName objectName, String roleName)
          ロールに含まれる参照対象の MBean の登録が解除された場合に関係サービスによって使用されるコールバックです。
 RoleList retrieveAllRoles()
          読み取りモードをチェックしないで、関係に含まれるすべてのロールを返します。
 void setRole(Role role)
          指定されたロールを設定します。
 RoleResult setRoles(RoleList roleList)
          指定されたロールを設定します。
 

メソッドの詳細

getRole

List<ObjectName> getRole(String roleName)
                         throws IllegalArgumentException,
                                RoleNotFoundException,
                                RelationServiceNotRegisteredException
指定されたロール名のロール値を取得します。 

ロールが存在し、関係型に従って読み取り可能かどうかをチェックします。

パラメータ:
roleName - ロール名
戻り値:
ロール値となる ObjectName オブジェクトの ArrayList
例外:
IllegalArgumentException - ロール名が null の場合
RoleNotFoundException - 次の条件が成立する場合: 

- 指定された名前のロールが存在しない場合 

- ロールが読み取り不可な場合

RelationServiceNotRegisteredException - 関係サービス が MBean サーバーに登録されていない場合
関連項目:
setRole(javax.management.relation.Role)

getRoles

RoleResult getRoles(String[] roleNameArray)
                    throws IllegalArgumentException,
                           RelationServiceNotRegisteredException
指定された名前のロールの値を取得します。 

各ロールが存在し、関係型に従って読み取り可能かどうかをチェックします。

パラメータ:
roleNameArray - 取得されるロールの名前から成る配列
戻り値:
RoleResult オブジェクト。 取得に成功したロールの RoleList と 取得されなかったロールの RoleUnresolvedList を含む
例外:
IllegalArgumentException - ロール名が null の場合
RelationServiceNotRegisteredException - 関係サービス が MBean サーバーに登録されていない場合
関連項目:
setRoles(javax.management.relation.RoleList)

getRoleCardinality

Integer getRoleCardinality(String roleName)
                           throws IllegalArgumentException,
                                  RoleNotFoundException
指定されたロール内で現在参照されている MBean の数を返します。

パラメータ:
roleName - ロール名
戻り値:
ロール内の現在参照されている MBean の数
例外:
IllegalArgumentException - ロール名が null の場合
RoleNotFoundException - 指定された名前のロールが存在しない場合

getAllRoles

RoleResult getAllRoles()
                       throws RelationServiceNotRegisteredException
関係に含まれるすべてのロールを返します。

戻り値:
RoleResult オブジェクト。 取得に成功したロールの RoleList と 読み取れなかったロールの RoleUnresolvedList を含む
例外:
RelationServiceNotRegisteredException - 関係サービス が MBean サーバーに登録されていない場合

retrieveAllRoles

RoleList retrieveAllRoles()
読み取りモードをチェックしないで、関係に含まれるすべてのロールを返します。

戻り値:
RoleList

setRole

void setRole(Role role)
             throws IllegalArgumentException,
                    RoleNotFoundException,
                    RelationTypeNotFoundException,
                    InvalidRoleValueException,
                    RelationServiceNotRegisteredException,
                    RelationNotFoundException
指定されたロールを設定します。 

関係の関係型に含まれている対応するロール定義に従って、ロールをチェックします。 

通知を送信します。 関係が MBean であるかどうかによって、RelationNotification の型は RELATION_BASIC_UPDATE または RELATION_MBEAN_UPDATE になります。

パラメータ:
role - 設定されるロール (名前と新しい値)
例外:
IllegalArgumentException - ロールが null の場合
RoleNotFoundException - 指定された名前のロールが存在しない場合、 またはロールが 書き込み可能でない場合 (ロールの初期化時には、書き込みアクセスモードのチェックは行われない)
InvalidRoleValueException - ロールに対して提供された値が無効な場合: 

- 指定された値に含まれる参照対象の MBean の数が予想最小値より小さい場合 

- 指定された値に含まれる参照対象の MBean の数が予想最大値を超えている場合 

- 値に含まれる参照対象の MBean のうち 1 つが、そのロールの MBean クラスのオブジェクトでない場合 

- そのロールの MBean が存在しない場合

RelationServiceNotRegisteredException - 関係サービス が MBean サーバーに登録されていない場合
RelationTypeNotFoundException - 関係サービスに 関係型が宣言されていない場合
RelationNotFoundException - 関係サービスに 関係が追加されていない場合
関連項目:
getRole(java.lang.String)

setRoles

RoleResult setRoles(RoleList roleList)
                    throws IllegalArgumentException,
                           RelationServiceNotRegisteredException,
                           RelationTypeNotFoundException,
                           RelationNotFoundException
指定されたロールを設定します。 

関係の関係型に含まれている対応するロール定義に従って、ロールをチェックします。 

ロールが更新されるたびに通知を送信します。 関係が MBean であるかどうかによって、RelationNotification の型は RELATION_BASIC_UPDATE または RELATION_MBEAN_UPDATE になります。

パラメータ:
roleList - 設定されるロールのリスト
戻り値:
RoleResult オブジェクト。 設定に成功したロールの RoleList と 設定されなかったロールの RoleUnresolvedList を含む
例外:
IllegalArgumentException - ロールリストが null の場合
RelationServiceNotRegisteredException - 関係サービス が MBean サーバーに登録されていない場合
RelationTypeNotFoundException - 関係サービスに 関係型が宣言されていない場合
RelationNotFoundException - 関係サービスに 関係 MBean が追加されていない場合
関連項目:
getRoles(java.lang.String[])

handleMBeanUnregistration

void handleMBeanUnregistration(ObjectName objectName,
                               String roleName)
                               throws IllegalArgumentException,
                                      RoleNotFoundException,
                                      InvalidRoleValueException,
                                      RelationServiceNotRegisteredException,
                                      RelationTypeNotFoundException,
                                      RelationNotFoundException
ロールに含まれる参照対象の MBean の登録が解除された場合に関係サービスによって使用されるコールバックです。 

関係サービスは、このメソッドを呼び出して、関係に、登録解除の影響を反映するためのアクションを取らせます。 

このメソッドは、ユーザーからは呼び出されません。 

現在の実装は、現在の値 (参照対象の MBean の ObjectName のリスト) を使ってロールを設定します。 登録解除されているものは使用しません。

パラメータ:
objectName - 登録解除された MBean の ObjectName
roleName - MBean の参照に使用されるロール名
例外:
IllegalArgumentException - パラメータが null の場合
RoleNotFoundException - 関係内にロールが存在しないか、 書き込み不可である場合
InvalidRoleValueException - ロール値が 関連するロール情報に準拠していない場合 (関係サービスから 呼び出された場合は起こり得ない条件)
RelationServiceNotRegisteredException - 関係サービス が MBean サーバーに登録されていない場合
RelationTypeNotFoundException - 関係サービスに 関係型が宣言されていない場合
RelationNotFoundException - このメソッドが、 関係サービスに追加されていない関係 MBean に対して呼び出された場合

getReferencedMBeans

Map<ObjectName,List<String>> getReferencedMBeans()
関係のさまざまなロールで参照される MBean を取得します。

戻り値:
HashMap マッピング: 

ObjectName → String (ロール名) から成る ArrayList


getRelationTypeName

String getRelationTypeName()
関連付けられた関係型の名前を返します。

戻り値:
関係型の名前

getRelationServiceName

ObjectName getRelationServiceName()
関係を処理する関係サービスの ObjectName を返します。

戻り値:
関係サービスの ObjectName

getRelationId

String getRelationId()
関係サービス内の関係を一意に識別するために使用される関係識別子を返します。

戻り値:
関係 ID

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。