Interface IType


  • 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.

    Version:
    2.5
    Author:
    Pascal Filion
    Since:
    2.3
    • Field Summary

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

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.lang.Iterable<IConstructor> constructors()
      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.
      java.lang.String[] getEnumConstants()
      If this IType represents an Enum type, then this method should returns the name of the constants.
      java.lang.String getName()
      Returns the fully qualified class name.
      ITypeDeclaration getTypeDeclaration()
      Returns the declaration of the Java class, which gives the information about type parameters, dimensionality, etc.
      boolean hasAnnotation​(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
      Determines whether the given annotation is present on this type.
      boolean isAssignableTo​(IType type)
      Determines whether this type is an instance of the given type.
      boolean isEnum()
      Determines whether this IType represents an Enum.
      boolean isResolvable()
      Determines whether this Java type actually exists.
    • Method Detail

      • constructors

        java.lang.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

        java.lang.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

        java.lang.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​(java.lang.Class<? extends java.lang.annotation.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