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, 2013, Oracle and/or its affiliates. All rights reserved.