package v3
- Alphabetic
- Public
- All
Type Members
-
class
Async3ChannelParser extends OasLikeEndpointParser
AsyncAPI 3.0 Channel parser.
AsyncAPI 3.0 Channel parser.
In AsyncAPI 3.0 the channels object is keyed by a user-defined channel id (NOT a path/URL). The channel id becomes
EndPoint.name; theaddressfield carries the destination (mapped toEndPoint.path).Channel-scoped fields parsed here:
- id (YAML key) → EndPoint.name and EndPoint.path (address or key when address absent)
- address → EndPoint.path
- title → EndPoint.title
- description → EndPoint.description
- summary → EndPoint.summary
- messages → EndPoint.messages (object-map of Message; each entry parsed via factory)
- servers → EndPoint.servers (array of $$ref strings; resolved to real servers by ChannelServersResolutionStage)
- parameters → EndPoint.parameters
- bindings → EndPoint.bindings
- tags → EndPoint.tags
- externalDocs → EndPoint.documentation
Operations in 3.0 are top-level; a channel has NO nested operations. The factory's
operationParsermethod must never be called for a 3.0 channel, and it throws anIllegalStateExceptionif invoked (seeAsync3VersionFactory).Note: This class must satisfy the
OasLikeEndpointParserinterface expected byAsyncApiDocumentParser.parseChannels. We extendOasLikeEndpointParserand overrideparse()entirely so that the superclass path-template logic is bypassed. -
case class
Async3OperationParser(entry: YMapEntry)(implicit ctx: AsyncWebApiContext) extends SpecParserOps with SecuritySchemeParser with Product with Serializable
Parses a single AsyncAPI 3.0 top-level Operation Object entry.
Parses a single AsyncAPI 3.0 top-level Operation Object entry.
In AsyncAPI 3.0 operations are top-level (under the
operationsmap), keyed by operationId. They reference their channel via a$$refand can override or narrow the channel's messages.Parsed fields:
- operationId (YAML key) → Operation.name + Operation.operationId
- action → Operation.action ("send" | "receive")
- channel: {$$ref} → Operation.channel (resolved EndPoint link)
- messages: [{$$ref}] → Operation.operationMessages
- reply → Operation.reply (Async3OperationReplyParser)
- bindings → Operation.bindings
- security → Operation.security
- traits → Operation.extend (link refs to declared operationTraits)
- tags → Operation.tags
- title → Operation.title
- summary → Operation.summary
- description → Operation.description
- externalDocs → Operation.documentation
This parser is invoked directly from AsyncApi3DocumentParser.parseTopLevelOperations, NOT from the version factory's
operationParser(which is intentionally disabled for 3.0). -
case class
Async3OperationReplyParser(map: YMap, parentId: String)(implicit ctx: AsyncWebApiContext) extends SpecParserOps with Product with Serializable
Parses an AsyncAPI 3.0 Operation Reply Object into an OperationReply instance.
Parses an AsyncAPI 3.0 Operation Reply Object into an OperationReply instance.
The reply object has the following YAML shape:
reply: channel: $$ref: '#/channels/ReplyChannel' messages: - $$ref: '#/channels/ReplyChannel/messages/ReplyMessage' address: location: '$$message.headers#/replyTo' description: "Location of the reply address"This parser is invoked from Async3OperationParser.
-
class
Async3SecuritySchemeParser extends Async2SecuritySchemeParser
AsyncAPI 3.0 security scheme parser.
AsyncAPI 3.0 security scheme parser.
Extends Async2SecuritySchemeParser and additionally recognises the "X.509" security scheme type introduced in the AsyncAPI 3.0 specification.
Note: intentionally NOT a case class to avoid case-to-case inheritance restriction (since Async2SecuritySchemeParser is a case class).
- class Async3ServerParser extends OasLikeServerParser with SecuritySchemeParser
-
class
Async3ServersParser extends AsyncServersParser
AsyncAPI 3.0 servers parser.
AsyncAPI 3.0 servers parser.
3.0 replaces the 2.x
urlfield withhost+pathname. We synthesize the legacyUrlfield from<host><pathname>so existing model consumers and validations (which require a non-emptyurlTemplate) continue working.
Value Members
- object Async3ChannelParser extends SpecParserOps
-
object
Async3ExternalDocsParser
AsyncAPI 3.0 externalDocs helper supporting
$$reftocomponents.externalDocs.AsyncAPI 3.0 externalDocs helper supporting
$$reftocomponents.externalDocs. Falls back to the standard inline parser when the node isn't a $$ref. -
object
Async3MessageParser
AsyncAPI 3.0 message parser.
AsyncAPI 3.0 message parser.
Wires a 3.0-specific populator that handles the Multi Format Schema Object inside
payload. In 3.0schemaFormatlives INSIDE the payload (or is omitted, defaulting to the document's default schema format); the 2.x message-levelschemaFormatis no longer valid. - object Async3SecuritySchemeParser extends Serializable
-
object
Async3TagsParser
AsyncAPI 3.0 tags helper.
AsyncAPI 3.0 tags helper. Each entry in a
tags:array may be either:- an inline Tag Object, or
{ $$ref: '#/components/tags/<id>' }referring to a Tag declared undercomponents.tags.
The shared OasLikeTagsParser only understands the inline form. This helper handles the
$$refcase viactx.declarations.findComponentTagand falls through to TagsParser for inline entries.