1 /* 2 * @(#)TypeParameterElement.java 1.5 06/08/02 3 * 4 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 5 * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. 6 */ 7 8 package javax.lang.model.element; 9 10 import java.util.List; 11 import javax.lang.model.type.TypeMirror; 12 import javax.lang.model.type.TypeVariable; 13 14 /** 15 * Represents a formal type parameter of a generic class, interface, method, 16 * or constructor element. 17 * A type parameter declares a {@link TypeVariable}. 18 * 19 * @author Joseph D. Darcy 20 * @author Scott Seligman 21 * @author Peter von der Ahé 22 * @version 1.5 06/08/02 23 * @see TypeVariable 24 * @since 1.6 25 */ 26 public interface TypeParameterElement extends Element { 27 28 /** 29 * Returns the generic class, interface, method, or constructor that is 30 * parameterized by this type parameter. 31 * 32 * @return the generic class, interface, method, or constructor that is 33 * parameterized by this type parameter 34 */ 35 Element getGenericElement(); 36 37 /** 38 * Returns the bounds of this type parameter. 39 * These are the types given by the {@code extends} clause 40 * used to declare this type parameter. 41 * If no explicit {@code extends} clause was used, 42 * then {@code java.lang.Object} is considered to be the sole bound. 43 * 44 * @return the bounds of this type parameter, or an empty list if 45 * there are none 46 */ 47 List<? extends TypeMirror> getBounds(); 48 } 49