Package com.thoughtworks.qdox.model.impl
Class DefaultJavaTypeVariable<D extends JavaGenericDeclaration>
- java.lang.Object
-
- com.thoughtworks.qdox.model.impl.DefaultJavaType
-
- com.thoughtworks.qdox.model.impl.DefaultJavaTypeVariable<D>
-
- All Implemented Interfaces:
JavaAnnotatedElement,JavaClass,JavaGenericDeclaration,JavaModel,JavaType,JavaTypeVariable<D>,java.io.Serializable
public class DefaultJavaTypeVariable<D extends JavaGenericDeclaration> extends DefaultJavaType implements JavaTypeVariable<D>
Equivalent ofTypeVariable- Since:
- 1.10
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<JavaType>boundsprivate DgenericDeclaration-
Fields inherited from class com.thoughtworks.qdox.model.impl.DefaultJavaType
fullName, name
-
-
Constructor Summary
Constructors Constructor Description DefaultJavaTypeVariable(java.lang.String name, TypeResolver typeResolver)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.List<JavaType>getBounds()java.lang.StringgetCanonicalName()Equivalent of (@linkClass.getCanonicalName().java.lang.StringgetFullyQualifiedName()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.StringgetGenericCanonicalName()The canonical name with generic information.DgetGenericDeclaration()java.lang.StringgetGenericFullyQualifiedName()The fully qualified name with generic information.java.lang.StringgetGenericValue()A java5+ representation of the class.java.lang.StringgetName()Equivalent ofClass.getName().voidsetBounds(java.util.List<JavaType> bounds)-
Methods inherited from class com.thoughtworks.qdox.model.impl.DefaultJavaType
equals, getAnnotations, getBeanProperties, getBeanProperties, getBeanProperty, getBeanProperty, getBinaryName, getCodeBlock, getComment, getComponentType, getConstructor, getConstructor, getConstructors, getDeclaringClass, getDerivedClasses, getDimensions, getEnumConstantByName, getEnumConstants, getFieldByName, getFields, getGenericValue, getImplements, getInitializers, getInterfaces, getJavaClassLibrary, getLineNumber, getMethod, getMethodBySignature, getMethodBySignature, getMethodBySignature, getMethods, getMethods, getMethodsBySignature, getMethodsBySignature, getModifiers, getNamedParameter, getNestedClassByName, getNestedClasses, getPackage, getPackageName, getParentSource, getResolvedFullyQualifiedName, getResolvedGenericFullyQualifiedName, getResolvedGenericValue, getResolvedValue, getSimpleName, getSource, getSuperClass, getSuperJavaClass, getTagByName, getTags, getTagsByName, getTagsByName, getTypeParameters, getValue, hashCode, isA, isA, isA, isAbstract, isAnnotation, isArray, isEnum, isFinal, isInner, isInterface, isPrimitive, isPrivate, isProtected, isPublic, isResolved, isStatic, isVoid, resolve, resolve, toGenericString, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.thoughtworks.qdox.model.JavaType
getBinaryName, getValue, toGenericString
-
-
-
-
Field Detail
-
bounds
private java.util.List<JavaType> bounds
-
genericDeclaration
private D extends JavaGenericDeclaration genericDeclaration
-
-
Constructor Detail
-
DefaultJavaTypeVariable
public DefaultJavaTypeVariable(java.lang.String name, TypeResolver typeResolver)
-
-
Method Detail
-
getBounds
public java.util.List<JavaType> getBounds()
- Specified by:
getBoundsin interfaceJavaTypeVariable<D extends JavaGenericDeclaration>
-
setBounds
public void setBounds(java.util.List<JavaType> bounds)
- Parameters:
bounds- the bounds to set
-
getGenericDeclaration
public D getGenericDeclaration()
- Specified by:
getGenericDeclarationin interfaceJavaTypeVariable<D extends JavaGenericDeclaration>
-
getFullyQualifiedName
public java.lang.String getFullyQualifiedName()
Description copied from class:DefaultJavaTypeEvery 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[][]
- Specified by:
getFullyQualifiedNamein interfaceJavaType- Overrides:
getFullyQualifiedNamein classDefaultJavaType- Returns:
- the fully qualified name, never
null - See Also:
JavaClass.getComponentType(),JavaType.getBinaryName(), https://docs.oracle.com/javase/specs/jls/se8/html/jls-6.html#jls-6.7
-
getGenericFullyQualifiedName
public java.lang.String getGenericFullyQualifiedName()
Description copied from class:DefaultJavaTypeThe fully qualified name with generic information.- Specified by:
getGenericFullyQualifiedNamein interfaceJavaType- Overrides:
getGenericFullyQualifiedNamein classDefaultJavaType- Returns:
- the generic fully qualified name
-
getCanonicalName
public java.lang.String getCanonicalName()
Description copied from class:DefaultJavaTypeEquivalent of (@linkClass.getCanonicalName().- Specified by:
getCanonicalNamein interfaceJavaType- Overrides:
getCanonicalNamein classDefaultJavaType- Returns:
- the canonical name of this class
-
getGenericCanonicalName
public java.lang.String getGenericCanonicalName()
Description copied from class:DefaultJavaTypeThe canonical name with generic information.- Specified by:
getGenericCanonicalNamein interfaceJavaType- Overrides:
getGenericCanonicalNamein classDefaultJavaType- Returns:
- the generic canonical name
-
getGenericValue
public java.lang.String getGenericValue()
Description copied from class:DefaultJavaTypeA 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>"
- Specified by:
getGenericValuein interfaceJavaType- Overrides:
getGenericValuein classDefaultJavaType- Returns:
- the generic name of the class as used in the source
-
getName
public java.lang.String getName()
Description copied from class:DefaultJavaTypeEquivalent ofClass.getName().- Specified by:
getNamein interfaceJavaClass- Specified by:
getNamein interfaceJavaTypeVariable<D extends JavaGenericDeclaration>- Overrides:
getNamein classDefaultJavaType- Returns:
- the name of the entity (class, interface, array class, primitive type, or void) represented by this Class object, as a String.
-
-