Interface IProtocolValue
- All Known Implementing Classes:
IProtocolValue.PBool,IProtocolValue.PDropped,IProtocolValue.PEnum,IProtocolValue.PList,IProtocolValue.PNumber,IProtocolValue.PRecord,IProtocolValue.PRef,IProtocolValue.PString,IProtocolValue.PUuid,IProtocolValue.PVec
public sealed interface IProtocolValue
permits IProtocolValue.PString, IProtocolValue.PNumber, IProtocolValue.PBool, IProtocolValue.PUuid, IProtocolValue.PEnum, IProtocolValue.PVec, IProtocolValue.PList, IProtocolValue.PRecord, IProtocolValue.PRef, IProtocolValue.PDropped
Typed wire envelope for structured payload values.
Every value crossing the agent protocol as part of a structured payload (e.g. captured event fields) is
one of these leaves. The envelope replaces flat string-only payloads: consumers receive real types, nesting
is explicit (IProtocolValue.PList, IProtocolValue.PRecord), identities travel as references (IProtocolValue.PRef), and values the
encoder cannot represent are reported as IProtocolValue.PDropped markers instead of being silently skipped.
Jackson uses the "type" JSON property to select the correct leaf during deserialization; adding a
leaf requires a new JsonSubTypes.Type entry and a permits entry here.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final recordA boolean value.static final recordA marker for a value the encoder could not represent — the fail-loud replacement for silently skipping it.static final recordAn enum constant.static final recordAn ordered list of values.static final recordA numeric value.static final recordA nested structured value: named fields, insertion-ordered.static final recordA reference to an identifiable object (e.g. an entity by UUID or a world by name) rather than its contents.static final recordA text value.static final recordA UUID value.static final recordDouble-precision position coordinates. -
Method Summary
Modifier and TypeMethodDescriptionRenders this value as human-readable text for assertion messages and diagnostics.
-
Method Details
-
toDisplayString
String toDisplayString()Renders this value as human-readable text for assertion messages and diagnostics.- Returns:
- The rendered value.
-