java.lang.Object
java.security.Permission
java.security.BasicPermission
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
- 関連項目:
-
コンストラクタのサマリー
コンストラクタ説明PropertyPermission
(String name, String actions) 名前を指定して新しいPropertyPermissionオブジェクトを作成します。 -
メソッドのサマリー
修飾子と型メソッド説明boolean
2つのPropertyPermissionオブジェクトが同じであるかどうかを判定します。アクションの「正規の文字列表現」を返します。int
hashCode()
このオブジェクトのハッシュ・コード値を返します。boolean
PropertyPermissionオブジェクトが、指定されたアクセス権を含んでいるかどうかを判定します。PropertyPermissionオブジェクトを格納するための新しいPermissionCollectionオブジェクトを返します。クラス java.security.Permissionで宣言されたメソッド
checkGuard, getName, toString
-
コンストラクタの詳細
-
PropertyPermission
名前を指定して新しいPropertyPermissionオブジェクトを作成します。 nameはシステム・プロパティの名前で、actionsには、プロパティで許可されている目的のアクションのカンマで区切られたリストが入ります。 有効なアクションはreadとwriteです。- パラメータ:
name
- PropertyPermissionの名前。actions
- アクション文字列。- 例外:
NullPointerException
-name
がnull
の場合。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
- 関連項目:
-
hashCode
public int hashCode()このオブジェクトのハッシュ・コード値を返します。 使用するハッシュ・コードは、このアクセス権の名前のハッシュ・コードであるgetName().hashCode()
です。getName
は、Permissionスーパー・クラスから継承したメソッドです。- オーバーライド:
hashCode
、クラスBasicPermission
- 戻り値:
- このオブジェクトのハッシュ・コード値。
- 関連項目:
-
getActions
public String getActions()アクションの「正規の文字列表現」を返します。 つまり、このメソッドは常にread、writeの順序で現在のアクションを返します。 たとえば、このPropertyPermissionオブジェクトがwriteとreadの両方のアクションを許可する場合、getActions
を呼び出すと、「read,write」という文字列が返されます。- オーバーライド:
getActions
、クラスBasicPermission
- 戻り値:
- アクションの正規の文字列表現。
-
newPermissionCollection
public PermissionCollection newPermissionCollection()PropertyPermissionオブジェクトを格納するための新しいPermissionCollectionオブジェクトを返します。- オーバーライド:
newPermissionCollection
、クラスBasicPermission
- 戻り値:
- PropertyPermissionを格納するのに適切な新しいPermissionCollectionオブジェクト
-