harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ndbe...@apache.org
Subject svn commit: r446491 [8/24] - in /incubator/harmony/enhanced/classlib/trunk/modules: luni-kernel/.settings/ luni-kernel/META-INF/ luni-kernel/make/ luni-kernel/src/main/java/java/lang/ luni-kernel/src/main/java/java/lang/ref/ luni-kernel/src/main/java/j...
Date Fri, 15 Sep 2006 03:08:13 GMT
Modified: incubator/harmony/enhanced/classlib/trunk/modules/luni-kernel/src/main/java/java/lang/reflect/Constructor.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/luni-kernel/src/main/java/java/lang/reflect/Constructor.java?view=diff&rev=446491&r1=446490&r2=446491
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/luni-kernel/src/main/java/java/lang/reflect/Constructor.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/luni-kernel/src/main/java/java/lang/reflect/Constructor.java Thu Sep 14 20:08:07 2006
@@ -1,259 +1,259 @@
-/* Copyright 1998, 2005 The Apache Software Foundation or its licensors, as applicable
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *     http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package java.lang.reflect;
-
-import java.lang.annotation.Annotation;
-
-/**
- * This class must be implemented by the VM vendor. This class models a
- * constructor. Information about the constructor can be accessed, and the
- * constructor can be invoked dynamically.
- * 
- */
-public final class Constructor<T> extends AccessibleObject implements GenericDeclaration,
-        Member {
-
-    public TypeVariable<Constructor<T>>[] getTypeParameters() {
-        return null;
-    }
-
-    /**
-     * <p>
-     * Returns the String representation of the constructor's declaration,
-     * including the type parameters.
-     * </p>
-     * 
-     * @return An instance of String.
-     * @since 1.5
-     */
-    public String toGenericString() {
-        return null;
-    }
-
-    /**
-     * <p>
-     * Gets the parameter types as an array of {@link Type} instances, in
-     * declaration order. If the constructor has no parameters, then an empty
-     * array is returned.
-     * </p>
-     * 
-     * @return An array of {@link Type} instances.
-     * @throws GenericSignatureFormatError if the generic method signature is
-     *         invalid.
-     * @throws TypeNotPresentException if the component type points to a missing
-     *         type.
-     * @throws MalformedParameterizedTypeException if the component type points
-     *         to a type that can't be instantiated for some reason.
-     * @since 1.5
-     */
-    public Type[] getGenericParameterTypes() {
-        return null;
-    }
-
-    /**
-     * <p>
-     * Gets the exception types as an array of {@link Type} instances. If the
-     * constructor has no declared exceptions, then an empty array is returned.
-     * </p>
-     * 
-     * @return An array of {@link Type} instances.
-     * @throws GenericSignatureFormatError if the generic method signature is
-     *         invalid.
-     * @throws TypeNotPresentException if the component type points to a missing
-     *         type.
-     * @throws MalformedParameterizedTypeException if the component type points
-     *         to a type that can't be instantiated for some reason.
-     * @since 1.5
-     */
-    public Type[] getGenericExceptionTypes() {
-        return null;
-    }
-
-    /**
-     * <p>
-     * Gets an array of arrays that represent the annotations of the formal
-     * parameters of this constructor. If there are no parameters on this
-     * constructor, then an empty array is returned. If there are no annotations
-     * set, then and array of empty arrays is returned.
-     * </p>
-     * 
-     * @return An array of arrays of {@link Annotation} instances.
-     * @since 1.5
-     */
-    public Annotation[][] getParameterAnnotations() {
-        return null;
-    }
-
-    /**
-     * <p>
-     * Indicates whether or not this constructor takes a variable number
-     * argument.
-     * </p>
-     * 
-     * @return A value of <code>true</code> if a vararg is declare, otherwise
-     *         <code>false</code>.
-     * @since 1.5
-     */
-    public boolean isVarArgs() {
-        return false;
-    }
-
-    public boolean isSynthetic() {
-        return false;
-    }
-
-    /**
-     * Compares the specified object to this Constructor and answer if they are
-     * equal. The object must be an instance of Constructor with the same
-     * defining class and parameter types.
-     * 
-     * @param object the object to compare
-     * @return true if the specified object is equal to this Constructor, false
-     *         otherwise
-     * @see #hashCode
-     */
-    @Override
-    public boolean equals(Object object) {
-        return false;
-    }
-
-    /**
-     * Return the {@link Class} associated with the class that defined this
-     * constructor.
-     * 
-     * @return the declaring class
-     */
-    public Class<T> getDeclaringClass() {
-        return null;
-    }
-
-    /**
-     * Return an array of the {@link Class} objects associated with the
-     * exceptions declared to be thrown by this constructor. If the constructor
-     * was not declared to throw any exceptions, the array returned will be
-     * empty.
-     * 
-     * @return the declared exception classes
-     */
-    public Class<?>[] getExceptionTypes() {
-        return null;
-    }
-
-    /**
-     * Return the modifiers for the modelled constructor. The Modifier class
-     * should be used to decode the result.
-     * 
-     * @return the modifiers
-     * @see java.lang.reflect.Modifier
-     */
-    public int getModifiers() {
-        return 0;
-    }
-
-    /**
-     * Return the name of the modelled constructor. This is the name of the
-     * declaring class.
-     * 
-     * @return the name
-     */
-    public String getName() {
-        return null;
-    }
-
-    /**
-     * Return an array of the {@link Class} objects associated with the
-     * parameter types of this constructor. If the constructor was declared with
-     * no parameters, the array returned will be empty.
-     * 
-     * @return the parameter types
-     */
-    public Class<?>[] getParameterTypes() {
-        return null;
-    }
-
-    /**
-     * Answers an integer hash code for the receiver. Objects which are equal
-     * answer the same value for this method. The hash code for a Constructor is
-     * the hash code of the declaring class' name.
-     * 
-     * @return the receiver's hash
-     * @see #equals
-     */
-    @Override
-    public int hashCode() {
-        return 0;
-    }
-
-    /**
-     * Return a new instance of the declaring class, initialized by dynamically
-     * invoking the modelled constructor. This reproduces the effect of
-     * <code>new declaringClass(arg1, arg2, ... , argN)</code> This method
-     * performs the following:
-     * <ul>
-     * <li>A new instance of the declaring class is created. If the declaring
-     * class cannot be instantiated (i.e. abstract class, an interface, an array
-     * type, or a base type) then an InstantiationException is thrown.</li>
-     * <li>If this Constructor object is enforcing access control (see
-     * AccessibleObject) and the modelled constructor is not accessible from the
-     * current context, an IllegalAccessException is thrown.</li>
-     * <li>If the number of arguments passed and the number of parameters do
-     * not match, an IllegalArgumentException is thrown.</li>
-     * <li>For each argument passed:
-     * <ul>
-     * <li>If the corresponding parameter type is a base type, the argument is
-     * unwrapped. If the unwrapping fails, an IllegalArgumentException is
-     * thrown.</li>
-     * <li>If the resulting argument cannot be converted to the parameter type
-     * via a widening conversion, an IllegalArgumentException is thrown.</li>
-     * </ul>
-     * <li>The modelled constructor is then invoked. If an exception is thrown
-     * during the invocation, it is caught and wrapped in an
-     * InvocationTargetException. This exception is then thrown. If the
-     * invocation completes normally, the newly initialized object is returned.
-     * </ul>
-     * 
-     * @param args the arguments to the constructor
-     * @return the new, initialized, object
-     * @exception java.lang.InstantiationException if the class cannot be
-     *            instantiated
-     * @exception java.lang.IllegalAccessException if the modelled constructor
-     *            is not accessible
-     * @exception java.lang.IllegalArgumentException if an incorrect number of
-     *            arguments are passed, or an argument could not be converted by
-     *            a widening conversion
-     * @exception java.lang.reflect.InvocationTargetException if an exception
-     *            was thrown by the invoked constructor
-     * @see java.lang.reflect.AccessibleObject
-     */
-    public T newInstance(Object... args) throws InstantiationException, IllegalAccessException,
-            IllegalArgumentException, InvocationTargetException {
-        return null;
-    }
-
-    /**
-     * Answers a string containing a concise, human-readable description of the
-     * receiver. The format of the string is modifiers (if any) declaring class
-     * name '(' parameter types, separated by ',' ')' If the constructor throws
-     * exceptions, ' throws ' exception types, separated by ',' For example:
-     * <code>public String(byte[],String) throws UnsupportedEncodingException</code>
-     * 
-     * @return a printable representation for the receiver
-     */
-    @Override
-    public String toString() {
-        return null;
-    }
-}
+/* Copyright 1998, 2005 The Apache Software Foundation or its licensors, as applicable
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package java.lang.reflect;
+
+import java.lang.annotation.Annotation;
+
+/**
+ * This class must be implemented by the VM vendor. This class models a
+ * constructor. Information about the constructor can be accessed, and the
+ * constructor can be invoked dynamically.
+ * 
+ */
+public final class Constructor<T> extends AccessibleObject implements GenericDeclaration,
+        Member {
+
+    public TypeVariable<Constructor<T>>[] getTypeParameters() {
+        return null;
+    }
+
+    /**
+     * <p>
+     * Returns the String representation of the constructor's declaration,
+     * including the type parameters.
+     * </p>
+     * 
+     * @return An instance of String.
+     * @since 1.5
+     */
+    public String toGenericString() {
+        return null;
+    }
+
+    /**
+     * <p>
+     * Gets the parameter types as an array of {@link Type} instances, in
+     * declaration order. If the constructor has no parameters, then an empty
+     * array is returned.
+     * </p>
+     * 
+     * @return An array of {@link Type} instances.
+     * @throws GenericSignatureFormatError if the generic method signature is
+     *         invalid.
+     * @throws TypeNotPresentException if the component type points to a missing
+     *         type.
+     * @throws MalformedParameterizedTypeException if the component type points
+     *         to a type that can't be instantiated for some reason.
+     * @since 1.5
+     */
+    public Type[] getGenericParameterTypes() {
+        return null;
+    }
+
+    /**
+     * <p>
+     * Gets the exception types as an array of {@link Type} instances. If the
+     * constructor has no declared exceptions, then an empty array is returned.
+     * </p>
+     * 
+     * @return An array of {@link Type} instances.
+     * @throws GenericSignatureFormatError if the generic method signature is
+     *         invalid.
+     * @throws TypeNotPresentException if the component type points to a missing
+     *         type.
+     * @throws MalformedParameterizedTypeException if the component type points
+     *         to a type that can't be instantiated for some reason.
+     * @since 1.5
+     */
+    public Type[] getGenericExceptionTypes() {
+        return null;
+    }
+
+    /**
+     * <p>
+     * Gets an array of arrays that represent the annotations of the formal
+     * parameters of this constructor. If there are no parameters on this
+     * constructor, then an empty array is returned. If there are no annotations
+     * set, then and array of empty arrays is returned.
+     * </p>
+     * 
+     * @return An array of arrays of {@link Annotation} instances.
+     * @since 1.5
+     */
+    public Annotation[][] getParameterAnnotations() {
+        return null;
+    }
+
+    /**
+     * <p>
+     * Indicates whether or not this constructor takes a variable number
+     * argument.
+     * </p>
+     * 
+     * @return A value of <code>true</code> if a vararg is declare, otherwise
+     *         <code>false</code>.
+     * @since 1.5
+     */
+    public boolean isVarArgs() {
+        return false;
+    }
+
+    public boolean isSynthetic() {
+        return false;
+    }
+
+    /**
+     * Compares the specified object to this Constructor and answer if they are
+     * equal. The object must be an instance of Constructor with the same
+     * defining class and parameter types.
+     * 
+     * @param object the object to compare
+     * @return true if the specified object is equal to this Constructor, false
+     *         otherwise
+     * @see #hashCode
+     */
+    @Override
+    public boolean equals(Object object) {
+        return false;
+    }
+
+    /**
+     * Return the {@link Class} associated with the class that defined this
+     * constructor.
+     * 
+     * @return the declaring class
+     */
+    public Class<T> getDeclaringClass() {
+        return null;
+    }
+
+    /**
+     * Return an array of the {@link Class} objects associated with the
+     * exceptions declared to be thrown by this constructor. If the constructor
+     * was not declared to throw any exceptions, the array returned will be
+     * empty.
+     * 
+     * @return the declared exception classes
+     */
+    public Class<?>[] getExceptionTypes() {
+        return null;
+    }
+
+    /**
+     * Return the modifiers for the modelled constructor. The Modifier class
+     * should be used to decode the result.
+     * 
+     * @return the modifiers
+     * @see java.lang.reflect.Modifier
+     */
+    public int getModifiers() {
+        return 0;
+    }
+
+    /**
+     * Return the name of the modelled constructor. This is the name of the
+     * declaring class.
+     * 
+     * @return the name
+     */
+    public String getName() {
+        return null;
+    }
+
+    /**
+     * Return an array of the {@link Class} objects associated with the
+     * parameter types of this constructor. If the constructor was declared with
+     * no parameters, the array returned will be empty.
+     * 
+     * @return the parameter types
+     */
+    public Class<?>[] getParameterTypes() {
+        return null;
+    }
+
+    /**
+     * Answers an integer hash code for the receiver. Objects which are equal
+     * answer the same value for this method. The hash code for a Constructor is
+     * the hash code of the declaring class' name.
+     * 
+     * @return the receiver's hash
+     * @see #equals
+     */
+    @Override
+    public int hashCode() {
+        return 0;
+    }
+
+    /**
+     * Return a new instance of the declaring class, initialized by dynamically
+     * invoking the modelled constructor. This reproduces the effect of
+     * <code>new declaringClass(arg1, arg2, ... , argN)</code> This method
+     * performs the following:
+     * <ul>
+     * <li>A new instance of the declaring class is created. If the declaring
+     * class cannot be instantiated (i.e. abstract class, an interface, an array
+     * type, or a base type) then an InstantiationException is thrown.</li>
+     * <li>If this Constructor object is enforcing access control (see
+     * AccessibleObject) and the modelled constructor is not accessible from the
+     * current context, an IllegalAccessException is thrown.</li>
+     * <li>If the number of arguments passed and the number of parameters do
+     * not match, an IllegalArgumentException is thrown.</li>
+     * <li>For each argument passed:
+     * <ul>
+     * <li>If the corresponding parameter type is a base type, the argument is
+     * unwrapped. If the unwrapping fails, an IllegalArgumentException is
+     * thrown.</li>
+     * <li>If the resulting argument cannot be converted to the parameter type
+     * via a widening conversion, an IllegalArgumentException is thrown.</li>
+     * </ul>
+     * <li>The modelled constructor is then invoked. If an exception is thrown
+     * during the invocation, it is caught and wrapped in an
+     * InvocationTargetException. This exception is then thrown. If the
+     * invocation completes normally, the newly initialized object is returned.
+     * </ul>
+     * 
+     * @param args the arguments to the constructor
+     * @return the new, initialized, object
+     * @exception java.lang.InstantiationException if the class cannot be
+     *            instantiated
+     * @exception java.lang.IllegalAccessException if the modelled constructor
+     *            is not accessible
+     * @exception java.lang.IllegalArgumentException if an incorrect number of
+     *            arguments are passed, or an argument could not be converted by
+     *            a widening conversion
+     * @exception java.lang.reflect.InvocationTargetException if an exception
+     *            was thrown by the invoked constructor
+     * @see java.lang.reflect.AccessibleObject
+     */
+    public T newInstance(Object... args) throws InstantiationException, IllegalAccessException,
+            IllegalArgumentException, InvocationTargetException {
+        return null;
+    }
+
+    /**
+     * Answers a string containing a concise, human-readable description of the
+     * receiver. The format of the string is modifiers (if any) declaring class
+     * name '(' parameter types, separated by ',' ')' If the constructor throws
+     * exceptions, ' throws ' exception types, separated by ',' For example:
+     * <code>public String(byte[],String) throws UnsupportedEncodingException</code>
+     * 
+     * @return a printable representation for the receiver
+     */
+    @Override
+    public String toString() {
+        return null;
+    }
+}

