インタフェースRelation

既知のすべてのサブインタフェース:
RelationSupportMBean
既知のすべての実装クラス:
RelationSupport

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

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

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

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

導入されたバージョン:
1.5
  • メソッドの詳細

    • getRole

      指定されたロール名のロール値を取得します。

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

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

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

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

      RelationServiceNotRegisteredException - 関係サービスがMBeanサーバーに登録されていない場合
      関連項目:
    • getRoles

      指定された名前のロールの値を取得します。

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

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

      指定されたロール内で現在参照されているMBeanの数を返します。
      パラメータ:
      roleName - ロール名
      戻り値:
      ロール内の現在参照されているMBeanの数
      スロー:
      IllegalArgumentException - ロール名がnullの場合
      RoleNotFoundException - 指定された名前のロールが存在しない場合
    • getAllRoles

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

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

      指定されたロールを設定します。

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

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

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

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

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

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

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

      RelationServiceNotRegisteredException - 関係サービスがMBeanサーバーに登録されていない場合
      RelationTypeNotFoundException - 関係サービスに関係タイプが宣言されていない場合
      RelationNotFoundException - 関係サービスに関係が追加されていない場合
      関連項目:
    • setRoles

      指定されたロールを設定します。

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

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

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

      ロールで参照される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。