Annotation Interface WireField


@Documented @Retention(RUNTIME) @Target(RECORD_COMPONENT) public @interface WireField
Defines a stable numeric wire identity independent of the Java record component name. Every schema component must declare this annotation. Primitive components must be required. Optional scalar defaults are parsed and validated at compilation; absent defaults mean null.
  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
    int
    Returns the declared contract value.
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Returns the declared contract value.
    boolean
    Returns the declared contract value.
    boolean
    Returns the declared contract value.
  • Element Details

    • id

      int id
      Returns the declared contract value.
      Returns:
      positive wire ID, represented as canonical decimal by the D00 codec
    • required

      boolean required
      Returns the declared contract value.
      Returns:
      whether null or absent values are rejected
      Default:
      true
    • hasDefault

      boolean hasDefault
      Returns the declared contract value.
      Returns:
      whether defaultValue is explicitly provided; required fields cannot have defaults
      Default:
      false
    • defaultValue

      String defaultValue
      Returns the declared contract value.
      Returns:
      scalar default text; byte arrays and nested schemas cannot have non-null defaults
      Default:
      ""