Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
java.lang.reflect.AccessibleObject
java.lang.reflect.Field
IllegalArgumentException
if
a narrowing conversion would be necessary. You can query for information
on this Field regardless of location, but get and set access may be limited
by Java language access controls. If you can't do it in the compiler, you
can't normally do it here either.
Note: This class returns and accepts types as Classes, even
primitive types; there are Class types defined that represent each
different primitive type. They are java.lang.Boolean.TYPE,
java.lang.Byte.TYPE,
, also available as boolean.class,
byte.class
, etc. These are not to be confused with the
classes java.lang.Boolean, java.lang.Byte
, etc., which are
real classes.
Also note that this is not a serializable class. It is entirely feasible to make it serializable using the Externalizable interface, but this is on Sun, not me.
Method Summary | |
boolean | |
|
|
Object | |
boolean |
|
byte | |
char | |
Annotation[] | |
Class |
|
double | |
float | |
Type |
|
int | |
long | |
int |
|
String |
|
short | |
Class |
|
int |
|
boolean |
|
boolean |
|
void | |
void |
|
void | |
void | |
void | |
void | |
void | |
void | |
void | |
String | |
String |
|
Methods inherited from class java.lang.reflect.AccessibleObject | |
extends Annotation> T getAnnotation , getAnnotations , getDeclaredAnnotations , isAccessible , isAnnotationPresent , setAccessible , setAccessible |
Methods inherited from class java.lang.Object | |
clone , equals , extends Object> getClass , finalize , hashCode , notify , notifyAll , toString , wait , wait , wait |
public boolean equals(Object fld)
Compare two objects to see if they are semantically equivalent. Two Fields are semantically equivalent if they have the same declaring class, name, and type. Since you can't creat a Field except through the VM, this is just the == relation.
- Parameters:
- Returns:
true
if they are equal;false
if not
publicextends Annotation> T getAnnotation (ClassannoClass)
- Specified by:
- extends Annotation> T getAnnotation in interface AnnotatedElement
- Overrides:
- extends Annotation> T getAnnotation in interface AccessibleObject
public Object get(Object obj) throws IllegalAccessException
Get the value of this Field. If it is primitive, it will be wrapped in the appropriate wrapper type (boolean = java.lang.Boolean).If the field is static,
o
will be ignored. Otherwise, ifo
is null, you get aNullPointerException
, and if it is incompatible with the declaring class of the field, you get anIllegalArgumentException
.Next, if this Field enforces access control, your runtime context is evaluated, and you may have an
IllegalAccessException
if you could not access this field in similar compiled code. If the field is static, and its class is uninitialized, you trigger class initialization, which may end in aExceptionInInitializerError
.Finally, the field is accessed, and primitives are wrapped (but not necessarily in new objects). This method accesses the field of the declaring class, even if the instance passed in belongs to a subclass which declares another field to hide this one.
- Parameters:
- Returns:
- the value of the Field
- Throws:
IllegalAccessException
- if you could not normally access this field (i.e. it is not public)IllegalArgumentException
- ifo
is not an instance of the class or interface declaring this fieldNullPointerException
- ifo
is null and this field requires an instance
public boolean getBoolean(Object obj) throws IllegalAccessException
Get the value of this boolean Field. If the field is static,o
will be ignored.
- Parameters:
- Returns:
- the value of the Field
- Throws:
IllegalAccessException
- if you could not normally access this field (i.e. it is not public)IllegalArgumentException
- if this is not a boolean field ofo
, or ifo
is not an instance of the declaring class of this fieldNullPointerException
- ifo
is null and this field requires an instance
- See Also:
get(Object)
public byte getByte(Object obj) throws IllegalAccessException
Get the value of this byte Field. If the field is static,o
will be ignored.
- Parameters:
- Returns:
- the value of the Field
- Throws:
IllegalAccessException
- if you could not normally access this field (i.e. it is not public)IllegalArgumentException
- if this is not a byte field ofo
, or ifo
is not an instance of the declaring class of this fieldNullPointerException
- ifo
is null and this field requires an instance
- See Also:
get(Object)
public char getChar(Object obj) throws IllegalAccessException
Get the value of this Field as a char. If the field is static,o
will be ignored.
- Throws:
IllegalAccessException
- if you could not normally access this field (i.e. it is not public)IllegalArgumentException
- if this is not a char field ofo
, or ifo
is not an instance of the declaring class of this fieldNullPointerException
- ifo
is null and this field requires an instance
- See Also:
get(Object)
public Annotation[] getDeclaredAnnotations()
- Specified by:
- getDeclaredAnnotations in interface AnnotatedElement
- Overrides:
- getDeclaredAnnotations in interface AccessibleObject
public Class getDeclaringClass()
Gets the class that declared this field, or the class where this field is a non-inherited member.
- Specified by:
- getDeclaringClass in interface Member
- Returns:
- the class that declared this member
public double getDouble(Object obj) throws IllegalAccessException
Get the value of this Field as a double. If the field is static,o
will be ignored.
- Parameters:
- Returns:
- the value of the Field
- Throws:
IllegalAccessException
- if you could not normally access this field (i.e. it is not public)IllegalArgumentException
- if this is not a byte, short, char, int, long, float, or double field ofo
, or ifo
is not an instance of the declaring class of this fieldNullPointerException
- ifo
is null and this field requires an instance
- See Also:
get(Object)
public float getFloat(Object obj) throws IllegalAccessException
Get the value of this Field as a float. If the field is static,o
will be ignored.
- Parameters:
- Returns:
- the value of the Field
- Throws:
IllegalAccessException
- if you could not normally access this field (i.e. it is not public)IllegalArgumentException
- if this is not a byte, short, char, int, long, or float field ofo
, or ifo
is not an instance of the declaring class of this fieldNullPointerException
- ifo
is null and this field requires an instance
- See Also:
get(Object)
public Type getGenericType()
Return the generic type of the field. If the field type is not a generic type, the method returns the same asgetType()
.
- Since:
- 1.5
public int getInt(Object obj) throws IllegalAccessException
Get the value of this Field as an int. If the field is static,o
will be ignored.
- Parameters:
- Returns:
- the value of the Field
- Throws:
IllegalAccessException
- if you could not normally access this field (i.e. it is not public)IllegalArgumentException
- if this is not a byte, short, char, or int field ofo
, or ifo
is not an instance of the declaring class of this fieldNullPointerException
- ifo
is null and this field requires an instance
- See Also:
get(Object)
public long getLong(Object obj) throws IllegalAccessException
Get the value of this Field as a long. If the field is static,o
will be ignored.
- Parameters:
- Returns:
- the value of the Field
- Throws:
IllegalAccessException
- if you could not normally access this field (i.e. it is not public)IllegalArgumentException
- if this is not a byte, short, char, int, or long field ofo
, or ifo
is not an instance of the declaring class of this fieldNullPointerException
- ifo
is null and this field requires an instance
- See Also:
get(Object)
public int getModifiers()
Gets the modifiers this field uses. Use theModifier
class to interpret the values. A field can only have a subset of the following modifiers: public, private, protected, static, final, transient, and volatile.
- Specified by:
- getModifiers in interface Member
- Returns:
- an integer representing the modifiers to this Member
- See Also:
Modifier
public short getShort(Object obj) throws IllegalAccessException
Get the value of this Field as a short. If the field is static,o
will be ignored.
- Parameters:
- Returns:
- the value of the Field
- Throws:
IllegalAccessException
- if you could not normally access this field (i.e. it is not public)IllegalArgumentException
- if this is not a byte or short field ofo
, or ifo
is not an instance of the declaring class of this fieldNullPointerException
- ifo
is null and this field requires an instance
- See Also:
get(Object)
public int hashCode()
Get the hash code for the Field. The Field hash code is the hash code of its name XOR'd with the hash code of its class name.
- Returns:
- the hash code for the object.
public boolean isEnumConstant()
Return true if this field represents an enum constant, false otherwise.
- Since:
- 1.5
public boolean isSynthetic()
Return true if this field is synthetic, false otherwise.
- Specified by:
- isSynthetic in interface Member
- Since:
- 1.5
public void set(Object object, Object value) throws IllegalAccessException
Set the value of this Field. If it is a primitive field, the value will be unwrapped from the passed object (boolean = java.lang.Boolean).If the field is static,
o
will be ignored. Otherwise, ifo
is null, you get aNullPointerException
, and if it is incompatible with the declaring class of the field, you get anIllegalArgumentException
.Next, if this Field enforces access control, your runtime context is evaluated, and you may have an
IllegalAccessException
if you could not access this field in similar compiled code. This also occurs whether or not there is access control if the field is final. If the field is primitive, and unwrapping your argument fails, you will get anIllegalArgumentException
; likewise, this error happens ifvalue
cannot be cast to the correct object type. If the field is static, and its class is uninitialized, you trigger class initialization, which may end in aExceptionInInitializerError
.Finally, the field is set with the widened value. This method accesses the field of the declaring class, even if the instance passed in belongs to a subclass which declares another field to hide this one.
- Parameters:
value
- the value to set this Field to
- Throws:
IllegalAccessException
- if you could not normally access this field (i.e. it is not public)IllegalArgumentException
- ifvalue
cannot be converted by a widening conversion to the underlying type of the Field, or ifo
is not an instance of the class declaring this fieldNullPointerException
- ifo
is null and this field requires an instance
public void setBoolean(Object obj, boolean b) throws IllegalAccessException
Set this boolean Field. If the field is static,o
will be ignored.
- Parameters:
- Throws:
IllegalAccessException
- if you could not normally access this field (i.e. it is not public)IllegalArgumentException
- if this is not a boolean field, or ifo
is not an instance of the class declaring this fieldNullPointerException
- ifo
is null and this field requires an instance
- See Also:
set(Object,Object)
public void setByte(Object obj, byte b) throws IllegalAccessException
Set this byte Field. If the field is static,o
will be ignored.
- Parameters:
- Throws:
IllegalAccessException
- if you could not normally access this field (i.e. it is not public)IllegalArgumentException
- if this is not a byte, short, int, long, float, or double field, or ifo
is not an instance of the class declaring this fieldNullPointerException
- ifo
is null and this field requires an instance
- See Also:
set(Object,Object)
public void setChar(Object obj, char c) throws IllegalAccessException
Set this char Field. If the field is static,o
will be ignored.
- Parameters:
- Throws:
IllegalAccessException
- if you could not normally access this field (i.e. it is not public)IllegalArgumentException
- if this is not a char, int, long, float, or double field, or ifo
is not an instance of the class declaring this fieldNullPointerException
- ifo
is null and this field requires an instance
- See Also:
set(Object,Object)
public void setDouble(Object obj, double d) throws IllegalAccessException
Set this double Field. If the field is static,o
will be ignored.
- Parameters:
- Throws:
IllegalAccessException
- if you could not normally access this field (i.e. it is not public)IllegalArgumentException
- if this is not a double field, or ifo
is not an instance of the class declaring this fieldNullPointerException
- ifo
is null and this field requires an instance
- See Also:
set(Object,Object)
public void setFloat(Object obj, float f) throws IllegalAccessException
Set this float Field. If the field is static,o
will be ignored.
- Parameters:
- Throws:
IllegalAccessException
- if you could not normally access this field (i.e. it is not public)IllegalArgumentException
- if this is not a float or long field, or ifo
is not an instance of the class declaring this fieldNullPointerException
- ifo
is null and this field requires an instance
- See Also:
set(Object,Object)
public void setInt(Object obj, int i) throws IllegalAccessException
Set this int Field. If the field is static,o
will be ignored.
- Parameters:
- Throws:
IllegalAccessException
- if you could not normally access this field (i.e. it is not public)IllegalArgumentException
- if this is not an int, long, float, or double field, or ifo
is not an instance of the class declaring this fieldNullPointerException
- ifo
is null and this field requires an instance
- See Also:
set(Object,Object)
public void setLong(Object obj, long l) throws IllegalArgumentException, IllegalAccessException
Set this long Field. If the field is static,o
will be ignored.
- Parameters:
- Throws:
IllegalAccessException
- if you could not normally access this field (i.e. it is not public)IllegalArgumentException
- if this is not a long, float, or double field, or ifo
is not an instance of the class declaring this fieldNullPointerException
- ifo
is null and this field requires an instance
- See Also:
set(Object,Object)
public void setShort(Object obj, short s) throws IllegalAccessException
Set this short Field. If the field is static,o
will be ignored.
- Parameters:
- Throws:
IllegalAccessException
- if you could not normally access this field (i.e. it is not public)IllegalArgumentException
- if this is not a short, int, long, float, or double field, or ifo
is not an instance of the class declaring this fieldNullPointerException
- ifo
is null and this field requires an instance
- See Also:
set(Object,Object)