Package com.thoughtworks.qdox.model
Interface JavaType
-
- All Known Subinterfaces:
JavaClass
,JavaParameter
,JavaParameterizedType
,JavaTypeVariable<D>
,JavaWildcardType
- All Known Implementing Classes:
DefaultJavaClass
,DefaultJavaParameter
,DefaultJavaParameterizedType
,DefaultJavaType
,DefaultJavaTypeVariable
,DefaultJavaWildcardType
public interface JavaType
Equivalent ofType
.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.lang.String
getBinaryName()
The class or interface must be named by its binary name, which must meet the following constraints: The binary name of a top level type is its canonical name. The binary name of a member type consists of the binary name of its immediately enclosing type, followed by $, followed by the simple name of the member.java.lang.String
getCanonicalName()
Equivalent of (@linkClass.getCanonicalName()
.java.lang.String
getFullyQualifiedName()
Every primitive type, named package, top level class, and top level interface has a fully qualified name: The fully qualified name of a primitive type is the keyword for that primitive type, namely byte, short, char, int, long, float, double, or boolean. The fully qualified name of a named package that is not a subpackage of a named package is its simple name. The fully qualified name of a named package that is a subpackage of another named package consists of the fully qualified name of the containing package, followed by ".", followed by the simple (member) name of the subpackage. The fully qualified name of a top level class or top level interface that is declared in an unnamed package is the simple name of the class or interface. The fully qualified name of a top level class or top level interface that is declared in a named package consists of the fully qualified name of the package, followed by ".", followed by the simple name of the class or interface. Each member class, member interface, and array type may have a fully qualified name: A member class or member interface M of another class or interface C has a fully qualified name if and only if C has a fully qualified name. In that case, the fully qualified name of M consists of the fully qualified name of C, followed by ".", followed by the simple name of M. An array type has a fully qualified name if and only if its element type has a fully qualified name. In that case, the fully qualified name of an array type consists of the fully qualified name of the component type of the array type followed by "[]". Some examples how names will be translatedjava.lang.String
getGenericCanonicalName()
The canonical name with generic information.java.lang.String
getGenericFullyQualifiedName()
The fully qualified name with generic information.java.lang.String
getGenericValue()
A java5+ representation of the class.java.lang.String
getValue()
If there's a reference to this class, use the value used in the code.java.lang.String
toGenericString()
-
-
-
Method Detail
-
getBinaryName
java.lang.String getBinaryName()
The class or interface must be named by its binary name, which must meet the following constraints:
- The binary name of a top level type is its canonical name.
- The binary name of a member type consists of the binary name of its immediately enclosing type, followed by $, followed by the simple name of the member.
- Returns:
- the binary name
- Since:
- 2.0
- See Also:
- https://docs.oracle.com/javase/specs/jls/se8/html/jls-13.html#jls-13.1
-
getCanonicalName
java.lang.String getCanonicalName()
Equivalent of (@linkClass.getCanonicalName()
.- Returns:
- the canonical name of this class
-
getGenericCanonicalName
java.lang.String getGenericCanonicalName()
The canonical name with generic information.- Returns:
- the generic canonical name
-
getFullyQualifiedName
java.lang.String getFullyQualifiedName()
Every primitive type, named package, top level class, and top level interface has a fully qualified name:
Some examples how names will be translated- The fully qualified name of a primitive type is the keyword for that primitive type, namely byte, short, char, int, long, float, double, or boolean.
- The fully qualified name of a named package that is not a subpackage of a named package is its simple name.
- The fully qualified name of a named package that is a subpackage of another named package consists of the fully qualified name of the containing package, followed by ".", followed by the simple (member) name of the subpackage.
- The fully qualified name of a top level class or top level interface that is declared in an unnamed package is the simple name of the class or interface.
- The fully qualified name of a top level class or top level interface that is declared in a named package consists of the fully qualified name of the package, followed by ".", followed by the simple name of the class or interface.
- A member class or member interface M of another class or interface C has a fully qualified name if and only if C has a fully qualified name.
- In that case, the fully qualified name of M consists of the fully qualified name of C, followed by ".", followed by the simple name of M.
- An array type has a fully qualified name if and only if its element type has a fully qualified name.
- In that case, the fully qualified name of an array type consists of the fully qualified name of the component type of the array type followed by "[]".
Object > java.lang.Object java.util.List > java.util.List ? > ? T > T anypackage.Outer.Inner > anypackage.Outer.Inner String[][] > java.lang.String[][]
- Returns:
- the fully qualified name, never
null
- See Also:
JavaClass.getComponentType()
,getBinaryName()
, https://docs.oracle.com/javase/specs/jls/se8/html/jls-6.html#jls-6.7
-
getGenericFullyQualifiedName
java.lang.String getGenericFullyQualifiedName()
The fully qualified name with generic information.- Returns:
- the generic fully qualified name
-
getValue
java.lang.String getValue()
If there's a reference to this class, use the value used in the code. Otherwise return the simple name. When including all imports, you should be safe to use this method. This won't return generics, so it's java1.4 safe. Examples:private String fieldA; // getValue() will return "String" private java.lang.String fieldA; // getValue() will return "java.lang.String" private List>String> aList; // getValue() will return "List"
- Returns:
- the name of the class as used in the source
-
getGenericValue
java.lang.String getGenericValue()
A java5+ representation of the class. When including all imports, you should be safe to use this method. Examples:private String fieldA; // getValue() will return "String" private java.lang.String fieldA; // getValue() will return "java.lang.String" private List>String> aList; // getValue() will return "List>String>"
- Returns:
- the generic name of the class as used in the source
-
toGenericString
java.lang.String toGenericString()
-
-