Class DefaultJavaWildcardType

java.lang.Object
com.thoughtworks.qdox.model.impl.DefaultJavaType
com.thoughtworks.qdox.model.impl.DefaultJavaWildcardType
All Implemented Interfaces:
JavaAnnotatedElement, JavaClass, JavaGenericDeclaration, JavaModel, JavaType, JavaWildcardType, Serializable

public class DefaultJavaWildcardType extends DefaultJavaType implements JavaWildcardType
Equivalent of WildcardType This class supports both the 'super' and 'extends' wildcards. For <?> you must use the normal Type, because ? itself can't be generic
See Also:
  • Field Details

  • Constructor Details

  • Method Details

    • getFullyQualifiedName

      public String getFullyQualifiedName()
      Description copied from class: DefaultJavaType
      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 translated
       Object > java.lang.Object
       java.util.List > java.util.List
       ?  > ?
       T  > T
       anypackage.Outer.Inner > anypackage.Outer.Inner
       String[][] > java.lang.String[][]
       
      Specified by:
      getFullyQualifiedName in interface JavaType
      Overrides:
      getFullyQualifiedName in class DefaultJavaType
      Returns:
      the fully qualified name, never null
      See Also:
    • getGenericValue

      public String getGenericValue()
      Description copied from class: DefaultJavaType
      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>"
       
      Specified by:
      getGenericValue in interface JavaType
      Overrides:
      getGenericValue in class DefaultJavaType
      Returns:
      the generic name of the class as used in the source
    • getGenericFullyQualifiedName

      public String getGenericFullyQualifiedName()
      Description copied from class: DefaultJavaType
      The fully qualified name with generic information.
      Specified by:
      getGenericFullyQualifiedName in interface JavaType
      Overrides:
      getGenericFullyQualifiedName in class DefaultJavaType
      Returns:
      the generic fully qualified name
    • getCanonicalName

      public String getCanonicalName()
      Description copied from class: DefaultJavaType
      Equivalent of (@link Class.getCanonicalName().
      Specified by:
      getCanonicalName in interface JavaType
      Overrides:
      getCanonicalName in class DefaultJavaType
      Returns:
      the canonical name of this class
    • getGenericCanonicalName

      public String getGenericCanonicalName()
      Description copied from class: DefaultJavaType
      The canonical name with generic information.
      Specified by:
      getGenericCanonicalName in interface JavaType
      Overrides:
      getGenericCanonicalName in class DefaultJavaType
      Returns:
      the generic canonical name
    • getValue

      public String getValue()
      Description copied from class: DefaultJavaType
      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"
       
      Specified by:
      getValue in interface JavaType
      Overrides:
      getValue in class DefaultJavaType
      Returns:
      the name of the class as used in the source
    • toGenericString

      public String toGenericString()
      Description copied from class: DefaultJavaType
      Returns getGenericValue() extended with the array information
       Object > java.lang.Object
       Object[] > java.lang.Object[]
       List<Object> > java.lang.List<java.lang.Object>
       Outer.Inner > Outer$Inner
       Outer.Inner<Object>[][] > Outer$Inner<java.lang.Object>[][] 
       
      Specified by:
      toGenericString in interface JavaType
      Overrides:
      toGenericString in class DefaultJavaType
      Returns:
      a generic string representation of this type.
    • getPreparedStringBuilder

      private StringBuilder getPreparedStringBuilder()