Package zeroecho.core.annotation


package zeroecho.core.annotation
Provides metadata contracts and annotations for cryptographic algorithms and specifications.

This package offers simple mechanisms for attaching human-readable labels to classes, specifications, or capabilities. The metadata is intended for display, diagnostics, and serialization, helping avoid exposure of internal class names or verbose toString() output.

Key elements

  • Describable - interface for supplying a concise, human-readable description string.
  • DisplayName - annotation that associates a type with a stable, human-friendly label preferred by catalogs and UIs.

Usage notes

  • Annotate user-facing types with the display-name annotation to keep labels stable even if class names change.
  • Have specification objects implement the description interface to provide short, precise labels for configuration and documentation.
  • Consumers should prefer the display-name label when present; otherwise use the provided description, then fall back to the class name.

Design philosophy

  • Metadata must never include sensitive information such as keys or raw secrets.
  • These constructs are for human-facing contexts (logs, configuration dumps, UIs), not for protocol negotiation or security decisions.
  • Separating descriptive metadata from functional APIs keeps labels stable and predictable without impacting core security behavior.
Since:
1.0
  • Class
    Description
    Defines a contract for objects that can provide a concise, human-readable description.
    Declares a human-friendly display name for a class, specification, or capability.