1. /*
  2. * @(#)TypeParameterDeclaration.java 1.1 04/01/26
  3. *
  4. * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
  5. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
  6. */
  7. package com.sun.mirror.declaration;
  8. import java.util.Collection;
  9. import com.sun.mirror.type.*;
  10. /**
  11. * Represents a formal type parameter of a generic type, method,
  12. * or constructor declaration.
  13. * A type parameter declares a {@link TypeVariable}.
  14. *
  15. * @author Joseph D. Darcy
  16. * @author Scott Seligman
  17. * @version 1.1 04/01/26
  18. * @since 1.5
  19. */
  20. public interface TypeParameterDeclaration extends Declaration {
  21. /**
  22. * Returns the bounds of this type parameter.
  23. * These are the types given by the <i>extends</i> clause.
  24. * If there is no explicit <i>extends</i> clause, then
  25. * <tt>java.lang.Object</tt> is considered to be the sole bound.
  26. *
  27. * @return the bounds of this type parameter
  28. */
  29. Collection<ReferenceType> getBounds();
  30. /**
  31. * Returns the type, method, or constructor declaration within which
  32. * this type parameter is declared.
  33. *
  34. * @return the declaration within which this type parameter is declared
  35. */
  36. Declaration getOwner();
  37. }