Interface ResolvedTypeParameterDeclaration

All Superinterfaces:
ResolvedDeclaration, ResolvedTypeDeclaration

public interface ResolvedTypeParameterDeclaration extends ResolvedTypeDeclaration
Declaration of a type parameter. For example:

class A<E extends String>{}

In this case E would be a type parameter.

Author:
Federico Tomassetti
  • Method Details

    • onType

      Instantiate a TypeParameter defined on a Type with the given data.
    • getName

      String getName()
      Name of the type parameter.
      Specified by:
      getName in interface ResolvedDeclaration
    • declaredOnType

      default boolean declaredOnType()
      Is the type parameter been defined on a type?
    • declaredOnMethod

      default boolean declaredOnMethod()
      Is the type parameter been defined on a method?
    • declaredOnConstructor

      default boolean declaredOnConstructor()
      Is the type parameter been defined on a constructor?
    • getPackageName

      default String getPackageName()
      The package name of the type bound(s). This is unsupported because there is no package for a Type Parameter, only for its container.
      Specified by:
      getPackageName in interface ResolvedTypeDeclaration
    • getClassName

      default String getClassName()
      The class(es) wrapping the type bound(s). This is unsupported because there is no class for a Type Parameter, only for its container.
      Specified by:
      getClassName in interface ResolvedTypeDeclaration
    • getQualifiedName

      default String getQualifiedName()
      The qualified name of the Type Parameter. It is composed by the qualified name of the container followed by a dot and the name of the Type Parameter. The qualified name of a method is its qualified signature.
      Specified by:
      getQualifiedName in interface ResolvedTypeDeclaration
    • getContainerQualifiedName

      String getContainerQualifiedName()
      The qualified name of the container.
    • getContainerId

      String getContainerId()
      The ID of the container. See TypeContainer.getId
    • getContainer

      The TypeParametrizable of the container. Can be either a ReferenceTypeDeclaration or a MethodLikeDeclaration
    • getBounds

      The bounds specified for the type parameter. For example: "extends A" or "super B"
    • hasLowerBound

      default boolean hasLowerBound()
      Has the type parameter a lower bound?
    • hasUpperBound

      default boolean hasUpperBound()
      Has the type parameter an upper bound?
    • getLowerBound

      default ResolvedType getLowerBound()
      Get the type used as lower bound.
      Throws:
      IllegalStateException - if there is no lower bound
    • getUpperBound

      default ResolvedType getUpperBound()
      Get the type used as upper bound.
      Throws:
      IllegalStateException - if there is no upper bound
    • isBounded

      default boolean isBounded()
      Return true if the Type variable is bounded
    • isUnbounded

      default boolean isUnbounded()
      Return true if the Type variable is unbounded
    • object