|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.lang.reflect.AccessibleObject
public class AccessibleObject
AccessibleObject クラスは、Field オブジェクト、Method オブジェクト、および Constructor オブジェクトの基底クラスです。このクラスを使うと、リフレクトされたオブジェクトの使用時に、デフォルトの Java 言語アクセス制御チェックを抑制するかどうかのフラグ設定を行えます。アクセスチェックは、次の場合に public、デフォルト (package) アクセス、protected、および private メンバーに対して実行されます。 つまり、フィールドの設定または取得に Field が使用される場合、メソッドの呼び出しに Method が使用される場合、あるいはクラスの新しいインスタンスの生成および初期化に Constructor が使用される場合です。
リフレクトされたオブジェクトで accessible フラグを設定すると、十分な特権を持つ高度なアプリケーション (Java のオブジェクトの直列化やその他の持続性機構など) は、通常は禁止されている方法でオブジェクトを操作できます。
Field
,
Method
,
Constructor
,
ReflectPermission
コンストラクタの概要 | |
---|---|
protected |
AccessibleObject()
コンストラクタで、Java Virtual Machine (JVM) だけが使用します。 |
メソッドの概要 | ||
---|---|---|
|
getAnnotation(Class<T> annotationClass)
指定された型の注釈が存在する場合は、指定された型の要素の注釈を返します。 |
|
Annotation[] |
getAnnotations()
この要素に存在するすべての注釈を返します(この要素に注釈がない場合は長さゼロの配列を返します)。 |
|
Annotation[] |
getDeclaredAnnotations()
この要素に直接存在するすべての注釈を返します。 |
|
boolean |
isAccessible()
このオブジェクトの accessible フラグの値を取得します。 |
|
boolean |
isAnnotationPresent(Class<? extends Annotation> annotationClass)
指定された型の注釈がこの要素に存在する場合は true を返し、そうでない場合は false を返します。 |
|
static void |
setAccessible(AccessibleObject[] array,
boolean flag)
効率を良くするために、単一のセキュリティチェックにより、オブジェクトの配列の accessible フラグを設定する簡易メソッドです。 |
|
void |
setAccessible(boolean flag)
このオブジェクトの accessible フラグを、指定された boolean 値に設定します。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
---|
protected AccessibleObject()
メソッドの詳細 |
---|
public static void setAccessible(AccessibleObject[] array, boolean flag) throws SecurityException
セキュリティマネージャが存在する場合、まず、セキュリティマネージャの checkPermission
メソッドがアクセス権 ReflectPermission("suppressAccessChecks")
で呼び出されます。
flag
が true
の場合、SecurityException
がスローされますが、入力 array
の要素のアクセス可能性は変わらないことがあります (たとえば、要素オブジェクトが Class
クラスの Constructor
オブジェクトである場合)。このような SecurityException のイベントの場合、オブジェクトへのアクセス可能性は、例外が生じた要素の直前までの配列要素については flag
に設定されます。 例外が生じた要素以降の要素へのアクセス可能性は変更されません。
array
- AccessibleObject の配列flag
- 各オブジェクトの accessible フラグの新しい値
SecurityException
- 要求が拒否された場合SecurityManager.checkPermission(java.security.Permission)
,
RuntimePermission
public void setAccessible(boolean flag) throws SecurityException
セキュリティマネージャが存在する場合、まず、セキュリティマネージャの checkPermission
メソッドがアクセス権 ReflectPermission("suppressAccessChecks")
で呼び出されます。
flag
が true
の場合、SecurityException
がスローされますが、このオブジェクトのアクセス可能性は変わらないことがあります (たとえば、この要素オブジェクトが Class
クラスの Constructor
オブジェクトである場合)。
このオブジェクトが java.lang.Class
クラスの Constructor
オブジェクトであり、flag
が true である場合、SecurityException
がスローされます。
flag
- accessible フラグの新しい値
SecurityException
- 要求が拒否された場合SecurityManager.checkPermission(java.security.Permission)
,
RuntimePermission
public boolean isAccessible()
public <T extends Annotation> T getAnnotation(Class<T> annotationClass)
AnnotatedElement
の記述:
AnnotatedElement
内の getAnnotation
annotationClass
- 注釈型に対応する Class オブジェクト
NullPointerException
- 指定された注釈クラスが null の場合public boolean isAnnotationPresent(Class<? extends Annotation> annotationClass)
AnnotatedElement
の記述:
AnnotatedElement
内の isAnnotationPresent
annotationClass
- 注釈型に対応する Class オブジェクト
NullPointerException
- 指定された注釈クラスが null の場合public Annotation[] getAnnotations()
AnnotatedElement
の記述:
AnnotatedElement
内の getAnnotations
public Annotation[] getDeclaredAnnotations()
AnnotatedElement
の記述:
AnnotatedElement
内の getDeclaredAnnotations
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。