モジュール 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

        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オブジェクト