public interface IType
The external representation of a Java type.

Provisional API: This interface is part of an interim API that is still under development and expected to change significantly before reaching stability. It is available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.

Since:
2.3
Version:
2.5
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Special constant used to specify this IType represents an unresolvable type, or simply an unknown type.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the external representation of the Java class's constructors.
    boolean
    equals(IType type)
    Determines whether the given type represents the same Java type thank this one.
    If this IType represents an Enum type, then this method should returns the name of the constants.
    Returns the fully qualified class name.
    Returns the declaration of the Java class, which gives the information about type parameters, dimensionality, etc.
    boolean
    hasAnnotation(Class<? extends Annotation> annotationType)
    Determines whether the given annotation is present on this type.
    boolean
    Determines whether this type is an instance of the given type.
    boolean
    Determines whether this IType represents an Enum.
    boolean
    Determines whether this Java type actually exists.
  • Field Details

  • Method Details

    • constructors

      Iterable<IConstructor> constructors()
      Returns the external representation of the Java class's constructors. All public, protected, default (package) access, and private constructors should be included.
      Returns:
      The declared constructors
    • equals

      boolean equals(IType type)
      Determines whether the given type represents the same Java type thank this one.

      Note: Object.hashCode() needs to be overridden.

      Parameters:
      type - The type to compare with this one
      Returns:
      true if the given type and this one represents the same Java type; false otherwise
    • getEnumConstants

      String[] getEnumConstants()
      If this IType represents an Enum type, then this method should returns the name of the constants.
      Returns:
      The name of the Enum constant or an empty list if the type is not an Enum
    • getName

      String getName()
      Returns the fully qualified class name.
      Returns:
      The name of the class represented by this one
    • getTypeDeclaration

      ITypeDeclaration getTypeDeclaration()
      Returns the declaration of the Java class, which gives the information about type parameters, dimensionality, etc.
      Returns:
      The external form of the class' type declaration
    • hasAnnotation

      boolean hasAnnotation(Class<? extends Annotation> annotationType)
      Determines whether the given annotation is present on this type.
      Parameters:
      annotationType - The class of the annotation
      Returns:
      true if the annotation is defined on this type; false otherwise
    • isAssignableTo

      boolean isAssignableTo(IType type)
      Determines whether this type is an instance of the given type.
      Parameters:
      type - The type used to determine if the class represented by this external form is an instance of with one
      Returns:
      true if this type is an instance of the given type; false otherwise
    • isEnum

      boolean isEnum()
      Determines whether this IType represents an Enum.
      Returns:
      true if this is an Enum; false otherwise
    • isResolvable

      boolean isResolvable()
      Determines whether this Java type actually exists.
      Returns:
      true if the actual Java type can be located on the application's class path; false if it could not be found