クラス EntityPermission

java.lang.Object
org.iplass.mtp.auth.Permission
org.iplass.mtp.entity.permission.EntityPermission

public class EntityPermission extends Permission
Entityの権限定義です。 Entity定義名×Action(登録、参照、更新、削除)単位で権限を表現します。
  • ネストされたクラスの概要

    ネストされたクラス
    修飾子とタイプ
    クラス
    説明
    static enum 
     
  • コンストラクタの概要

    コンストラクタ
    コンストラクタ
    説明
     
  • メソッドの概要

    修飾子とタイプ
    メソッド
    説明
    static <T> T
    doQueryAs(String[] withoutConditionReferenceName, Supplier<T> action)
    action内のEntityManager経由の検索処理(search、searchEntity、count)にて、 引数のwithoutConditionReferenceNameで指定されている参照先に関しては、Entity権限における限定条件を適用せずに検索を実行します。
    static <T> T
    doQueryAs(EntityPermission.Action permissionAction, String[] withoutConditionReferenceName, Supplier<T> action)
    action内のEntityManager経由の検索処理(search、searchEntity、count)にて、 permissionAction、withoutConditionReferenceNameを指定して検索します。
    static <T> T
    doQueryAs(EntityPermission.Action permissionAction, Supplier<T> action)
    action内のEntityManager経由の検索処理(search、searchEntity、count)では、 引数のpermissionAction権限で検索を実行します (ただしProperty権限(項目レベルの参照可否)についてはREFERENCE権限を利用)。
    boolean
     
     
    final String
     
    int
     
    static boolean
    現在の認証コンテキストで、指定のEntity権限が制限付き(不許可を設定されている、もしくは範囲条件が設定されている)か否かを取得します。
     

    クラスから継承されたメソッド java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • コンストラクタの詳細

  • メソッドの詳細

    • doQueryAs

      public static <T> T doQueryAs(EntityPermission.Action permissionAction, Supplier<T> action)

      action内のEntityManager経由の検索処理(search、searchEntity、count)では、 引数のpermissionAction権限で検索を実行します (ただしProperty権限(項目レベルの参照可否)についてはREFERENCE権限を利用)。

      例えば、permissionActionに

      無効な参照です
      EntityPermission.Action.DELETE
      を 指定することで削除可能なEntityの結果だけを取得することが可能です。

      型パラメータ:
      T - actionの実行結果の型
      パラメータ:
      permissionAction - 検索時に対象にするEntity権限
      action - 実行するAction
      戻り値:
      actionの実行結果
    • doQueryAs

      public static <T> T doQueryAs(String[] withoutConditionReferenceName, Supplier<T> action)

      action内のEntityManager経由の検索処理(search、searchEntity、count)にて、 引数のwithoutConditionReferenceNameで指定されている参照先に関しては、Entity権限における限定条件を適用せずに検索を実行します。

      たとえば、from句で指定されるEntity権限で絞り込まれればセキュリティ条件を充足するような場合、withoutConditionReferenceNameを指定することにより、 参照先を結合する際の冗長な限定条件の付与を行わなくてすみます。

      withoutConditionReferenceNameに"this"を指定した場合は、from句に指定されているメインEntityの限定条件を適用しない形になります。

      パラメータ:
      withoutConditionReferenceName -
      action -
      戻り値:
    • doQueryAs

      public static <T> T doQueryAs(EntityPermission.Action permissionAction, String[] withoutConditionReferenceName, Supplier<T> action)

      action内のEntityManager経由の検索処理(search、searchEntity、count)にて、 permissionAction、withoutConditionReferenceNameを指定して検索します。

      permissionAction、withoutConditionReferenceNameの説明は、 それぞれ、doQueryAs(Action, Supplier)doQueryAs(String[], Supplier)を参照ください。

      パラメータ:
      permissionAction -
      withoutConditionReferenceName -
      action -
      戻り値:
    • isLimitedPermission

      public static boolean isLimitedPermission(EntityPermission permission)
      現在の認証コンテキストで、指定のEntity権限が制限付き(不許可を設定されている、もしくは範囲条件が設定されている)か否かを取得します。
      パラメータ:
      permission -
      戻り値:
      不許可を設定されている、もしくは範囲条件が設定されている場合、true。
    • getDefinitionName

      public final String getDefinitionName()
    • getAction

      public final EntityPermission.Action getAction()
    • hashCode

      public int hashCode()
      オーバーライド:
      hashCode クラス内 Object
    • equals

      public boolean equals(Object obj)
      オーバーライド:
      equals クラス内 Object
    • toString

      public String toString()
      オーバーライド:
      toString クラス内 Object