Class JArrayClass

All Implemented Interfaces:
JGenerable, Comparable<JType>

final class JArrayClass extends JClass
Array class.
  • Field Details

    • componentType

      private final JType componentType
  • Constructor Details

  • Method Details

    • name

      public String name()
      Description copied from class: JClass
      Gets the name of this class.
      Specified by:
      name in class JClass
      Returns:
      name of this class, without any qualification. For example, this method returns "String" for java.lang.String.
    • fullName

      public String fullName()
      Description copied from class: JType
      Gets the full name of the type. See http://java.sun.com/docs/books/jls/second_edition/html/names.doc.html#25430 for the details.
      Specified by:
      fullName in class JType
      Returns:
      Strings like "int", "java.lang.String", "java.io.File[]". Never null.
    • binaryName

      public String binaryName()
      Description copied from class: JType
      Gets the binary name of the type. See http://java.sun.com/docs/books/jls/third_edition/html/binaryComp.html#44909
      Overrides:
      binaryName in class JType
      Returns:
      Name like "Foo$Bar", "int", "java.lang.String", "java.io.File[]". Never null.
    • generate

      public void generate(JFormatter f)
      Specified by:
      generate in interface JGenerable
      Overrides:
      generate in class JClass
    • _package

      public JPackage _package()
      Description copied from class: JClass
      Gets the package to which this class belongs. TODO: shall we move move this down?
      Specified by:
      _package in class JClass
    • _extends

      public JClass _extends()
      Description copied from class: JClass
      Gets the super class of this class.
      Specified by:
      _extends in class JClass
      Returns:
      Returns the JClass representing the superclass of the entity (class or interface) represented by this JClass. Even if no super class is given explicitly or this JClass is not a class, this method still returns JClass for Object. If this JClass represents Object, return null.
    • _implements

      public Iterator<JClass> _implements()
      Description copied from class: JClass
      Iterates all super interfaces directly implemented by this class/interface.
      Specified by:
      _implements in class JClass
      Returns:
      A non-null valid iterator that iterates all JClass objects that represents those interfaces implemented by this object.
    • isInterface

      public boolean isInterface()
      Description copied from class: JClass
      Checks if this object represents an interface.
      Specified by:
      isInterface in class JClass
    • isAbstract

      public boolean isAbstract()
      Description copied from class: JClass
      Checks if this class is an abstract class.
      Specified by:
      isAbstract in class JClass
    • elementType

      public JType elementType()
      Description copied from class: JType
      If this is an array, returns the component type of the array. (T of T[])
      Overrides:
      elementType in class JType
    • isArray

      public boolean isArray()
      Description copied from class: JType
      Tell whether or not this is an array type.
      Overrides:
      isArray in class JType
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • substituteParams

      protected JClass substituteParams(JTypeVar[] variables, List<JClass> bindings)
      Description copied from class: JClass
      Substitutes the type variables with their actual arguments.

      For example, when this class is Map<String,Map<V>>, (where V then doing substituteParams( V, Integer ) returns a JClass for Map<String,Map<Integer>>.

      This method needs to work recursively.

      Specified by:
      substituteParams in class JClass