java.lang.reflect.Array Maven / Gradle / Ivy
/*
This is not an official specification document, and usage is restricted.
NOTICE
(c) 2005-2007 Sun Microsystems, Inc. All Rights Reserved.
Neither this file nor any files generated from it describe a complete
specification, and they may only be used as described below. For
example, no permission is given for you to incorporate this file, in
whole or in part, in an implementation of a Java specification.
Sun Microsystems Inc. owns the copyright in this file and it is provided
to you for informative, as opposed to normative, use. The file and any
files generated from it may be used to generate other informative
documentation, such as a unified set of documents of API signatures for
a platform that includes technologies expressed as Java APIs. The file
may also be used to produce "compilation stubs," which allow
applications to be compiled and validated for such platforms.
Any work generated from this file, such as unified javadocs or compiled
stub files, must be accompanied by this notice in its entirety.
This work corresponds to the API signatures of JSR 219: Foundation
Profile 1.1. In the event of a discrepency between this work and the
JSR 219 specification, which is available at
http://www.jcp.org/en/jsr/detail?id=219, the latter takes precedence.
*/
package java.lang.reflect;
/**
* The Array
class provides static methods to dynamically create and
* access Java arrays.
*
*
Array
permits widening conversions to occur during a get or set
* operation, but throws an IllegalArgumentException
if a narrowing
* conversion would occur.
*
* @author Nakul Saraiya
*/
public final class Array
{
/*
* This hidden constructor does not necessarily correspond to
* a constructor in the original source file -- it keeps javadoc
* from generating an inappropriate default constructor.
*/
private Array() { }
/**
* Creates a new array with the specified component type and
* length.
* Invoking this method is equivalent to creating an array
* as follows:
*
*
* int[] x = {length};
* Array.newInstance(componentType, x);
*
*
*
* @param componentType the Class
object representing the
* component type of the new array
* @param length the length of the new array
* @return the new array
* @exception NullPointerException if the specified
* componentType
parameter is null
* @exception IllegalArgumentException if componentType is Void.TYPE
* @exception NegativeArraySizeException if the specified length
* is negative
*/
public static Object newInstance(Class componentType, int length)
throws NegativeArraySizeException
{
return null;
}
/**
* Creates a new array
* with the specified component type and dimensions.
* If componentType
* represents a non-array class or interface, the new array
* has dimensions.length
dimensions and
* componentType
as its component type. If
* componentType
represents an array class, the
* number of dimensions of the new array is equal to the sum
* of dimensions.length
and the number of
* dimensions of componentType
. In this case, the
* component type of the new array is the component type of
* componentType
.
*
* The number of dimensions of the new array must not
* exceed the number of array dimensions supported by the
* implementation (typically 255).
*
* @param componentType the Class
object representing the component
* type of the new array
* @param dimensions an array of int
types representing the dimensions of
* the new array
* @return the new array
* @exception NullPointerException if the specified
* componentType
argument is null
* @exception IllegalArgumentException if the specified dimensions
* argument is a zero-dimensional array, or if the number of
* requested dimensions exceeds the limit on the number of array dimensions
* supported by the implementation (typically 255), or if componentType
* is Void.TYPE.
* @exception NegativeArraySizeException if any of the components in
* the specified dimensions
argument is negative.
*/
public static Object newInstance(Class componentType, int[] dimensions)
throws IllegalArgumentException, NegativeArraySizeException
{
return null;
}
/**
* Returns the length of the specified array object, as an int
.
*
* @param array the array
* @return the length of the array
* @exception IllegalArgumentException if the object argument is not
* an array
*/
public static int getLength(Object array)
throws IllegalArgumentException
{
return 0;
}
/**
* Returns the value of the indexed component in the specified
* array object. The value is automatically wrapped in an object
* if it has a primitive type.
*
* @param array the array
* @param index the index
* @return the (possibly wrapped) value of the indexed component in
* the specified array
* @exception NullPointerException If the specified object is null
* @exception IllegalArgumentException If the specified object is not
* an array
* @exception ArrayIndexOutOfBoundsException If the specified index
* argument is negative, or if it is greater than or equal to the
* length of the specified array
*/
public static Object get(Object array, int index)
throws IllegalArgumentException, ArrayIndexOutOfBoundsException
{
return null;
}
/**
* Returns the value of the indexed component in the specified
* array object, as a boolean
.
*
* @param array the array
* @param index the index
* @return the value of the indexed component in the specified array
* @exception NullPointerException If the specified object is null
* @exception IllegalArgumentException If the specified object is not
* an array, or if the indexed element cannot be converted to the
* return type by an identity or widening conversion
* @exception ArrayIndexOutOfBoundsException If the specified index
* argument is negative, or if it is greater than or equal to the
* length of the specified array
* @see Array#get
*/
public static boolean getBoolean(Object array, int index)
throws IllegalArgumentException, ArrayIndexOutOfBoundsException
{
return false;
}
/**
* Returns the value of the indexed component in the specified
* array object, as a byte
.
*
* @param array the array
* @param index the index
* @return the value of the indexed component in the specified array
* @exception NullPointerException If the specified object is null
* @exception IllegalArgumentException If the specified object is not
* an array, or if the indexed element cannot be converted to the
* return type by an identity or widening conversion
* @exception ArrayIndexOutOfBoundsException If the specified index
* argument is negative, or if it is greater than or equal to the
* length of the specified array
* @see Array#get
*/
public static byte getByte(Object array, int index)
throws IllegalArgumentException, ArrayIndexOutOfBoundsException
{
return ' ';
}
/**
* Returns the value of the indexed component in the specified
* array object, as a char
.
*
* @param array the array
* @param index the index
* @return the value of the indexed component in the specified array
* @exception NullPointerException If the specified object is null
* @exception IllegalArgumentException If the specified object is not
* an array, or if the indexed element cannot be converted to the
* return type by an identity or widening conversion
* @exception ArrayIndexOutOfBoundsException If the specified index
* argument is negative, or if it is greater than or equal to the
* length of the specified array
* @see Array#get
*/
public static char getChar(Object array, int index)
throws IllegalArgumentException, ArrayIndexOutOfBoundsException
{
return ' ';
}
/**
* Returns the value of the indexed component in the specified
* array object, as a short
.
*
* @param array the array
* @param index the index
* @return the value of the indexed component in the specified array
* @exception NullPointerException If the specified object is null
* @exception IllegalArgumentException If the specified object is not
* an array, or if the indexed element cannot be converted to the
* return type by an identity or widening conversion
* @exception ArrayIndexOutOfBoundsException If the specified index
* argument is negative, or if it is greater than or equal to the
* length of the specified array
* @see Array#get
*/
public static short getShort(Object array, int index)
throws IllegalArgumentException, ArrayIndexOutOfBoundsException
{
return -1;
}
/**
* Returns the value of the indexed component in the specified
* array object, as an int
.
*
* @param array the array
* @param index the index
* @return the value of the indexed component in the specified array
* @exception NullPointerException If the specified object is null
* @exception IllegalArgumentException If the specified object is not
* an array, or if the indexed element cannot be converted to the
* return type by an identity or widening conversion
* @exception ArrayIndexOutOfBoundsException If the specified index
* argument is negative, or if it is greater than or equal to the
* length of the specified array
* @see Array#get
*/
public static int getInt(Object array, int index)
throws IllegalArgumentException, ArrayIndexOutOfBoundsException
{
return 0;
}
/**
* Returns the value of the indexed component in the specified
* array object, as a long
.
*
* @param array the array
* @param index the index
* @return the value of the indexed component in the specified array
* @exception NullPointerException If the specified object is null
* @exception IllegalArgumentException If the specified object is not
* an array, or if the indexed element cannot be converted to the
* return type by an identity or widening conversion
* @exception ArrayIndexOutOfBoundsException If the specified index
* argument is negative, or if it is greater than or equal to the
* length of the specified array
* @see Array#get
*/
public static long getLong(Object array, int index)
throws IllegalArgumentException, ArrayIndexOutOfBoundsException
{
return -1;
}
/**
* Returns the value of the indexed component in the specified
* array object, as a float
.
*
* @param array the array
* @param index the index
* @return the value of the indexed component in the specified array
* @exception NullPointerException If the specified object is null
* @exception IllegalArgumentException If the specified object is not
* an array, or if the indexed element cannot be converted to the
* return type by an identity or widening conversion
* @exception ArrayIndexOutOfBoundsException If the specified index
* argument is negative, or if it is greater than or equal to the
* length of the specified array
* @see Array#get
*/
public static float getFloat(Object array, int index)
throws IllegalArgumentException, ArrayIndexOutOfBoundsException
{
return 0.0f;
}
/**
* Returns the value of the indexed component in the specified
* array object, as a double
.
*
* @param array the array
* @param index the index
* @return the value of the indexed component in the specified array
* @exception NullPointerException If the specified object is null
* @exception IllegalArgumentException If the specified object is not
* an array, or if the indexed element cannot be converted to the
* return type by an identity or widening conversion
* @exception ArrayIndexOutOfBoundsException If the specified index
* argument is negative, or if it is greater than or equal to the
* length of the specified array
* @see Array#get
*/
public static double getDouble(Object array, int index)
throws IllegalArgumentException, ArrayIndexOutOfBoundsException
{
return 0.0d;
}
/**
* Sets the value of the indexed component of the specified array
* object to the specified new value. The new value is first
* automatically unwrapped if the array has a primitive component
* type.
* @param array the array
* @param index the index into the array
* @param value the new value of the indexed component
* @exception NullPointerException If the specified object argument
* is null, or if the array component type is primitive and the specified
* value is null
* @exception IllegalArgumentException If the specified object argument
* is not an array, or if the array component type is primitive and
* the specified value cannot be converted to the primitive type by
* a combination of unwrapping and identity or widening conversions
* @exception ArrayIndexOutOfBoundsException If the specified index
* argument is negative, or if it is greater than or equal to
* the length of the specified array
*/
public static void set(Object array, int index, Object value)
throws IllegalArgumentException, ArrayIndexOutOfBoundsException
{ }
/**
* Sets the value of the indexed component of the specified array
* object to the specified boolean
value.
* @param array the array
* @param index the index into the array
* @param z the new value of the indexed component
* @exception NullPointerException If the specified object argument
* is null
* @exception IllegalArgumentException If the specified object argument
* is not an array, or if the the specified value cannot be converted
* to the underlying array's component type by an identity or a
* primitive widening widening conversion
* @exception ArrayIndexOutOfBoundsException If the specified index
* argument is negative, or if it is greater than or equal to
* the length of the specified array
* @see Array#set
*/
public static void setBoolean(Object array, int index, boolean z)
throws IllegalArgumentException, ArrayIndexOutOfBoundsException
{ }
/**
* Sets the value of the indexed component of the specified array
* object to the specified byte
value.
* @param array the array
* @param index the index into the array
* @param b the new value of the indexed component
* @exception NullPointerException If the specified object argument
* is null
* @exception IllegalArgumentException If the specified object argument
* is not an array, or if the the specified value cannot be converted
* to the underlying array's component type by an identity or a
* primitive widening widening conversion
* @exception ArrayIndexOutOfBoundsException If the specified index
* argument is negative, or if it is greater than or equal to
* the length of the specified array
* @see Array#set
*/
public static void setByte(Object array, int index, byte b)
throws IllegalArgumentException, ArrayIndexOutOfBoundsException
{ }
/**
* Sets the value of the indexed component of the specified array
* object to the specified char
value.
* @param array the array
* @param index the index into the array
* @param c the new value of the indexed component
* @exception NullPointerException If the specified object argument
* is null
* @exception IllegalArgumentException If the specified object argument
* is not an array, or if the the specified value cannot be converted
* to the underlying array's component type by an identity or a
* primitive widening widening conversion
* @exception ArrayIndexOutOfBoundsException If the specified index
* argument is negative, or if it is greater than or equal to
* the length of the specified array
* @see Array#set
*/
public static void setChar(Object array, int index, char c)
throws IllegalArgumentException, ArrayIndexOutOfBoundsException
{ }
/**
* Sets the value of the indexed component of the specified array
* object to the specified short
value.
* @param array the array
* @param index the index into the array
* @param s the new value of the indexed component
* @exception NullPointerException If the specified object argument
* is null
* @exception IllegalArgumentException If the specified object argument
* is not an array, or if the the specified value cannot be converted
* to the underlying array's component type by an identity or a
* primitive widening widening conversion
* @exception ArrayIndexOutOfBoundsException If the specified index
* argument is negative, or if it is greater than or equal to
* the length of the specified array
* @see Array#set
*/
public static void setShort(Object array, int index, short s)
throws IllegalArgumentException, ArrayIndexOutOfBoundsException
{ }
/**
* Sets the value of the indexed component of the specified array
* object to the specified int
value.
* @param array the array
* @param index the index into the array
* @param i the new value of the indexed component
* @exception NullPointerException If the specified object argument
* is null
* @exception IllegalArgumentException If the specified object argument
* is not an array, or if the the specified value cannot be converted
* to the underlying array's component type by an identity or a
* primitive widening widening conversion
* @exception ArrayIndexOutOfBoundsException If the specified index
* argument is negative, or if it is greater than or equal to
* the length of the specified array
* @see Array#set
*/
public static void setInt(Object array, int index, int i)
throws IllegalArgumentException, ArrayIndexOutOfBoundsException
{ }
/**
* Sets the value of the indexed component of the specified array
* object to the specified long
value.
* @param array the array
* @param index the index into the array
* @param l the new value of the indexed component
* @exception NullPointerException If the specified object argument
* is null
* @exception IllegalArgumentException If the specified object argument
* is not an array, or if the the specified value cannot be converted
* to the underlying array's component type by an identity or a
* primitive widening widening conversion
* @exception ArrayIndexOutOfBoundsException If the specified index
* argument is negative, or if it is greater than or equal to
* the length of the specified array
* @see Array#set
*/
public static void setLong(Object array, int index, long l)
throws IllegalArgumentException, ArrayIndexOutOfBoundsException
{ }
/**
* Sets the value of the indexed component of the specified array
* object to the specified float
value.
* @param array the array
* @param index the index into the array
* @param f the new value of the indexed component
* @exception NullPointerException If the specified object argument
* is null
* @exception IllegalArgumentException If the specified object argument
* is not an array, or if the the specified value cannot be converted
* to the underlying array's component type by an identity or a
* primitive widening widening conversion
* @exception ArrayIndexOutOfBoundsException If the specified index
* argument is negative, or if it is greater than or equal to
* the length of the specified array
* @see Array#set
*/
public static void setFloat(Object array, int index, float f)
throws IllegalArgumentException, ArrayIndexOutOfBoundsException
{ }
/**
* Sets the value of the indexed component of the specified array
* object to the specified double
value.
* @param array the array
* @param index the index into the array
* @param d the new value of the indexed component
* @exception NullPointerException If the specified object argument
* is null
* @exception IllegalArgumentException If the specified object argument
* is not an array, or if the the specified value cannot be converted
* to the underlying array's component type by an identity or a
* primitive widening widening conversion
* @exception ArrayIndexOutOfBoundsException If the specified index
* argument is negative, or if it is greater than or equal to
* the length of the specified array
* @see Array#set
*/
public static void setDouble(Object array, int index, double d)
throws IllegalArgumentException, ArrayIndexOutOfBoundsException
{ }
}