Package: org.codehaus.groovy.groovydoc

## [Java] Interface GroovyClassDoc

- org.codehaus.groovy.groovydoc.GroovyType

- All Superinterfaces:
    GroovyProgramElementDoc, GroovyDoc, GroovyType

      public interface GroovyClassDoc
      extends GroovyProgramElementDoc, GroovyType

  Describes a Groovy type together with the members and relationships needed to render its documentation.

- - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `public GroovyConstructorDoc[]` | `constructors()` Returns the constructors declared by this type.
    `` | `public GroovyConstructorDoc[]` | `constructors(boolean filter)` Returns the constructors declared by this type, optionally applying the active visibility filter.
    `` | `public boolean` | `definesSerializableFields()` Indicates whether this type explicitly defines serializable fields metadata.
    `` | `public GroovyFieldDoc[]` | `enumConstants()` Returns the enum constants declared by this type.
    `` | `public GroovyFieldDoc[]` | `fields()` Returns the fields declared by this type.
    `` | `public GroovyFieldDoc[]` | `fields(boolean filter)` Returns the fields declared by this type, optionally applying the active visibility filter.
    `` | `public GroovyClassDoc` | `findClass(String className)` Resolves a referenced class name from the context of this type.
    `` | `public String` | `getFullPathName()`
    `` | `public String` | `getRelativeRootPath()`
    `` | `public GroovyClassDoc[]` | `importedClasses()` Returns the explicitly imported classes visible to this type.
    `` | `public GroovyPackageDoc[]` | `importedPackages()` Returns the imported packages visible to this type.
    `` | `public GroovyClassDoc[]` | `innerClasses()` Returns the nested classes declared by this type.
    `` | `public GroovyClassDoc[]` | `innerClasses(boolean filter)` Returns the nested classes declared by this type, optionally applying the active visibility filter.
    `` | `public GroovyType[]` | `interfaceTypes()` Returns the interface types directly implemented or extended by this type.
    `` | `public GroovyClassDoc[]` | `interfaces()` Returns the interfaces directly implemented or extended by this type.
    `` | `public boolean` | `isAbstract()` Indicates whether this type is declared abstract.
    `` | `public boolean` | `isExternalizable()` Indicates whether this type implements Externalizable.
    `` | `public boolean` | `isSerializable()` Indicates whether this type implements Serializable.
    `` | `public GroovyMethodDoc[]` | `methods()` Returns the methods declared by this type.
    `` | `public GroovyMethodDoc[]` | `methods(boolean filter)` Returns the methods declared by this type, optionally applying the active visibility filter.
    `` | `public GroovyFieldDoc[]` | `properties()` Returns the Groovy properties declared by this type.
    `` | `public GroovyFieldDoc[]` | `serializableFields()` Returns the fields that participate in serialization.
    `` | `public GroovyMethodDoc[]` | `serializationMethods()` Returns the methods related to custom serialization.
    `` | `public boolean` | `subclassOf(GroovyClassDoc gcd)` Determines whether this type is a subclass of the supplied candidate.
    `` | `public GroovyClassDoc` | `superclass()` Returns the direct superclass of this type.
    `` | `public GroovyType` | `superclassType()` Returns the direct superclass as a type reference.

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `interface GroovyProgramElementDoc` | `annotations, containingClass, containingPackage, isFinal, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic, modifierSpecifier, modifiers, qualifiedName`
    `interface GroovyType` | `isPrimitive, qualifiedTypeName, simpleTypeName, toString, typeName`

- - ### Method Detail

    - #### public GroovyConstructorDoc[] constructors()

      Returns the constructors declared by this type.

      Returns:
        the declared constructors

    - #### public GroovyConstructorDoc[] constructors(boolean filter)

      Returns the constructors declared by this type, optionally applying the active visibility filter.

      Parameters:
        `filter` - `true` to include only visible constructors, `false` to include all constructors
      Returns:
        the matching constructors

    - #### public boolean definesSerializableFields()

      Indicates whether this type explicitly defines serializable fields metadata.

      Returns:
        `true` if serializable fields are defined explicitly

    - #### public GroovyFieldDoc[] enumConstants()

      Returns the enum constants declared by this type.

      Returns:
        the declared enum constants

    - #### public GroovyFieldDoc[] fields()

      Returns the fields declared by this type.

      Returns:
        the declared fields

    - #### public GroovyFieldDoc[] fields(boolean filter)

      Returns the fields declared by this type, optionally applying the active visibility filter.

      Parameters:
        `filter` - `true` to include only visible fields, `false` to include all fields
      Returns:
        the matching fields

    - #### public GroovyClassDoc findClass(String className)

      Resolves a referenced class name from the context of this type.

      Parameters:
        `className` - the class name to resolve
      Returns:
        the matching class documentation, or `null` if it cannot be resolved

    - #### public String getFullPathName()

    - #### public String getRelativeRootPath()

    - #### public GroovyClassDoc[] importedClasses()

      Returns the explicitly imported classes visible to this type.

      Returns:
        the imported classes

    - #### public GroovyPackageDoc[] importedPackages()

      Returns the imported packages visible to this type.

      Returns:
        the imported packages

    - #### public GroovyClassDoc[] innerClasses()

      Returns the nested classes declared by this type.

      Returns:
        the nested classes

    - #### public GroovyClassDoc[] innerClasses(boolean filter)

      Returns the nested classes declared by this type, optionally applying the active visibility filter.

      Parameters:
        `filter` - `true` to include only visible nested classes, `false` to include all nested classes
      Returns:
        the matching nested classes

    - #### public GroovyType[] interfaceTypes()

      Returns the interface types directly implemented or extended by this type.

      Returns:
        the direct interface types

    - #### public GroovyClassDoc[] interfaces()

      Returns the interfaces directly implemented or extended by this type.

      Returns:
        the direct interfaces

    - #### public boolean isAbstract()

      Indicates whether this type is declared abstract.

      Returns:
        `true` if this type is abstract

    - #### public boolean isExternalizable()

      Indicates whether this type implements Externalizable.

      Returns:
        `true` if this type is externalizable

    - #### public boolean isSerializable()

      Indicates whether this type implements Serializable.

      Returns:
        `true` if this type is serializable

    - #### public GroovyMethodDoc[] methods()

      Returns the methods declared by this type.

      Returns:
        the declared methods

    - #### public GroovyMethodDoc[] methods(boolean filter)

      Returns the methods declared by this type, optionally applying the active visibility filter.

      Parameters:
        `filter` - `true` to include only visible methods, `false` to include all methods
      Returns:
        the matching methods

    - #### public GroovyFieldDoc[] properties()

      Returns the Groovy properties declared by this type.

      Returns:
        the declared properties

    - #### public GroovyFieldDoc[] serializableFields()

      Returns the fields that participate in serialization.

      Returns:
        the serializable fields

    - #### public GroovyMethodDoc[] serializationMethods()

      Returns the methods related to custom serialization.

      Returns:
        the serialization methods

    - #### public boolean subclassOf(GroovyClassDoc gcd)

      Determines whether this type is a subclass of the supplied candidate.

      Parameters:
        `gcd` - the candidate superclass
      Returns:
        `true` if this type is a subclass of `gcd`

    - #### public GroovyClassDoc superclass()

      Returns the direct superclass of this type.

      Returns:
        the direct superclass, or `null` if none exists

    - #### public GroovyType superclassType()

      Returns the direct superclass as a type reference.

      Returns:
        the direct superclass type, or `null` if none exists