モジュール java.base
パッケージ java.util

クラスPropertyPermission

すべての実装されたインタフェース:
Serializable, Guard

public final class PropertyPermission
extends BasicPermission
このクラスはプロパティ・アクセス権のためのクラスです。

名前には、プロパティの名前(java.homeやos.nameなど)を指定します。 命名規約は、階層的なプロパティ命名規約に従います。 また、ターゲット名のあとにアスタリスクを指定し(「.」のあとに指定するか、単独で指定)、ワイルドカードによる照合を行うこともできます。 たとえば、「java.*」や「*」はワイルドカードによる照合を行いますが、「*java」や「a*b」は行いません。

許可するアクションは、カンマで区切られた1個以上のキーワードのリストを内容とする文字列としてコンストラクタに引き渡されます。 指定できるキーワードは、readとwriteです。 それぞれの意味は、次のように定義されます。

read
読取り権限 System.getPropertyの呼出しを許可します。
write
書込み権限 System.setPropertyの呼出しを許可します。

アクション文字列は、処理の前に小文字に変換されます。

特定のシステム・プロパティへのアクセス権をコードに与えるときは注意してください。 たとえば、システム・プロパティjava.homeへのアクセス権を与えると、悪意のあるコードにより、システム環境に関する機密情報(Javaのインストール・ディレクトリ)が盗まれる可能性があります。 また、システム・プロパティuser.nameおよびuser.homeへのアクセス権を与えると、悪意のあるコードにより、ユーザー環境に関する重要な情報(ユーザーのアカウント名とホーム・ディレクトリ)が盗まれる可能性があります。

導入されたバージョン:
1.2
関連項目:
BasicPermission, Permission, Permissions, PermissionCollection, SecurityManager
  • コンストラクタのサマリー

    コンストラクタ 
    コンストラクタ 説明
    PropertyPermission​(String name, String actions)
    名前を指定して新しいPropertyPermissionオブジェクトを作成します。
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    boolean equals​(Object obj)
    2つのPropertyPermissionオブジェクトが同じであるかどうかを判定します。
    String getActions()
    アクションの「正規の文字列表現」を返します。
    int hashCode()
    このオブジェクトのハッシュ・コード値を返します。
    boolean implies​(Permission p)
    PropertyPermissionオブジェクトが、指定されたアクセス権を含んでいるかどうかを判定します。
    PermissionCollection newPermissionCollection()
    PropertyPermissionオブジェクトを格納するための新しいPermissionCollectionオブジェクトを返します。

    クラス java.security.Permissionで宣言されたメソッド

    checkGuard, getName, toString

    クラス java.lang.Objectで宣言されたメソッド

    clonefinalizegetClassnotifynotifyAllwaitwaitwait
  • コンストラクタの詳細

    • PropertyPermission

      public PropertyPermission​(String name, String actions)
      名前を指定して新しいPropertyPermissionオブジェクトを作成します。 nameはシステム・プロパティの名前で、actionsには、プロパティで許可されている目的のアクションのカンマで区切られたリストが入ります。 有効なアクションはreadとwriteです。
      パラメータ:
      name - PropertyPermissionの名前。
      actions - アクション文字列。
      例外:
      NullPointerException - namenullの場合。
      IllegalArgumentException - nameが空の場合、またはactionsが無効の場合。
  • メソッドの詳細

    • implies

      public boolean implies​(Permission p)
      PropertyPermissionオブジェクトが、指定されたアクセス権を含んでいるかどうかを判定します。

      つまり、このメソッドは次の場合にtrueを返します。

      • pがPropertyPermissionのインスタンスである
      • pのアクションは、このオブジェクトのアクションのサブセットである
      • pの名前がこのオブジェクトの名前に含まれている。 たとえば、java.*はjava.homeを含む

      オーバーライド:
      implies、クラス: BasicPermission
      パラメータ:
      p - チェック対象のアクセス権。
      戻り値:
      指定されたアクセス権がこのオブジェクトに含まれる場合はtrue、そうでない場合はfalse。
    • equals

      public boolean equals​(Object obj)
      2つのPropertyPermissionオブジェクトが同じであるかどうかを判定します。 objがPropertyPermissionであり、オブジェクトと同じ名前とアクションを持っているかどうかを判定します。
      オーバーライド:
      equals、クラス: BasicPermission
      パラメータ:
      obj - このオブジェクトと等しいかどうかが判定されるオブジェクト。
      戻り値:
      objがPropertyPermissionであり、PropertyPermissionオブジェクトと同じ名前とアクションを持っている場合はtrue
      関連項目:
      Object.hashCode()HashMap
    • hashCode

      public int hashCode()
      このオブジェクトのハッシュ・コード値を返します。 使用するハッシュ・コードは、このアクセス権の名前のハッシュ・コードであるgetName().hashCode()です。getNameは、Permissionスーパー・クラスから継承したメソッドです。
      オーバーライド:
      hashCode、クラス: BasicPermission
      戻り値:
      このオブジェクトのハッシュ・コード値。
      関連項目:
      Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)
    • getActions

      public String getActions()
      アクションの「正規の文字列表現」を返します。 つまり、このメソッドは常にread、writeの順序で現在のアクションを返します。 たとえば、このPropertyPermissionオブジェクトがwriteとreadの両方のアクションを許可する場合、getActionsを呼び出すと、「read,write」という文字列が返されます。
      オーバーライド:
      getActions、クラス: BasicPermission
      戻り値:
      アクションの正規の文字列表現。
    • newPermissionCollection

      public PermissionCollection newPermissionCollection()
      PropertyPermissionオブジェクトを格納するための新しいPermissionCollectionオブジェクトを返します。
      オーバーライド:
      newPermissionCollection、クラス: BasicPermission
      戻り値:
      PropertyPermissionを格納するのに適切な新しいPermissionCollectionオブジェクト