Interface PartialAnnotationData

A partial AnnotationData.

interface PartialAnnotationData {
    deprecation: null | DeprecationContent;
    description: null | NodeContent;
    elements: Collection<string, AnnotationElementData>;
    entityType: "annotationInterface";
    id: string;
    name: string;
    partialPackage: PartialPackageData;
    qualifiedName: string;
    retention: null | RetentionPolicy;
    signature: string;
    target: null | ElementType;
    targets: ElementType[];
    url: string;
}

Hierarchy

Properties

deprecation: null | DeprecationContent

The annotation's deprecation notice, if any.

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

description: null | NodeContent

The entity's description, if any.

elements: Collection<string, AnnotationElementData>

The annotation's elements, keyed by their AnnotationElementData#name.

entityType: "annotationInterface"

The entity's type.

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.
name: string

The entity's name.

partialPackage: PartialPackageData
qualifiedName: string

The fully qualified name of the annotation (eg. java.lang.annotation.Retention).

retention: null | RetentionPolicy

The annotation's retention policy, if specified.

Even though this defaults to RetentionPolicyEnum.Class in Java runtime, given this library only scrapes Javadocs then if it isn't present it'll be set as null

signature: string

The entity's signature.

target: null | ElementType

The annotation's element type target, if there's only one.

Use targets instead.

targets: ElementType[]

The annotation's element type targets.

url: string

The annotation's Javadocs URL.