Class JavaClass

All Implemented Interfaces:
JavaClassParent, Serializable, Comparable

public class JavaClass extends AbstractInheritableJavaEntity implements JavaClassParent
Author:
Joe Walnes, Aslak Hellesøy
See Also:
  • Constructor Details

    • JavaClass

      public JavaClass()
    • JavaClass

      public JavaClass(String name)
  • Method Details

    • setJavaClassContext

      public void setJavaClassContext(JavaClassContext context)
    • isInterface

      public boolean isInterface()
      is interface? (otherwise enum or class)
    • isEnum

      public boolean isEnum()
      is enum? (otherwise class or interface)
    • getSuperClass

      public Type getSuperClass()
    • getSuperJavaClass

      public JavaClass getSuperJavaClass()
      Shorthand for getSuperClass().getJavaClass() with null checking.
    • getImplements

      public Type[] getImplements()
    • getImplementedInterfaces

      public JavaClass[] getImplementedInterfaces()
      Since:
      1.3
    • writeBody

      protected void writeBody(IndentBuffer result)
      Specified by:
      writeBody in class AbstractJavaEntity
    • setInterface

      public void setInterface(boolean interfce)
    • setEnum

      public void setEnum(boolean isEnum)
    • setAnnotation

      public void setAnnotation(boolean isAnnotation)
    • addMethod

      public void addMethod(JavaMethod meth)
    • setSuperClass

      public void setSuperClass(Type type)
    • setImplementz

      public void setImplementz(Type[] implementz)
    • getTypeParameters

      public TypeVariable[] getTypeParameters()
    • setTypeParameters

      public void setTypeParameters(TypeVariable[] typeParameters)
    • addField

      public void addField(JavaField javaField)
    • setJavaPackage

      public void setJavaPackage(JavaPackage javaPackage)
      Only used when constructing the model by hand / without source
      Parameters:
      javaPackage -
    • setSource

      public void setSource(JavaSource source)
    • getParentSource

      public JavaSource getParentSource()
      Specified by:
      getParentSource in interface JavaClassParent
    • getSource

      public JavaSource getSource()
      Overrides:
      getSource in class AbstractJavaEntity
    • getPackage

      public JavaPackage getPackage()
    • getParent

      public JavaClassParent getParent()
      Overrides:
      getParent in class AbstractBaseJavaEntity
      Returns:
    • getPackageName

      public String getPackageName()
      If this class has a package, the packagename will be returned. Otherwise an empty String.
      Returns:
    • getFullyQualifiedName

      public String getFullyQualifiedName()
    • isInner

      public boolean isInner()
      Since:
      1.3
    • resolveType

      public String resolveType(String typeName)
      Description copied from interface: JavaClassParent
      Resolve a type-name within the context of this source or class.
      Specified by:
      resolveType in interface JavaClassParent
      Parameters:
      typeName - name of a type
      Returns:
      the fully-qualified name of the type, or null if it cannot be resolved
    • getJavaClassContext

      public JavaClassContext getJavaClassContext()
      Specified by:
      getJavaClassContext in interface JavaClassParent
    • getClassNamePrefix

      public String getClassNamePrefix()
      Specified by:
      getClassNamePrefix in interface JavaClassParent
    • asType

      public Type asType()
    • getMethods

      public JavaMethod[] getMethods()
    • getMethods

      public JavaMethod[] getMethods(boolean superclasses)
      Since:
      1.3
    • getMethodBySignature

      public JavaMethod getMethodBySignature(String name, Type[] parameterTypes)
      Parameters:
      name - method name
      parameterTypes - parameter types or null if there are no parameters.
      Returns:
      the matching method or null if no match is found.
    • getMethod

      public JavaMethod getMethod(String name, Type[] parameterTypes, boolean varArgs)
      This should be the signature for getMethodBySignature
      Parameters:
      name -
      parameterTypes -
      varArgs -
      Returns:
    • getMethodBySignature

      public JavaMethod getMethodBySignature(String name, Type[] parameterTypes, boolean superclasses)
      Parameters:
      name -
      parameterTypes -
      superclasses -
      Returns:
    • getMethodBySignature

      public JavaMethod getMethodBySignature(String name, Type[] parameterTypes, boolean superclasses, boolean varArg)
      Parameters:
      name -
      parameterTypes -
      superclasses -
      varArg -
      Returns:
    • getMethodsBySignature

      public JavaMethod[] getMethodsBySignature(String name, Type[] parameterTypes, boolean superclasses)
      Parameters:
      name -
      parameterTypes -
      superclasses -
      Returns:
    • getMethodsBySignature

      public JavaMethod[] getMethodsBySignature(String name, Type[] parameterTypes, boolean superclasses, boolean varArg)
      Parameters:
      name -
      parameterTypes -
      superclasses -
      varArg -
      Returns:
    • getFields

      public JavaField[] getFields()
    • getFieldByName

      public JavaField getFieldByName(String name)
    • addClass

      public void addClass(JavaClass cls)
      Specified by:
      addClass in interface JavaClassParent
    • getClasses

      public JavaClass[] getClasses()
      Deprecated.
      Use getNestedClasses() instead.
    • getNestedClasses

      public JavaClass[] getNestedClasses()
      Since:
      1.3
    • getNestedClassByName

      public JavaClass getNestedClassByName(String name)
      Specified by:
      getNestedClassByName in interface JavaClassParent
    • getInnerClasses

      public JavaClass[] getInnerClasses()
      Deprecated.
      old name for getNestedClasses()
    • getInnerClassByName

      public JavaClass getInnerClassByName(String name)
      Deprecated.
    • isA

      public boolean isA(String fullClassName)
      Since:
      1.3
    • isA

      public boolean isA(JavaClass javaClass)
      Since:
      1.3
    • getBeanProperties

      public BeanProperty[] getBeanProperties()
      Gets bean properties without looking in superclasses or interfaces.
      Since:
      1.3
    • getBeanProperties

      public BeanProperty[] getBeanProperties(boolean superclasses)
      Since:
      1.3
    • getBeanProperty

      public BeanProperty getBeanProperty(String propertyName)
      Gets bean property without looking in superclasses or interfaces.
      Since:
      1.3
    • getBeanProperty

      public BeanProperty getBeanProperty(String propertyName, boolean superclasses)
      Since:
      1.3
    • getDerivedClasses

      public JavaClass[] getDerivedClasses()
      Gets the known derived classes. That is, subclasses or implementing classes.
    • getTagsByName

      public DocletTag[] getTagsByName(String name, boolean superclasses)
      Specified by:
      getTagsByName in class AbstractInheritableJavaEntity
    • compareTo

      public int compareTo(Object o)
      Specified by:
      compareTo in interface Comparable
    • toString

      public String toString()
      Overrides:
      toString in class Object