Propchange: incubator/harmony/enhanced/classlib/trunk/modules/luni-kernel/src/main/java/java/lang/reflect/Constructor.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/harmony/enhanced/classlib/trunk/modules/luni-kernel/src/main/java/java/lang/reflect/Field.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/luni-kernel/src/main/java/java/lang/reflect/Field.java?view=diff&rev=446491&r1=446490&r2=446491
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/luni-kernel/src/main/java/java/lang/reflect/Field.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/luni-kernel/src/main/java/java/lang/reflect/Field.java Thu Sep 14 20:08:07 2006
@@ -1,678 +1,678 @@
-/* Copyright 1998, 2005 The Apache Software Foundation or its licensors, as applicable
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *     http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package java.lang.reflect;
-
-/**
- * This class must be implemented by the VM vendor. This class models a field.
- * Information about the field can be accessed, and the field's value can be
- * accessed dynamically.
- * 
- */
-public final class Field extends AccessibleObject implements Member {
-
-    /**
-     * <p>TODO Document this method. Is it used?</p>
-     * @return
-     * @see java.lang.reflect.AccessibleObject#getSignature()
-     */
-    native String getSignature();
-    
-    public boolean isSynthetic() {
-        return false;
-    }
-
-    /**
-     * <p>
-     * Returns the String representation of the field's declaration, including
-     * the type parameters.
-     * </p>
-     * 
-     * @return An instance of String.
-     * @since 1.5
-     */
-    public String toGenericString() {
-        return null;
-    }
-
-    /**
-     * <p>
-     * Indicates whether or not this field is an enumeration constant.
-     * </p>
-     * 
-     * @return A value of <code>true</code> if this field is an enumeration
-     *         constant, otherwise <code>false</code>.
-     * @since 1.5
-     */
-    public boolean isEnumConstant() {
-        return false;
-    }
-
-    /**
-     * <p>
-     * Gets the declared type of this field.
-     * </p>
-     * 
-     * @return An instance of {@link Type}.
-     * @throws GenericSignatureFormatError if the generic method signature is
-     *         invalid.
-     * @throws TypeNotPresentException if the component type points to a missing
-     *         type.
-     * @throws MalformedParameterizedTypeException if the component type points
-     *         to a type that can't be instantiated for some reason.
-     * @since 1.5
-     */
-    public Type getGenericType() {
-        return null;
-    }
-    
-	/**
-     * Compares the specified object to this Field and answer if they are equal.
-     * The object must be an instance of Field with the same defining class and
-     * name.
-     * 
-     * @param object the object to compare
-     * @return true if the specified object is equal to this Field, false
-     *         otherwise
-     * @see #hashCode
-     */
-	@Override
-    public boolean equals(Object object) {
-		return false;
-	}
-
-	/**
-	 * Return the value of the field in the specified object. This reproduces
-	 * the effect of <code>object.fieldName</code>
-	 * <p>
-	 * If the modelled field is static, the object argument is ignored.
-	 * Otherwise, if the object is null, a NullPointerException is thrown. If
-	 * the object is not an instance of the declaring class of the method, an
-	 * IllegalArgumentException is thrown.
-	 * <p>
-	 * If this Field object is enforcing access control (see AccessibleObject)
-	 * and the modelled field is not accessible from the current context, an
-	 * IllegalAccessException is thrown.
-	 * <p>
-	 * The value of the field is returned. If the type of this field is a base
-	 * type, the field value is automatically wrapped.
-	 * 
-	 * @param object
-	 *            the object to access
-	 * @return the field value, possibly wrapped
-	 * @throws NullPointerException
-	 *             if the object is null and the field is non-static
-	 * @throws IllegalArgumentException
-	 *             if the object is not compatible with the declaring class
-	 * @throws IllegalAccessException
-	 *             if modelled field is not accessible
-	 */
-	public native Object get(Object object) throws IllegalAccessException,
-			IllegalArgumentException;
-
-	/**
-	 * Return the value of the field in the specified object as a boolean. This
-	 * reproduces the effect of <code>object.fieldName</code>
-	 * <p>
-	 * If the modelled field is static, the object argument is ignored.
-	 * Otherwise, if the object is null, a NullPointerException is thrown. If
-	 * the object is not an instance of the declaring class of the method, an
-	 * IllegalArgumentException is thrown.
-	 * <p>
-	 * If this Field object is enforcing access control (see AccessibleObject)
-	 * and the modelled field is not accessible from the current context, an
-	 * IllegalAccessException is thrown.
-	 * 
-	 * @param object
-	 *            the object to access
-	 * @return the field value
-	 * @throws NullPointerException
-	 *             if the object is null and the field is non-static
-	 * @throws IllegalArgumentException
-	 *             if the object is not compatible with the declaring class
-	 * @throws IllegalAccessException
-	 *             if modelled field is not accessible
-	 */
-	public native boolean getBoolean(Object object)
-			throws IllegalAccessException, IllegalArgumentException;
-
-	/**
-	 * Return the value of the field in the specified object as a byte. This
-	 * reproduces the effect of <code>object.fieldName</code>
-	 * <p>
-	 * If the modelled field is static, the object argument is ignored.
-	 * Otherwise, if the object is null, a NullPointerException is thrown. If
-	 * the object is not an instance of the declaring class of the method, an
-	 * IllegalArgumentException is thrown.
-	 * <p>
-	 * If this Field object is enforcing access control (see AccessibleObject)
-	 * and the modelled field is not accessible from the current context, an
-	 * IllegalAccessException is thrown.
-	 * 
-	 * @param object
-	 *            the object to access
-	 * @return the field value
-	 * @throws NullPointerException
-	 *             if the object is null and the field is non-static
-	 * @throws IllegalArgumentException
-	 *             if the object is not compatible with the declaring class
-	 * @throws IllegalAccessException
-	 *             if modelled field is not accessible
-	 */
-	public native byte getByte(Object object) throws IllegalAccessException,
-			IllegalArgumentException;
-
-	/**
-	 * Return the value of the field in the specified object as a char. This
-	 * reproduces the effect of <code>object.fieldName</code>
-	 * <p>
-	 * If the modelled field is static, the object argument is ignored.
-	 * Otherwise, if the object is null, a NullPointerException is thrown. If
-	 * the object is not an instance of the declaring class of the method, an
-	 * IllegalArgumentException is thrown.
-	 * <p>
-	 * If this Field object is enforcing access control (see AccessibleObject)
-	 * and the modelled field is not accessible from the current context, an
-	 * IllegalAccessException is thrown.
-	 * 
-	 * @param object
-	 *            the object to access
-	 * @return the field value
-	 * @throws NullPointerException
-	 *             if the object is null and the field is non-static
-	 * @throws IllegalArgumentException
-	 *             if the object is not compatible with the declaring class
-	 * @throws IllegalAccessException
-	 *             if modelled field is not accessible
-	 */
-	public native char getChar(Object object) throws IllegalAccessException,
-			IllegalArgumentException;
-
-	/**
-	 * Return the {@link Class} associated with the class that defined this
-	 * field.
-	 * 
-	 * @return the declaring class
-	 */
-	public Class<?> getDeclaringClass() {
-		return null;
-	}
-
-	/**
-	 * Return the value of the field in the specified object as a double. This
-	 * reproduces the effect of <code>object.fieldName</code>
-	 * <p>
-	 * If the modelled field is static, the object argument is ignored.
-	 * Otherwise, if the object is null, a NullPointerException is thrown. If
-	 * the object is not an instance of the declaring class of the method, an
-	 * IllegalArgumentException is thrown.
-	 * <p>
-	 * If this Field object is enforcing access control (see AccessibleObject)
-	 * and the modelled field is not accessible from the current context, an
-	 * IllegalAccessException is thrown.
-	 * 
-	 * @param object
-	 *            the object to access
-	 * @return the field value
-	 * @throws NullPointerException
-	 *             if the object is null and the field is non-static
-	 * @throws IllegalArgumentException
-	 *             if the object is not compatible with the declaring class
-	 * @throws IllegalAccessException
-	 *             if modelled field is not accessible
-	 */
-	public native double getDouble(Object object)
-			throws IllegalAccessException, IllegalArgumentException;
-
-	/**
-	 * Return the value of the field in the specified object as a float. This
-	 * reproduces the effect of <code>object.fieldName</code>
-	 * <p>
-	 * If the modelled field is static, the object argument is ignored.
-	 * Otherwise, if the object is null, a NullPointerException is thrown. If
-	 * the object is not an instance of the declaring class of the method, an
-	 * IllegalArgumentException is thrown.
-	 * <p>
-	 * If this Field object is enforcing access control (see AccessibleObject)
-	 * and the modelled field is not accessible from the current context, an
-	 * IllegalAccessException is thrown.
-	 * 
-	 * @param object
-	 *            the object to access
-	 * @return the field value
-	 * @throws NullPointerException
-	 *             if the object is null and the field is non-static
-	 * @throws IllegalArgumentException
-	 *             if the object is not compatible with the declaring class
-	 * @throws IllegalAccessException
-	 *             if modelled field is not accessible
-	 */
-	public native float getFloat(Object object) throws IllegalAccessException,
-			IllegalArgumentException;
-
-	/**
-	 * Return the value of the field in the specified object as an int. This
-	 * reproduces the effect of <code>object.fieldName</code>
-	 * <p>
-	 * If the modelled field is static, the object argument is ignored.
-	 * Otherwise, if the object is null, a NullPointerException is thrown. If
-	 * the object is not an instance of the declaring class of the method, an
-	 * IllegalArgumentException is thrown.
-	 * <p>
-	 * If this Field object is enforcing access control (see AccessibleObject)
-	 * and the modelled field is not accessible from the current context, an
-	 * IllegalAccessException is thrown.
-	 * 
-	 * @param object
-	 *            the object to access
-	 * @return the field value
-	 * @throws NullPointerException
-	 *             if the object is null and the field is non-static
-	 * @throws IllegalArgumentException
-	 *             if the object is not compatible with the declaring class
-	 * @throws IllegalAccessException
-	 *             if modelled field is not accessible
-	 */
-	public native int getInt(Object object) throws IllegalAccessException,
-			IllegalArgumentException;
-
-	/**
-	 * Return the value of the field in the specified object as a long. This
-	 * reproduces the effect of <code>object.fieldName</code>
-	 * <p>
-	 * If the modelled field is static, the object argument is ignored.
-	 * Otherwise, if the object is null, a NullPointerException is thrown. If
-	 * the object is not an instance of the declaring class of the method, an
-	 * IllegalArgumentException is thrown.
-	 * <p>
-	 * If this Field object is enforcing access control (see AccessibleObject)
-	 * and the modelled field is not accessible from the current context, an
-	 * IllegalAccessException is thrown.
-	 * 
-	 * @param object
-	 *            the object to access
-	 * @return the field value
-	 * @throws NullPointerException
-	 *             if the object is null and the field is non-static
-	 * @throws IllegalArgumentException
-	 *             if the object is not compatible with the declaring class
-	 * @throws IllegalAccessException
-	 *             if modelled field is not accessible
-	 */
-	public native long getLong(Object object) throws IllegalAccessException,
-			IllegalArgumentException;
-
-	/**
-	 * Return the modifiers for the modelled field. The Modifier class should be
-	 * used to decode the result.
-	 * 
-	 * @return the modifiers
-	 * @see java.lang.reflect.Modifier
-	 */
-	public native int getModifiers();
-
-	/**
-	 * Return the name of the modelled field.
-	 * 
-	 * @return the name
-	 */
-	public String getName() {
-		return null;
-	}
-
-	/**
-	 * Return the value of the field in the specified object as a short. This
-	 * reproduces the effect of <code>object.fieldName</code>
-	 * <p>
-	 * If the modelled field is static, the object argument is ignored.
-	 * Otherwise, if the object is null, a NullPointerException is thrown. If
-	 * the object is not an instance of the declaring class of the method, an
-	 * IllegalArgumentException is thrown.
-	 * <p>
-	 * If this Field object is enforcing access control (see AccessibleObject)
-	 * and the modelled field is not accessible from the current context, an
-	 * IllegalAccessException is thrown.
-	 * <p>
-	 * 
-	 * @param object
-	 *            the object to access
-	 * @return the field value
-	 * @throws NullPointerException
-	 *             if the object is null and the field is non-static
-	 * @throws IllegalArgumentException
-	 *             if the object is not compatible with the declaring class
-	 * @throws IllegalAccessException
-	 *             if modelled field is not accessible
-	 */
-	public native short getShort(Object object) throws IllegalAccessException,
-			IllegalArgumentException;
-
-	/**
-	 * Return the {@link Class} associated with the type of this field.
-	 * 
-	 * @return the type
-	 */
-	public Class<?> getType() {
-		return null;
-	}
-
-	/**
-	 * Answers an integer hash code for the receiver. Objects which are equal
-	 * answer the same value for this method.
-	 * <p>
-	 * The hash code for a Field is the hash code of the field's name.
-	 * 
-	 * @return the receiver's hash
-	 * @see #equals
-	 */
-	@Override
-    public int hashCode() {
-		return 0;
-	}
-
-	/**
-	 * Set the value of the field in the specified object to the boolean value.
-	 * This reproduces the effect of <code>object.fieldName = value</code>
-	 * <p>
-	 * If the modelled field is static, the object argument is ignored.
-	 * Otherwise, if the object is null, a NullPointerException is thrown. If
-	 * the object is not an instance of the declaring class of the method, an
-	 * IllegalArgumentException is thrown.
-	 * <p>
-	 * If this Field object is enforcing access control (see AccessibleObject)
-	 * and the modelled field is not accessible from the current context, an
-	 * IllegalAccessException is thrown.
-	 * <p>
-	 * If the field type is a base type, the value is automatically unwrapped.
-	 * If the unwrap fails, an IllegalArgumentException is thrown. If the value
-	 * cannot be converted to the field type via a widening conversion, an
-	 * IllegalArgumentException is thrown.
-	 * 
-	 * @param object
-	 *            the object to access
-	 * @param value
-	 *            the new value
-	 * @throws NullPointerException
-	 *             if the object is null and the field is non-static
-	 * @throws IllegalArgumentException
-	 *             if the object is not compatible with the declaring class
-	 * @throws IllegalAccessException
-	 *             if modelled field is not accessible
-	 */
-	public native void set(Object object, Object value)
-			throws IllegalAccessException, IllegalArgumentException;
-
-	/**
-	 * Set the value of the field in the specified object to the boolean value.
-	 * This reproduces the effect of <code>object.fieldName = value</code>
-	 * <p>
-	 * If the modelled field is static, the object argument is ignored.
-	 * Otherwise, if the object is null, a NullPointerException is thrown. If
-	 * the object is not an instance of the declaring class of the method, an
-	 * IllegalArgumentException is thrown.
-	 * <p>
-	 * If this Field object is enforcing access control (see AccessibleObject)
-	 * and the modelled field is not accessible from the current context, an
-	 * IllegalAccessException is thrown.
-	 * <p>
-	 * If the value cannot be converted to the field type via a widening
-	 * conversion, an IllegalArgumentException is thrown.
-	 * 
-	 * @param object
-	 *            the object to access
-	 * @param value
-	 *            the new value
-	 * @throws NullPointerException
-	 *             if the object is null and the field is non-static
-	 * @throws IllegalArgumentException
-	 *             if the object is not compatible with the declaring class
-	 * @throws IllegalAccessException
-	 *             if modelled field is not accessible
-	 */
-	public native void setBoolean(Object object, boolean value)
-			throws IllegalAccessException, IllegalArgumentException;
-
-	/**
-	 * Set the value of the field in the specified object to the byte value.
-	 * This reproduces the effect of <code>object.fieldName = value</code>
-	 * <p>
-	 * If the modelled field is static, the object argument is ignored.
-	 * Otherwise, if the object is null, a NullPointerException is thrown. If
-	 * the object is not an instance of the declaring class of the method, an
-	 * IllegalArgumentException is thrown.
-	 * <p>
-	 * If this Field object is enforcing access control (see AccessibleObject)
-	 * and the modelled field is not accessible from the current context, an
-	 * IllegalAccessException is thrown.
-	 * <p>
-	 * If the value cannot be converted to the field type via a widening
-	 * conversion, an IllegalArgumentException is thrown.
-	 * 
-	 * @param object
-	 *            the object to access
-	 * @param value
-	 *            the new value
-	 * @throws NullPointerException
-	 *             if the object is null and the field is non-static
-	 * @throws IllegalArgumentException
-	 *             if the object is not compatible with the declaring class
-	 * @throws IllegalAccessException
-	 *             if modelled field is not accessible
-	 */
-	public native void setByte(Object object, byte value)
-			throws IllegalAccessException, IllegalArgumentException;
-
-	/**
-	 * Set the value of the field in the specified object to the char value.
-	 * This reproduces the effect of <code>object.fieldName = value</code>
-	 * <p>
-	 * If the modelled field is static, the object argument is ignored.
-	 * Otherwise, if the object is null, a NullPointerException is thrown. If
-	 * the object is not an instance of the declaring class of the method, an
-	 * IllegalArgumentException is thrown.
-	 * <p>
-	 * If this Field object is enforcing access control (see AccessibleObject)
-	 * and the modelled field is not accessible from the current context, an
-	 * IllegalAccessException is thrown.
-	 * <p>
-	 * If the value cannot be converted to the field type via a widening
-	 * conversion, an IllegalArgumentException is thrown.
-	 * 
-	 * @param object
-	 *            the object to access
-	 * @param value
-	 *            the new value
-	 * @throws NullPointerException
-	 *             if the object is null and the field is non-static
-	 * @throws IllegalArgumentException
-	 *             if the object is not compatible with the declaring class
-	 * @throws IllegalAccessException
-	 *             if modelled field is not accessible
-	 */
-	public native void setChar(Object object, char value)
-			throws IllegalAccessException, IllegalArgumentException;
-
-	/**
-	 * Set the value of the field in the specified object to the double value.
-	 * This reproduces the effect of <code>object.fieldName = value</code>
-	 * <p>
-	 * If the modelled field is static, the object argument is ignored.
-	 * Otherwise, if the object is null, a NullPointerException is thrown. If
-	 * the object is not an instance of the declaring class of the method, an
-	 * IllegalArgumentException is thrown.
-	 * <p>
-	 * If this Field object is enforcing access control (see AccessibleObject)
-	 * and the modelled field is not accessible from the current context, an
-	 * IllegalAccessException is thrown.
-	 * <p>
-	 * If the value cannot be converted to the field type via a widening
-	 * conversion, an IllegalArgumentException is thrown.
-	 * 
-	 * @param object
-	 *            the object to access
-	 * @param value
-	 *            the new value
-	 * @throws NullPointerException
-	 *             if the object is null and the field is non-static
-	 * @throws IllegalArgumentException
-	 *             if the object is not compatible with the declaring class
-	 * @throws IllegalAccessException
-	 *             if modelled field is not accessible
-	 */
-	public native void setDouble(Object object, double value)
-			throws IllegalAccessException, IllegalArgumentException;
-
-	/**
-	 * Set the value of the field in the specified object to the float value.
-	 * This reproduces the effect of <code>object.fieldName = value</code>
-	 * <p>
-	 * If the modelled field is static, the object argument is ignored.
-	 * Otherwise, if the object is null, a NullPointerException is thrown. If
-	 * the object is not an instance of the declaring class of the method, an
-	 * IllegalArgumentException is thrown.
-	 * <p>
-	 * If this Field object is enforcing access control (see AccessibleObject)
-	 * and the modelled field is not accessible from the current context, an
-	 * IllegalAccessException is thrown.
-	 * <p>
-	 * If the value cannot be converted to the field type via a widening
-	 * conversion, an IllegalArgumentException is thrown.
-	 * 
-	 * @param object
-	 *            the object to access
-	 * @param value
-	 *            the new value
-	 * @throws NullPointerException
-	 *             if the object is null and the field is non-static
-	 * @throws IllegalArgumentException
-	 *             if the object is not compatible with the declaring class
-	 * @throws IllegalAccessException
-	 *             if modelled field is not accessible
-	 */
-	public native void setFloat(Object object, float value)
-			throws IllegalAccessException, IllegalArgumentException;
-
-	/**
-	 * Set the value of the field in the specified object to the int value. This
-	 * reproduces the effect of <code>object.fieldName = value</code>
-	 * <p>
-	 * If the modelled field is static, the object argument is ignored.
-	 * Otherwise, if the object is null, a NullPointerException is thrown. If
-	 * the object is not an instance of the declaring class of the method, an
-	 * IllegalArgumentException is thrown.
-	 * <p>
-	 * If this Field object is enforcing access control (see AccessibleObject)
-	 * and the modelled field is not accessible from the current context, an
-	 * IllegalAccessException is thrown.
-	 * <p>
-	 * If the value cannot be converted to the field type via a widening
-	 * conversion, an IllegalArgumentException is thrown.
-	 * 
-	 * @param object
-	 *            the object to access
-	 * @param value
-	 *            the new value
-	 * @throws NullPointerException
-	 *             if the object is null and the field is non-static
-	 * @throws IllegalArgumentException
-	 *             if the object is not compatible with the declaring class
-	 * @throws IllegalAccessException
-	 *             if modelled field is not accessible
-	 */
-	public native void setInt(Object object, int value)
-			throws IllegalAccessException, IllegalArgumentException;
-
-	/**
-	 * Set the value of the field in the specified object to the long value.
-	 * This reproduces the effect of <code>object.fieldName = value</code>
-	 * <p>
-	 * If the modelled field is static, the object argument is ignored.
-	 * Otherwise, if the object is null, a NullPointerException is thrown. If
-	 * the object is not an instance of the declaring class of the method, an
-	 * IllegalArgumentException is thrown.
-	 * <p>
-	 * If this Field object is enforcing access control (see AccessibleObject)
-	 * and the modelled field is not accessible from the current context, an
-	 * IllegalAccessException is thrown.
-	 * <p>
-	 * If the value cannot be converted to the field type via a widening
-	 * conversion, an IllegalArgumentException is thrown.
-	 * 
-	 * @param object
-	 *            the object to access
-	 * @param value
-	 *            the new value
-	 * @throws NullPointerException
-	 *             if the object is null and the field is non-static
-	 * @throws IllegalArgumentException
-	 *             if the object is not compatible with the declaring class
-	 * @throws IllegalAccessException
-	 *             if modelled field is not accessible
-	 */
-	public native void setLong(Object object, long value)
-			throws IllegalAccessException, IllegalArgumentException;
-
-	/**
-	 * Set the value of the field in the specified object to the short value.
-	 * This reproduces the effect of <code>object.fieldName = value</code>
-	 * <p>
-	 * If the modelled field is static, the object argument is ignored.
-	 * Otherwise, if the object is null, a NullPointerException is thrown. If
-	 * the object is not an instance of the declaring class of the method, an
-	 * IllegalArgumentException is thrown.
-	 * <p>
-	 * If this Field object is enforcing access control (see AccessibleObject)
-	 * and the modelled field is not accessible from the current context, an
-	 * IllegalAccessException is thrown.
-	 * <p>
-	 * If the value cannot be converted to the field type via a widening
-	 * conversion, an IllegalArgumentException is thrown.
-	 * 
-	 * @param object
-	 *            the object to access
-	 * @param value
-	 *            the new value
-	 * @throws NullPointerException
-	 *             if the object is null and the field is non-static
-	 * @throws IllegalArgumentException
-	 *             if the object is not compatible with the declaring class
-	 * @throws IllegalAccessException
-	 *             if modelled field is not accessible
-	 */
-	public native void setShort(Object object, short value)
-			throws IllegalAccessException, IllegalArgumentException;
-
-	/**
-	 * Answers a string containing a concise, human-readable description of the
-	 * receiver.
-	 * <p>
-	 * The format of the string is:
-	 * <ul>
-	 * <li>modifiers (if any)
-	 * <li>return type
-	 * <li>declaring class name
-	 * <li>'.'
-	 * <li>field name
-	 * </ul>
-	 * <p>
-	 * For example:
-	 * <code>public static java.io.InputStream java.lang.System.in</code>
-	 * 
-	 * @return a printable representation for the receiver
-	 */
-	public String toString() {
-		return null;
-	}
-}
+/* Copyright 1998, 2005 The Apache Software Foundation or its licensors, as applicable
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package java.lang.reflect;
+
+/**
+ * This class must be implemented by the VM vendor. This class models a field.
+ * Information about the field can be accessed, and the field's value can be
+ * accessed dynamically.
+ * 
+ */
+public final class Field extends AccessibleObject implements Member {
+
+    /**
+     * <p>TODO Document this method. Is it used?</p>
+     * @return
+     * @see java.lang.reflect.AccessibleObject#getSignature()
+     */
+    native String getSignature();
+    
+    public boolean isSynthetic() {
+        return false;
+    }
+
+    /**
+     * <p>
+     * Returns the String representation of the field's declaration, including
+     * the type parameters.
+     * </p>
+     * 
+     * @return An instance of String.
+     * @since 1.5
+     */
+    public String toGenericString() {
+        return null;
+    }
+
+    /**
+     * <p>
+     * Indicates whether or not this field is an enumeration constant.
+     * </p>
+     * 
+     * @return A value of <code>true</code> if this field is an enumeration
+     *         constant, otherwise <code>false</code>.
+     * @since 1.5
+     */
+    public boolean isEnumConstant() {
+        return false;
+    }
+
+    /**
+     * <p>
+     * Gets the declared type of this field.
+     * </p>
+     * 
+     * @return An instance of {@link Type}.
+     * @throws GenericSignatureFormatError if the generic method signature is
+     *         invalid.
+     * @throws TypeNotPresentException if the component type points to a missing
+     *         type.
+     * @throws MalformedParameterizedTypeException if the component type points
+     *         to a type that can't be instantiated for some reason.
+     * @since 1.5
+     */
+    public Type getGenericType() {
+        return null;
+    }
+    
+	/**
+     * Compares the specified object to this Field and answer if they are equal.
+     * The object must be an instance of Field with the same defining class and
+     * name.
+     * 
+     * @param object the object to compare
+     * @return true if the specified object is equal to this Field, false
+     *         otherwise
+     * @see #hashCode
+     */
+	@Override
+    public boolean equals(Object object) {
+		return false;
+	}
+
+	/**
+	 * Return the value of the field in the specified object. This reproduces
+	 * the effect of <code>object.fieldName</code>
+	 * <p>
+	 * If the modelled field is static, the object argument is ignored.
+	 * Otherwise, if the object is null, a NullPointerException is thrown. If
+	 * the object is not an instance of the declaring class of the method, an
+	 * IllegalArgumentException is thrown.
+	 * <p>
+	 * If this Field object is enforcing access control (see AccessibleObject)
+	 * and the modelled field is not accessible from the current context, an
+	 * IllegalAccessException is thrown.
+	 * <p>
+	 * The value of the field is returned. If the type of this field is a base
+	 * type, the field value is automatically wrapped.
+	 * 
+	 * @param object
+	 *            the object to access
+	 * @return the field value, possibly wrapped
+	 * @throws NullPointerException
+	 *             if the object is null and the field is non-static
+	 * @throws IllegalArgumentException
+	 *             if the object is not compatible with the declaring class
+	 * @throws IllegalAccessException
+	 *             if modelled field is not accessible
+	 */
+	public native Object get(Object object) throws IllegalAccessException,
+			IllegalArgumentException;
+
+	/**
+	 * Return the value of the field in the specified object as a boolean. This
+	 * reproduces the effect of <code>object.fieldName</code>
+	 * <p>
+	 * If the modelled field is static, the object argument is ignored.
+	 * Otherwise, if the object is null, a NullPointerException is thrown. If
+	 * the object is not an instance of the declaring class of the method, an
+	 * IllegalArgumentException is thrown.
+	 * <p>
+	 * If this Field object is enforcing access control (see AccessibleObject)
+	 * and the modelled field is not accessible from the current context, an
+	 * IllegalAccessException is thrown.
+	 * 
+	 * @param object
+	 *            the object to access
+	 * @return the field value
+	 * @throws NullPointerException
+	 *             if the object is null and the field is non-static
+	 * @throws IllegalArgumentException
+	 *             if the object is not compatible with the declaring class
+	 * @throws IllegalAccessException
+	 *             if modelled field is not accessible
+	 */
+	public native boolean getBoolean(Object object)
+			throws IllegalAccessException, IllegalArgumentException;
+
+	/**
+	 * Return the value of the field in the specified object as a byte. This
+	 * reproduces the effect of <code>object.fieldName</code>
+	 * <p>
+	 * If the modelled field is static, the object argument is ignored.
+	 * Otherwise, if the object is null, a NullPointerException is thrown. If
+	 * the object is not an instance of the declaring class of the method, an
+	 * IllegalArgumentException is thrown.
+	 * <p>
+	 * If this Field object is enforcing access control (see AccessibleObject)
+	 * and the modelled field is not accessible from the current context, an
+	 * IllegalAccessException is thrown.
+	 * 
+	 * @param object
+	 *            the object to access
+	 * @return the field value
+	 * @throws NullPointerException
+	 *             if the object is null and the field is non-static
+	 * @throws IllegalArgumentException
+	 *             if the object is not compatible with the declaring class
+	 * @throws IllegalAccessException
+	 *             if modelled field is not accessible
+	 */
+	public native byte getByte(Object object) throws IllegalAccessException,
+			IllegalArgumentException;
+
+	/**
+	 * Return the value of the field in the specified object as a char. This
+	 * reproduces the effect of <code>object.fieldName</code>
+	 * <p>
+	 * If the modelled field is static, the object argument is ignored.
+	 * Otherwise, if the object is null, a NullPointerException is thrown. If
+	 * the object is not an instance of the declaring class of the method, an
+	 * IllegalArgumentException is thrown.
+	 * <p>
+	 * If this Field object is enforcing access control (see AccessibleObject)
+	 * and the modelled field is not accessible from the current context, an
+	 * IllegalAccessException is thrown.
+	 * 
+	 * @param object
+	 *            the object to access
+	 * @return the field value
+	 * @throws NullPointerException
+	 *             if the object is null and the field is non-static
+	 * @throws IllegalArgumentException
+	 *             if the object is not compatible with the declaring class
+	 * @throws IllegalAccessException
+	 *             if modelled field is not accessible
+	 */
+	public native char getChar(Object object) throws IllegalAccessException,
+			IllegalArgumentException;
+
+	/**
+	 * Return the {@link Class} associated with the class that defined this
+	 * field.
+	 * 
+	 * @return the declaring class
+	 */
+	public Class<?> getDeclaringClass() {
+		return null;
+	}
+
+	/**
+	 * Return the value of the field in the specified object as a double. This
+	 * reproduces the effect of <code>object.fieldName</code>
+	 * <p>
+	 * If the modelled field is static, the object argument is ignored.
+	 * Otherwise, if the object is null, a NullPointerException is thrown. If
+	 * the object is not an instance of the declaring class of the method, an
+	 * IllegalArgumentException is thrown.
+	 * <p>
+	 * If this Field object is enforcing access control (see AccessibleObject)
+	 * and the modelled field is not accessible from the current context, an
+	 * IllegalAccessException is thrown.
+	 * 
+	 * @param object
+	 *            the object to access
+	 * @return the field value
+	 * @throws NullPointerException
+	 *             if the object is null and the field is non-static
+	 * @throws IllegalArgumentException
+	 *             if the object is not compatible with the declaring class
+	 * @throws IllegalAccessException
+	 *             if modelled field is not accessible
+	 */
+	public native double getDouble(Object object)
+			throws IllegalAccessException, IllegalArgumentException;
+
+	/**
+	 * Return the value of the field in the specified object as a float. This
+	 * reproduces the effect of <code>object.fieldName</code>
+	 * <p>
+	 * If the modelled field is static, the object argument is ignored.
+	 * Otherwise, if the object is null, a NullPointerException is thrown. If
+	 * the object is not an instance of the declaring class of the method, an
+	 * IllegalArgumentException is thrown.
+	 * <p>
+	 * If this Field object is enforcing access control (see AccessibleObject)
+	 * and the modelled field is not accessible from the current context, an
+	 * IllegalAccessException is thrown.
+	 * 
+	 * @param object
+	 *            the object to access
+	 * @return the field value
+	 * @throws NullPointerException
+	 *             if the object is null and the field is non-static
+	 * @throws IllegalArgumentException
+	 *             if the object is not compatible with the declaring class
+	 * @throws IllegalAccessException
+	 *             if modelled field is not accessible
+	 */
+	public native float getFloat(Object object) throws IllegalAccessException,
+			IllegalArgumentException;
+
+	/**
+	 * Return the value of the field in the specified object as an int. This
+	 * reproduces the effect of <code>object.fieldName</code>
+	 * <p>
+	 * If the modelled field is static, the object argument is ignored.
+	 * Otherwise, if the object is null, a NullPointerException is thrown. If
+	 * the object is not an instance of the declaring class of the method, an
+	 * IllegalArgumentException is thrown.
+	 * <p>
+	 * If this Field object is enforcing access control (see AccessibleObject)
+	 * and the modelled field is not accessible from the current context, an
+	 * IllegalAccessException is thrown.
+	 * 
+	 * @param object
+	 *            the object to access
+	 * @return the field value
+	 * @throws NullPointerException
+	 *             if the object is null and the field is non-static
+	 * @throws IllegalArgumentException
+	 *             if the object is not compatible with the declaring class
+	 * @throws IllegalAccessException
+	 *             if modelled field is not accessible
+	 */
+	public native int getInt(Object object) throws IllegalAccessException,
+			IllegalArgumentException;
+
+	/**
+	 * Return the value of the field in the specified object as a long. This
+	 * reproduces the effect of <code>object.fieldName</code>
+	 * <p>
+	 * If the modelled field is static, the object argument is ignored.
+	 * Otherwise, if the object is null, a NullPointerException is thrown. If
+	 * the object is not an instance of the declaring class of the method, an
+	 * IllegalArgumentException is thrown.
+	 * <p>
+	 * If this Field object is enforcing access control (see AccessibleObject)
+	 * and the modelled field is not accessible from the current context, an
+	 * IllegalAccessException is thrown.
+	 * 
+	 * @param object
+	 *            the object to access
+	 * @return the field value
+	 * @throws NullPointerException
+	 *             if the object is null and the field is non-static
+	 * @throws IllegalArgumentException
+	 *             if the object is not compatible with the declaring class
+	 * @throws IllegalAccessException
+	 *             if modelled field is not accessible
+	 */
+	public native long getLong(Object object) throws IllegalAccessException,
+			IllegalArgumentException;
+
+	/**
+	 * Return the modifiers for the modelled field. The Modifier class should be
+	 * used to decode the result.
+	 * 
+	 * @return the modifiers
+	 * @see java.lang.reflect.Modifier
+	 */
+	public native int getModifiers();
+
+	/**
+	 * Return the name of the modelled field.
+	 * 
+	 * @return the name
+	 */
+	public String getName() {
+		return null;
+	}
+
+	/**
+	 * Return the value of the field in the specified object as a short. This
+	 * reproduces the effect of <code>object.fieldName</code>
+	 * <p>
+	 * If the modelled field is static, the object argument is ignored.
+	 * Otherwise, if the object is null, a NullPointerException is thrown. If
+	 * the object is not an instance of the declaring class of the method, an
+	 * IllegalArgumentException is thrown.
+	 * <p>
+	 * If this Field object is enforcing access control (see AccessibleObject)
+	 * and the modelled field is not accessible from the current context, an
+	 * IllegalAccessException is thrown.
+	 * <p>
+	 * 
+	 * @param object
+	 *            the object to access
+	 * @return the field value
+	 * @throws NullPointerException
+	 *             if the object is null and the field is non-static
+	 * @throws IllegalArgumentException
+	 *             if the object is not compatible with the declaring class
+	 * @throws IllegalAccessException
+	 *             if modelled field is not accessible
+	 */
+	public native short getShort(Object object) throws IllegalAccessException,
+			IllegalArgumentException;
+
+	/**
+	 * Return the {@link Class} associated with the type of this field.
+	 * 
+	 * @return the type
+	 */
+	public Class<?> getType() {
+		return null;
+	}
+
+	/**
+	 * Answers an integer hash code for the receiver. Objects which are equal
+	 * answer the same value for this method.
+	 * <p>
+	 * The hash code for a Field is the hash code of the field's name.
+	 * 
+	 * @return the receiver's hash
+	 * @see #equals
+	 */
+	@Override
+    public int hashCode() {
+		return 0;
+	}
+
+	/**
+	 * Set the value of the field in the specified object to the boolean value.
+	 * This reproduces the effect of <code>object.fieldName = value</code>
+	 * <p>
+	 * If the modelled field is static, the object argument is ignored.
+	 * Otherwise, if the object is null, a NullPointerException is thrown. If
+	 * the object is not an instance of the declaring class of the method, an
+	 * IllegalArgumentException is thrown.
+	 * <p>
+	 * If this Field object is enforcing access control (see AccessibleObject)
+	 * and the modelled field is not accessible from the current context, an
+	 * IllegalAccessException is thrown.
+	 * <p>
+	 * If the field type is a base type, the value is automatically unwrapped.
+	 * If the unwrap fails, an IllegalArgumentException is thrown. If the value
+	 * cannot be converted to the field type via a widening conversion, an
+	 * IllegalArgumentException is thrown.
+	 * 
+	 * @param object
+	 *            the object to access
+	 * @param value
+	 *            the new value
+	 * @throws NullPointerException
+	 *             if the object is null and the field is non-static
+	 * @throws IllegalArgumentException
+	 *             if the object is not compatible with the declaring class
+	 * @throws IllegalAccessException
+	 *             if modelled field is not accessible
+	 */
+	public native void set(Object object, Object value)
+			throws IllegalAccessException, IllegalArgumentException;
+
+	/**
+	 * Set the value of the field in the specified object to the boolean value.
+	 * This reproduces the effect of <code>object.fieldName = value</code>
+	 * <p>
+	 * If the modelled field is static, the object argument is ignored.
+	 * Otherwise, if the object is null, a NullPointerException is thrown. If
+	 * the object is not an instance of the declaring class of the method, an
+	 * IllegalArgumentException is thrown.
+	 * <p>
+	 * If this Field object is enforcing access control (see AccessibleObject)
+	 * and the modelled field is not accessible from the current context, an
+	 * IllegalAccessException is thrown.
+	 * <p>
+	 * If the value cannot be converted to the field type via a widening
+	 * conversion, an IllegalArgumentException is thrown.
+	 * 
+	 * @param object
+	 *            the object to access
+	 * @param value
+	 *            the new value
+	 * @throws NullPointerException
+	 *             if the object is null and the field is non-static
+	 * @throws IllegalArgumentException
+	 *             if the object is not compatible with the declaring class
+	 * @throws IllegalAccessException
+	 *             if modelled field is not accessible
+	 */
+	public native void setBoolean(Object object, boolean value)
+			throws IllegalAccessException, IllegalArgumentException;
+
+	/**
+	 * Set the value of the field in the specified object to the byte value.
+	 * This reproduces the effect of <code>object.fieldName = value</code>
+	 * <p>
+	 * If the modelled field is static, the object argument is ignored.
+	 * Otherwise, if the object is null, a NullPointerException is thrown. If
+	 * the object is not an instance of the declaring class of the method, an
+	 * IllegalArgumentException is thrown.
+	 * <p>
+	 * If this Field object is enforcing access control (see AccessibleObject)
+	 * and the modelled field is not accessible from the current context, an
+	 * IllegalAccessException is thrown.
+	 * <p>
+	 * If the value cannot be converted to the field type via a widening
+	 * conversion, an IllegalArgumentException is thrown.
+	 * 
+	 * @param object
+	 *            the object to access
+	 * @param value
+	 *            the new value
+	 * @throws NullPointerException
+	 *             if the object is null and the field is non-static
+	 * @throws IllegalArgumentException
+	 *             if the object is not compatible with the declaring class
+	 * @throws IllegalAccessException
+	 *             if modelled field is not accessible
+	 */
+	public native void setByte(Object object, byte value)
+			throws IllegalAccessException, IllegalArgumentException;
+
+	/**
+	 * Set the value of the field in the specified object to the char value.
+	 * This reproduces the effect of <code>object.fieldName = value</code>
+	 * <p>
+	 * If the modelled field is static, the object argument is ignored.
+	 * Otherwise, if the object is null, a NullPointerException is thrown. If
+	 * the object is not an instance of the declaring class of the method, an
+	 * IllegalArgumentException is thrown.
+	 * <p>
+	 * If this Field object is enforcing access control (see AccessibleObject)
+	 * and the modelled field is not accessible from the current context, an
+	 * IllegalAccessException is thrown.
+	 * <p>
+	 * If the value cannot be converted to the field type via a widening
+	 * conversion, an IllegalArgumentException is thrown.
+	 * 
+	 * @param object
+	 *            the object to access
+	 * @param value
+	 *            the new value
+	 * @throws NullPointerException
+	 *             if the object is null and the field is non-static
+	 * @throws IllegalArgumentException
+	 *             if the object is not compatible with the declaring class
+	 * @throws IllegalAccessException
+	 *             if modelled field is not accessible
+	 */
+	public native void setChar(Object object, char value)
+			throws IllegalAccessException, IllegalArgumentException;
+
+	/**
+	 * Set the value of the field in the specified object to the double value.
+	 * This reproduces the effect of <code>object.fieldName = value</code>
+	 * <p>
+	 * If the modelled field is static, the object argument is ignored.
+	 * Otherwise, if the object is null, a NullPointerException is thrown. If
+	 * the object is not an instance of the declaring class of the method, an
+	 * IllegalArgumentException is thrown.
+	 * <p>
+	 * If this Field object is enforcing access control (see AccessibleObject)
+	 * and the modelled field is not accessible from the current context, an
+	 * IllegalAccessException is thrown.
+	 * <p>
+	 * If the value cannot be converted to the field type via a widening
+	 * conversion, an IllegalArgumentException is thrown.
+	 * 
+	 * @param object
+	 *            the object to access
+	 * @param value
+	 *            the new value
+	 * @throws NullPointerException
+	 *             if the object is null and the field is non-static
+	 * @throws IllegalArgumentException
+	 *             if the object is not compatible with the declaring class
+	 * @throws IllegalAccessException
+	 *             if modelled field is not accessible
+	 */
+	public native void setDouble(Object object, double value)
+			throws IllegalAccessException, IllegalArgumentException;
+
+	/**
+	 * Set the value of the field in the specified object to the float value.
+	 * This reproduces the effect of <code>object.fieldName = value</code>
+	 * <p>
+	 * If the modelled field is static, the object argument is ignored.
+	 * Otherwise, if the object is null, a NullPointerException is thrown. If
+	 * the object is not an instance of the declaring class of the method, an
+	 * IllegalArgumentException is thrown.
+	 * <p>
+	 * If this Field object is enforcing access control (see AccessibleObject)
+	 * and the modelled field is not accessible from the current context, an
+	 * IllegalAccessException is thrown.
+	 * <p>
+	 * If the value cannot be converted to the field type via a widening
+	 * conversion, an IllegalArgumentException is thrown.
+	 * 
+	 * @param object
+	 *            the object to access
+	 * @param value
+	 *            the new value
+	 * @throws NullPointerException
+	 *             if the object is null and the field is non-static
+	 * @throws IllegalArgumentException
+	 *             if the object is not compatible with the declaring class
+	 * @throws IllegalAccessException
+	 *             if modelled field is not accessible
+	 */
+	public native void setFloat(Object object, float value)
+			throws IllegalAccessException, IllegalArgumentException;
+
+	/**
+	 * Set the value of the field in the specified object to the int value. This
+	 * reproduces the effect of <code>object.fieldName = value</code>
+	 * <p>
+	 * If the modelled field is static, the object argument is ignored.
+	 * Otherwise, if the object is null, a NullPointerException is thrown. If
+	 * the object is not an instance of the declaring class of the method, an
+	 * IllegalArgumentException is thrown.
+	 * <p>
+	 * If this Field object is enforcing access control (see AccessibleObject)
+	 * and the modelled field is not accessible from the current context, an
+	 * IllegalAccessException is thrown.
+	 * <p>
+	 * If the value cannot be converted to the field type via a widening
+	 * conversion, an IllegalArgumentException is thrown.
+	 * 
+	 * @param object
+	 *            the object to access
+	 * @param value
+	 *            the new value
+	 * @throws NullPointerException
+	 *             if the object is null and the field is non-static
+	 * @throws IllegalArgumentException
+	 *             if the object is not compatible with the declaring class
+	 * @throws IllegalAccessException
+	 *             if modelled field is not accessible
+	 */
+	public native void setInt(Object object, int value)
+			throws IllegalAccessException, IllegalArgumentException;
+
+	/**
+	 * Set the value of the field in the specified object to the long value.
+	 * This reproduces the effect of <code>object.fieldName = value</code>
+	 * <p>
+	 * If the modelled field is static, the object argument is ignored.
+	 * Otherwise, if the object is null, a NullPointerException is thrown. If
+	 * the object is not an instance of the declaring class of the method, an
+	 * IllegalArgumentException is thrown.
+	 * <p>
+	 * If this Field object is enforcing access control (see AccessibleObject)
+	 * and the modelled field is not accessible from the current context, an
+	 * IllegalAccessException is thrown.
+	 * <p>
+	 * If the value cannot be converted to the field type via a widening
+	 * conversion, an IllegalArgumentException is thrown.
+	 * 
+	 * @param object
+	 *            the object to access
+	 * @param value
+	 *            the new value
+	 * @throws NullPointerException
+	 *             if the object is null and the field is non-static
+	 * @throws IllegalArgumentException
+	 *             if the object is not compatible with the declaring class
+	 * @throws IllegalAccessException
+	 *             if modelled field is not accessible
+	 */
+	public native void setLong(Object object, long value)
+			throws IllegalAccessException, IllegalArgumentException;
+
+	/**
+	 * Set the value of the field in the specified object to the short value.
+	 * This reproduces the effect of <code>object.fieldName = value</code>
+	 * <p>
+	 * If the modelled field is static, the object argument is ignored.
+	 * Otherwise, if the object is null, a NullPointerException is thrown. If
+	 * the object is not an instance of the declaring class of the method, an
+	 * IllegalArgumentException is thrown.
+	 * <p>
+	 * If this Field object is enforcing access control (see AccessibleObject)
+	 * and the modelled field is not accessible from the current context, an
+	 * IllegalAccessException is thrown.
+	 * <p>
+	 * If the value cannot be converted to the field type via a widening
+	 * conversion, an IllegalArgumentException is thrown.
+	 * 
+	 * @param object
+	 *            the object to access
+	 * @param value
+	 *            the new value
+	 * @throws NullPointerException
+	 *             if the object is null and the field is non-static
+	 * @throws IllegalArgumentException
+	 *             if the object is not compatible with the declaring class
+	 * @throws IllegalAccessException
+	 *             if modelled field is not accessible
+	 */
+	public native void setShort(Object object, short value)
+			throws IllegalAccessException, IllegalArgumentException;
+
+	/**
+	 * Answers a string containing a concise, human-readable description of the
+	 * receiver.
+	 * <p>
+	 * The format of the string is:
+	 * <ul>
+	 * <li>modifiers (if any)
+	 * <li>return type
+	 * <li>declaring class name
+	 * <li>'.'
+	 * <li>field name
+	 * </ul>
+	 * <p>
+	 * For example:
+	 * <code>public static java.io.InputStream java.lang.System.in</code>
+	 * 
+	 * @return a printable representation for the receiver
+	 */
+	public String toString() {
+		return null;
+	}
+}

Propchange: incubator/harmony/enhanced/classlib/trunk/modules/luni-kernel/src/main/java/java/lang/reflect/Field.java
------------------------------------------------------------------------------
    svn:eol-style = native



Mime
View raw message