1. /*
  2. * @(#)GenericArrayType.java 1.3 04/01/12
  3. *
  4. * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
  5. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
  6. */
  7. package java.lang.reflect;
  8. /**
  9. * <tt>GenericArrayType</tt> represents an array type whose component
  10. * type is either a parameterized type or a type variable.
  11. * @since 1.5
  12. */
  13. public interface GenericArrayType extends Type {
  14. /**
  15. * Returns a <tt>Type</tt> object representing the component type
  16. * of this array. This method creates the component type of the
  17. * array. See the declaration of {@link
  18. * java.lang.reflect.ParameterizedType ParameterizedType} for the
  19. * semantics of the creation process for parameterized types and
  20. * see {@link java.lang.reflect.TypeVariable TypeVariable} for the
  21. * creation process for type variables.
  22. *
  23. * @return a <tt>Type</tt> object representing the component type
  24. * of this array
  25. * @throws TypeNotPresentException if the underlying array type's
  26. * component type refers to a non-existent type declaration
  27. * @throws MalformedParameterizedTypeException if the
  28. * underlying array type's component type refers to a
  29. * parameterized type that cannot be instantiated for any reason
  30. */
  31. Type getGenericComponentType();
  32. }