public interface Relation
プロパティやメソッドを持たず、ロールだけ持つ単純な関係は、関係サービスで直接作成できます。こうした関係は、RelationSupportオブジェクトとして、関係サービスによって内部で処理されます。
複数のプロパティやメソッドを持つ、より複雑な関係を表現したい場合は、Relationインタフェースを実装する独自のクラスを用意する必要があります。このクラスは、RelationSupportクラスから継承するか、インタフェース(RelationSupportオブジェクト・メンバー、またはその委譲)を実装することによって取得できます。
こうしたユーザー関係クラスを指定することにより、プロパティやメソッドを導入できます。これらのプロパティやメソッドは、リモート管理用に公開する必要があります。つまり、すべてのユーザー関係クラスはMBeanクラスである必要があります。
修飾子と型 | メソッドと説明 |
---|---|
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)
指定されたロールを設定します。
|
List<ObjectName> getRole(String roleName) throws IllegalArgumentException, RoleNotFoundException, RelationServiceNotRegisteredException
ロールが存在し、関係タイプに従って読取り可能かどうかをチェックします。
roleName
- ロール名IllegalArgumentException
- ロール名がnullの場合RoleNotFoundException
- 次の場合:
- 指定された名前のロールが存在しない場合
- ロールが読取り不可な場合
RelationServiceNotRegisteredException
- 関係サービスがMBeanサーバーに登録されていない場合setRole(javax.management.relation.Role)
RoleResult getRoles(String[] roleNameArray) throws IllegalArgumentException, RelationServiceNotRegisteredException
各ロールが存在し、関係タイプに従って読取り可能かどうかをチェックします。
roleNameArray
- 取得されるロールの名前から成る配列IllegalArgumentException
- ロール名がnullの場合RelationServiceNotRegisteredException
- 関係サービスがMBeanサーバーに登録されていない場合setRoles(javax.management.relation.RoleList)
Integer getRoleCardinality(String roleName) throws IllegalArgumentException, RoleNotFoundException
roleName
- ロール名IllegalArgumentException
- ロール名がnullの場合RoleNotFoundException
- 指定された名前のロールが存在しない場合RoleResult getAllRoles() throws RelationServiceNotRegisteredException
RelationServiceNotRegisteredException
- 関係サービスがMBeanサーバーに登録されていない場合RoleList retrieveAllRoles()
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)
RoleResult setRoles(RoleList roleList) throws IllegalArgumentException, RelationServiceNotRegisteredException, RelationTypeNotFoundException, RelationNotFoundException
関係の関係タイプに含まれている対応するロール定義に従って、ロールをチェックします。
ロールが更新されるたびに通知を送信します。関係がMBeanであるかどうかによって、RelationNotificationの型はRELATION_BASIC_UPDATEまたはRELATION_MBEAN_UPDATEになります。
roleList
- 設定されるロールのリストIllegalArgumentException
- ロール・リストがnullの場合RelationServiceNotRegisteredException
- 関係サービスがMBeanサーバーに登録されていない場合RelationTypeNotFoundException
- 関係サービスに関係タイプが宣言されていない場合RelationNotFoundException
- 関係サービスに関係MBeanが追加されていない場合getRoles(java.lang.String[])
void handleMBeanUnregistration(ObjectName objectName, String roleName) throws IllegalArgumentException, RoleNotFoundException, InvalidRoleValueException, RelationServiceNotRegisteredException, RelationTypeNotFoundException, RelationNotFoundException
関係サービスは、このメソッドを呼び出して、関係に、登録解除の影響を反映するためのアクションを取らせます。
このメソッドは、ユーザーからは呼び出されません。
現在の実装は、現在の値(参照対象のMBeanのObjectNameのリスト)を使ってロールを設定します。登録解除されているものは使用しません。
objectName
- 登録解除されたMBeanのObjectNameroleName
- MBeanの参照に使用されるロール名IllegalArgumentException
- パラメータがnullの場合RoleNotFoundException
- 関係内にロールが存在しないか、書込み不可である場合InvalidRoleValueException
- ロール値が関連するロール情報に準拠していない場合(関係サービスから呼び出された場合は起こり得ない条件)RelationServiceNotRegisteredException
- 関係サービスがMBeanサーバーに登録されていない場合RelationTypeNotFoundException
- 関係サービスに関係タイプが宣言されていない場合RelationNotFoundException
- このメソッドが、関係サービスに追加されていない関係MBeanに対して呼び出された場合Map<ObjectName,List<String>> getReferencedMBeans()
ObjectName→String (ロール名)から成るArrayList
String getRelationTypeName()
ObjectName getRelationServiceName()
String getRelationId()
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.