## org.apache.xml.utils.synthetic.reflection
Class Field

    java.lang.Object
      org.apache.xml.utils.synthetic.reflection.Field

All Implemented Interfaces:
  Member

public class Field
extends java.lang.Object
implements Member

A Field provides information about, and dynamic access to, a single field of a class or an interface. The reflected field may be a class (static) field or an instance field.

A Field permits widening conversions to occur during a get or set access operation, but throws an IllegalArgumentException if a narrowing conversion would occur.

Usage:
  **For internal use only**

Field Summary
`java.lang.String` `initializer` Field name, initializer
`java.lang.String` `name` Field name, initializer

Constructor Summary
`Field(java.lang.reflect.Field realfield, Class declaringClass)` Proxy constructor
`Field(java.lang.String name, Class declaringClass)` Synthesis constructor

Method Summary
`boolean` `equals(java.lang.Object obj)` Compares this Field against the specified object.
`java.lang.Object` `get(java.lang.Object obj)` Returns the value of the field represented by this Field, on the specified object.
`boolean` `getBoolean(java.lang.Object obj)` Get the value of a field as a boolean on specified object.
`byte` `getByte(java.lang.Object obj)` Get the value of a field as a byte on specified object.
`char` `getChar(java.lang.Object obj)` Get the value of a field as a char on specified object.
`Class` `getDeclaringClass()` Returns the Class object representing the class or interface that declares the field represented by this Field object.
`double` `getDouble(java.lang.Object obj)` Get the value of a field as a double on specified object.
`float` `getFloat(java.lang.Object obj)` Get the value of a field as a float on specified object.
`java.lang.String` `getInitializer()` Method getInitializer (getInitializer) @return
`int` `getInt(java.lang.Object obj)` Get the value of a field as a int on specified object.
`long` `getLong(java.lang.Object obj)` Get the value of a field as a long on specified object.
`int` `getModifiers()` Returns the Java language modifiers for the field represented by this Field object, as an integer.
`java.lang.String` `getName()` Insert the method's description here.
`short` `getShort(java.lang.Object obj)` Get the value of a field as a short on specified object.
`Class` `getType()` Returns a Class object that identifies the declared type for the field represented by this Field object.
`int` `hashCode()` Returns a hashcode for this Field.
`void` `set(java.lang.Object obj, java.lang.Object value)` Sets the field represented by this Field object on the specified object argument to the specified new value.
`void` `setBoolean(java.lang.Object obj, boolean z)` Set the value of a field as a boolean on specified object.
`void` `setByte(java.lang.Object obj, byte b)` Set the value of a field as a byte on specified object.
`void` `setChar(java.lang.Object obj, char c)` Set the value of a field as a char on specified object.
`void` `setDeclaringClass(Class declaringClass)` Returns the Class object representing the class that declares the constructor represented by this Constructor object.
`void` `setDouble(java.lang.Object obj, double d)` Set the value of a field as a double on specified object.
`void` `setFloat(java.lang.Object obj, float f)` Set the value of a field as a float on specified object.
`void` `setInitializer(java.lang.String i)` Method setInitializer
`void` `setInt(java.lang.Object obj, int i)` Set the value of a field as an int on specified object.
`void` `setLong(java.lang.Object obj, long l)` Set the value of a field as a long on specified object.
`void` `setModifiers(int modifiers)` Insert the method's description here.
`void` `setShort(java.lang.Object obj, short s)` Set the value of a field as a short on specified object.
`void` `setType(Class type)` Method setType
`java.lang.String` `toSource()` Output the Field as Java sourcecode
`java.lang.String` `toString()` Return a string describing this Field.

