Data for a Java class.

interface ClassData {
    deprecation: null | DeprecationContent;
    description: null | NodeContent;
    entityType: "class";
    extends: null | ExternalEntityData | ClassData;
    fields: Collection<string, FieldData<null | ClassData | InterfaceData>>;
    id: string;
    implements: Collection<string, ExternalEntityData | InterfaceData>;
    methods: Collection<string, MethodData<null | ClassData | InterfaceData>>;
    modifiers: Modifier[];
    name: string;
    package: PackageData;
    qualifiedName: string;
    signature: string;
    typeParameters: Collection<string, ObjectTypeParameterData>;
    url: string;
}

Hierarchy (View Summary)

Properties

deprecation: null | DeprecationContent

The class' deprecation notice, if any.

This property is always present if the class is deprecated, regardless of whether it the notice any description or not.

description: null | NodeContent

The entity's description, if any.

entityType: "class"

The entity's type.

extends: null | ExternalEntityData | ClassData

The class that this class extends, if any.

fields: Collection<string, FieldData<null | ClassData | InterfaceData>>

The class' fields, keyed by their {@link FieldData#qualifiedName}.

id: string

The entity's unique id (relative to others in the same context). Used as key in collections.

Specifically:

  • In classes, enums, interfaces, external objects and annotations: the qualifiedName.
  • In packages, enum constants, fields, method type parameters, object type parameters and parameters: the name.
  • In methods: the prototype, to avoid conflicts with overloaded methods.
implements: Collection<string, ExternalEntityData | InterfaceData>

The interfaces that this class implements, keyed by their InterfaceData#qualifiedName (or ExternalEntityData#qualifiedName).

methods: Collection<string, MethodData<null | ClassData | InterfaceData>>

The class' methods, keyed by their MethodData#prototype.

modifiers: Modifier[]

The class' modifiers.

name: string

The entity's name.

package: PackageData

The package that the class is in.

qualifiedName: string

The fully qualified name of the class (eg. java.lang.String).

signature: string

The entity's signature.

typeParameters: Collection<string, ObjectTypeParameterData>

The class' type parameters, keyed by their ObjectTypeParameterData#name.

url: string

The class's Javadocs URL.