org.eclipse.jpt.utility
Interface JavaType

All Superinterfaces:
java.lang.Comparable<JavaType>

public interface JavaType
extends java.lang.Comparable<JavaType>

This interface describes a Java type; i.e. its "element type" and its "array depth". The element type is referenced by name, allowing us to reference classes that are not (or cannot be) loaded. 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. This interface is not intended to be implemented by clients.


Method Summary
 void appendDeclarationTo(java.lang.StringBuilder sb)
          Append the version of the type's name that can be used in source code: "[[J" => "long[][]" "java.util.Map$Entry" => "java.util.Map.Entry"
 java.lang.String declaration()
          Return the version of the type's name that can be used in source code: "[[J" => "long[][]" "java.util.Map$Entry" => "java.util.Map.Entry"
 boolean describes(java.lang.Class<?> javaClass)
           
 boolean describes(java.lang.String className)
           
 boolean equals(JavaType other)
           
 boolean equals(java.lang.String otherElementTypeName, int otherArrayDepth)
           
 int getArrayDepth()
          Return the type's "array depth".
 java.lang.String getElementTypeName()
          Return the name of the type's "element type".
 java.lang.Class<?> getJavaClass()
          Return the class corresponding to the type's element type and array depth.
 java.lang.String getJavaClassName()
          Return the version of the type's name that matches that returned by java.lang.Class#getName() (e.g.
 boolean isArray()
           
 boolean isPrimitive()
          NB: void.class.isPrimitive() == true
 boolean isPrimitiveWrapper()
          NB: void.class.isPrimitive() == true
 boolean isVariablePrimitive()
          NB: variables cannot be declared 'void'
 boolean isVariablePrimitiveWrapper()
          NB: variables cannot be declared 'void'
 void printDeclarationOn(java.io.PrintWriter pw)
          Print the version of the type's name that can be used in source code: "[[J" => "long[][]" "java.util.Map$Entry" => "java.util.Map.Entry"
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Method Detail

getElementTypeName

java.lang.String getElementTypeName()
Return the name of the type's "element type". A member type will have one or more '$' characters in its name.


getArrayDepth

int getArrayDepth()
Return the type's "array depth".


isArray

boolean isArray()

isPrimitive

boolean isPrimitive()
NB: void.class.isPrimitive() == true


isPrimitiveWrapper

boolean isPrimitiveWrapper()
NB: void.class.isPrimitive() == true


isVariablePrimitive

boolean isVariablePrimitive()
NB: variables cannot be declared 'void'


isVariablePrimitiveWrapper

boolean isVariablePrimitiveWrapper()
NB: variables cannot be declared 'void'


getJavaClass

java.lang.Class<?> getJavaClass()
                                throws java.lang.ClassNotFoundException
Return the class corresponding to the type's element type and array depth.

Throws:
java.lang.ClassNotFoundException

getJavaClassName

java.lang.String getJavaClassName()
Return the version of the type's name that matches that returned by java.lang.Class#getName() (e.g. "[[J", "[Ljava.lang.Object;", "java.util.Map$Entry").


equals

boolean equals(java.lang.String otherElementTypeName,
               int otherArrayDepth)

describes

boolean describes(java.lang.String className)

describes

boolean describes(java.lang.Class<?> javaClass)

equals

boolean equals(JavaType other)

declaration

java.lang.String declaration()
Return the version of the type's name that can be used in source code: "[[J" => "long[][]" "java.util.Map$Entry" => "java.util.Map.Entry"


appendDeclarationTo

void appendDeclarationTo(java.lang.StringBuilder sb)
Append the version of the type's name that can be used in source code: "[[J" => "long[][]" "java.util.Map$Entry" => "java.util.Map.Entry"


printDeclarationOn

void printDeclarationOn(java.io.PrintWriter pw)
Print the version of the type's name that can be used in source code: "[[J" => "long[][]" "java.util.Map$Entry" => "java.util.Map.Entry"