Methods inherited from class java.lang.Object
`getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### name

    public java.lang.String name

  Field name, initializer

### initializer

    public java.lang.String initializer

  Field name, initializer

Constructor Detail

### Field

    public Field(java.lang.reflect.Field realfield,
                 Class declaringClass)

  Proxy constructor

Parameters:
  `realfield` -
  `declaringClass` -

### Field

    public Field(java.lang.String name,
                 Class declaringClass)

  Synthesis constructor

Parameters:
  `name` -
  `declaringClass` -

Method Detail

### equals

    public boolean equals(java.lang.Object obj)

  Compares this Field against the specified object. Returns true if the objects are the same. Two Fields are the same if they were declared by the same class and have the same name and type.

  Parameters:
    `obj` -

### get

    public java.lang.Object get(java.lang.Object obj)
                         throws java.lang.IllegalArgumentException,
                                java.lang.IllegalAccessException

  Returns the value of the field represented by this Field, on the specified object. The value is automatically wrapped in an object if it has a primitive type.

  The underlying field's value is obtained as follows:

  If the underlying field is a static field, the object argument is ignored; it may be null.

  Otherwise, the underlying field is an instance field. If the specified object argument is null, the method throws a NullPointerException. If the specified object is not an instance of the class or interface declaring the underlying field, the method throws an IllegalArgumentException.

  If this Field object enforces Java language access control, and the underlying field is inaccessible, the method throws an IllegalAccessException.

  Otherwise, the value is retrieved from the underlying instance or static field. If the field has a primitive type, the value is wrapped in an object before being returned, otherwise it is returned as is.

  Parameters:
    `obj` -
  Throws:
    `java.lang.IllegalAccessException` - if the underlying constructor is inaccessible.
    `java.lang.IllegalArgumentException` - if the specified object is not an instance of the class or interface declaring the underlying field.
    `java.lang.NullPointerException` - if the specified object is null.

### getBoolean

    public boolean getBoolean(java.lang.Object obj)
                       throws java.lang.IllegalArgumentException,
                              java.lang.IllegalAccessException

  Get the value of a field as a boolean on specified object.

  Parameters:
    `obj` -
  Throws:
    `java.lang.IllegalAccessException` - if the underlying constructor is inaccessible.
    `java.lang.IllegalArgumentException` - if the field value cannot be converted to the return type by a widening conversion.

### getByte

    public byte getByte(java.lang.Object obj)
                 throws java.lang.IllegalArgumentException,
                        java.lang.IllegalAccessException

  Get the value of a field as a byte on specified object.

  Parameters:
    `obj` -
  Throws:
    `java.lang.IllegalAccessException` - if the underlying constructor is inaccessible.
    `java.lang.IllegalArgumentException` - if the field value cannot be converted to the return type by a widening conversion.

### getChar

    public char getChar(java.lang.Object obj)
                 throws java.lang.IllegalArgumentException,
                        java.lang.IllegalAccessException

  Get the value of a field as a char on specified object.

  Parameters:
    `obj` -
  Throws:
    `java.lang.IllegalAccessException` - if the underlying constructor is inaccessible.
    `java.lang.IllegalArgumentException` - if the field value cannot be converted to the return type by a widening conversion.

### getDeclaringClass

    public Class getDeclaringClass()

  Returns the Class object representing the class or interface that declares the field represented by this Field object.

  Specified by:
    `getDeclaringClass` in interface `Member`

### getDouble

    public double getDouble(java.lang.Object obj)
                     throws java.lang.IllegalArgumentException,
                            java.lang.IllegalAccessException

  Get the value of a field as a double on specified object.

  Parameters:
    `obj` -
  Throws:
    `java.lang.IllegalAccessException` - if the underlying constructor is inaccessible.
    `java.lang.IllegalArgumentException` - if the field value cannot be converted to the return type by a widening conversion.

### getFloat

    public float getFloat(java.lang.Object obj)
                   throws java.lang.IllegalArgumentException,
                          java.lang.IllegalAccessException

  Get the value of a field as a float on specified object.

  Parameters:
    `obj` -
  Throws:
    `java.lang.IllegalAccessException` - if the underlying constructor is inaccessible.
    `java.lang.IllegalArgumentException` - if the field value cannot be converted to the return type by a widening conversion.

### getInt

    public int getInt(java.lang.Object obj)
               throws java.lang.IllegalArgumentException,
                      java.lang.IllegalAccessException

  Get the value of a field as a int on specified object.

  Parameters:
    `obj` -
  Throws:
    `java.lang.IllegalAccessException` - if the underlying constructor is inaccessible.
    `java.lang.IllegalArgumentException` - if the field value cannot be converted to the return type by a widening conversion.

### getLong

    public long getLong(java.lang.Object obj)
                 throws java.lang.IllegalArgumentException,
                        java.lang.IllegalAccessException

  Get the value of a field as a long on specified object.

  Parameters:
    `obj` -
  Throws:
    `java.lang.IllegalAccessException` - if the underlying constructor is inaccessible.
    `java.lang.IllegalArgumentException` - if the field value cannot be converted to the return type by a widening conversion.

### getModifiers

    public int getModifiers()

  Returns the Java language modifiers for the field represented by this Field object, as an integer. The Modifier class should be used to decode the modifiers.

  Specified by:
    `getModifiers` in interface `Member`

### getInitializer

    public java.lang.String getInitializer()

  Method getInitializer (getInitializer) @return

### setInitializer

    public void setInitializer(java.lang.String i)
                        throws SynthesisException

  Method setInitializer

  Parameters:
    `i` -
  Throws:
    `SynthesisException`

### getName

    public java.lang.String getName()

  Insert the method's description here. Creation date: (12-25-99 2:02:26 PM)

  Returns:
    java.lang.String

### getShort

    public short getShort(java.lang.Object obj)
                   throws java.lang.IllegalArgumentException,
                          java.lang.IllegalAccessException

  Get the value of a field as a short on specified object.

  Parameters:
    `obj` -
  Throws:
    `java.lang.IllegalAccessException` - if the underlying constructor is inaccessible.
    `java.lang.IllegalArgumentException` - if the field value cannot be converted to the return type by a widening conversion.

### getType

    public Class getType()

  Returns a Class object that identifies the declared type for the field represented by this Field object.

### setType

    public void setType(Class type)
                 throws SynthesisException

  Method setType

  Parameters:
    `type` -
  Throws:
    `SynthesisException`

### hashCode

    public int hashCode()

  Returns a hashcode for this Field. This is computed as the exclusive-or of the hashcodes for the underlying field's declaring class name and its name.

### set

    public void set(java.lang.Object obj,
                    java.lang.Object value)
             throws java.lang.IllegalArgumentException,
                    java.lang.IllegalAccessException

  Sets the field represented by this Field object on the specified object argument to the specified new value. The new value is automatically unwrapped if the underlying field has a primitive type. The operation proceeds as follows: If the underlying field is static, the object argument is ignored; it may be null. Otherwise the underlying field is an instance field. If the specified object argument is null, the method throws a NullPointerException. If the specified object argument is not an instance of the class or interface declaring the underlying field, the method throws an IllegalArgumentException. If this Field object enforces Java language access control, and the underlying field is inaccessible, the method throws an IllegalAccessException. If the underlying field is final, the method throws an IllegalAccessException. If the underlying field is of a primitive type, an unwrapping conversion is attempted to convert the new value to a value of a primitive type. If this attempt fails, the method throws an IllegalArgumentException. If, after possible unwrapping, the new value cannot be converted to the type of the underlying field by an identity or widening conversion, the method throws an IllegalArgumentException. The field is set to the possibly unwrapped and widened new value.

  Parameters:
    `obj` -
    `value` -
  Throws:
    `java.lang.IllegalAccessException` - if the underlying constructor is inaccessible.
    `java.lang.IllegalArgumentException` - if the specified object is not an instance of the class or interface declaring the underlying field, or if an unwrapping conversion fails.
    `java.lang.NullPointerException` - if the specified object is null.

### setBoolean

    public void setBoolean(java.lang.Object obj,
                           boolean z)
                    throws java.lang.IllegalArgumentException,
                           java.lang.IllegalAccessException

  Set the value of a field as a boolean on specified object.

  Parameters:
    `obj` -
    `z` -
  Throws:
    `java.lang.IllegalAccessException` - if the underlying constructor is inaccessible.
    `java.lang.IllegalArgumentException` - if the specified object is not an instance of the class or interface declaring the underlying field, or if an unwrapping conversion fails.

### setByte

    public void setByte(java.lang.Object obj,
                        byte b)
                 throws java.lang.IllegalArgumentException,
                        java.lang.IllegalAccessException

  Set the value of a field as a byte on specified object.

  Parameters:
    `obj` -
    `b` -
  Throws:
    `java.lang.IllegalAccessException` - if the underlying constructor is inaccessible.
    `java.lang.IllegalArgumentException` - if the specified object is not an instance of the class or interface declaring the underlying field, or if an unwrapping conversion fails.

### setChar

    public void setChar(java.lang.Object obj,
                        char c)
                 throws java.lang.IllegalArgumentException,
                        java.lang.IllegalAccessException

  Set the value of a field as a char on specified object.

  Parameters:
    `obj` -
    `c` -
  Throws:
    `java.lang.IllegalAccessException` - if the underlying constructor is inaccessible.
    `java.lang.IllegalArgumentException` - if the specified object is not an instance of the class or interface declaring the underlying field, or if an unwrapping conversion fails.

### setDeclaringClass

    public void setDeclaringClass(Class declaringClass)

  Returns the Class object representing the class that declares the constructor represented by this Constructor object.

  Specified by:
    `setDeclaringClass` in interface `Member`
  Parameters:
    `declaringClass` -

### setDouble

    public void setDouble(java.lang.Object obj,
                          double d)
                   throws java.lang.IllegalArgumentException,
                          java.lang.IllegalAccessException

  Set the value of a field as a double on specified object.

  Parameters:
    `obj` -
    `d` -
  Throws:
    `java.lang.IllegalAccessException` - if the underlying constructor is inaccessible.
    `java.lang.IllegalArgumentException` - if the specified object is not an instance of the class or interface declaring the underlying field, or if an unwrapping conversion fails.

### setFloat

    public void setFloat(java.lang.Object obj,
                         float f)
                  throws java.lang.IllegalArgumentException,
                         java.lang.IllegalAccessException

  Set the value of a field as a float on specified object.

  Parameters:
    `obj` -
    `f` -
  Throws:
    `java.lang.IllegalAccessException` - if the underlying constructor is inaccessible.
    `java.lang.IllegalArgumentException` - if the specified object is not an instance of the class or interface declaring the underlying field, or if an unwrapping conversion fails.

### setInt

    public void setInt(java.lang.Object obj,
                       int i)
                throws java.lang.IllegalArgumentException,
                       java.lang.IllegalAccessException

  Set the value of a field as an int on specified object.

  Parameters:
    `obj` -
    `i` -
  Throws:
    `java.lang.IllegalAccessException` - if the underlying constructor is inaccessible.
    `java.lang.IllegalArgumentException` - if the specified object is not an instance of the class or interface declaring the underlying field, or if an unwrapping conversion fails.

### setLong

    public void setLong(java.lang.Object obj,
                        long l)
                 throws java.lang.IllegalArgumentException,
                        java.lang.IllegalAccessException

  Set the value of a field as a long on specified object.

  Parameters:
    `obj` -
    `l` -
  Throws:
    `java.lang.IllegalAccessException` - if the underlying constructor is inaccessible.
    `java.lang.IllegalArgumentException` - if the specified object is not an instance of the class or interface declaring the underlying field, or if an unwrapping conversion fails.

### setModifiers

    public void setModifiers(int modifiers)
                      throws SynthesisException

  Insert the method's description here. Creation date: (12-25-99 1:28:28 PM)

  Specified by:
    `setModifiers` in interface `Member`
  Parameters:
    `modifiers` - int
  Returns:
    int
  Throws:
    `SynthesisException`

### setShort

    public void setShort(java.lang.Object obj,
                         short s)
                  throws java.lang.IllegalArgumentException,
                         java.lang.IllegalAccessException

  Set the value of a field as a short on specified object.

  Parameters:
    `obj` -
    `s` -
  Throws:
    `java.lang.IllegalAccessException` - if the underlying constructor is inaccessible.
    `java.lang.IllegalArgumentException` - if the specified object is not an instance of the class or interface declaring the underlying field, or if an unwrapping conversion fails.

### toString

    public java.lang.String toString()

  Return a string describing this Field. The format is the access modifiers for the field, if any, followed by the field type, followed by a space, followed by the fully-qualified name of the class declaring the field, followed by a period, followed by the name of the field. For example: `public static final int java.lang.Thread.MIN_PRIORITY private int java.io.FileDescriptor.fd` The modifiers are placed in canonical order as specified by "The Java Language Specification". This is public, protected or private first, and then other modifiers in the following order: static, final, transient, volatile.

### toSource

    public java.lang.String toSource()

  Output the Field as Java sourcecode

Copyright © 2004 Apache XML Project. All Rights Reserved.