/*
* @(#)GenericArrayType.java 1.4 05/11/17
*
* Copyright 2006 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package java.lang.reflect;
/**
* <tt>GenericArrayType</tt> represents an array type whose component
* type is either a parameterized type or a type variable.
* @since 1.5
*/
public interface GenericArrayType extends Type {
/**
* Returns a <tt>Type</tt> object representing the component type
* of this array. This method creates the component type of the
* array. See the declaration of {@link
* java.lang.reflect.ParameterizedType ParameterizedType} for the
* semantics of the creation process for parameterized types and
* see {@link java.lang.reflect.TypeVariable TypeVariable} for the
* creation process for type variables.
*
* @return a <tt>Type</tt> object representing the component type
* of this array
* @throws TypeNotPresentException if the underlying array type's
* component type refers to a non-existent type declaration
* @throws MalformedParameterizedTypeException if the
* underlying array type's component type refers to a
* parameterized type that cannot be instantiated for any reason
*/
Type getGenericComponentType();
}