Packages

package v3

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. 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; the address field carries the destination (mapped to EndPoint.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 operationParser method must never be called for a 3.0 channel, and it throws an IllegalStateException if invoked (see Async3VersionFactory).

    Note: This class must satisfy the OasLikeEndpointParser interface expected by AsyncApiDocumentParser.parseChannels. We extend OasLikeEndpointParser and override parse() entirely so that the superclass path-template logic is bypassed.

  2. 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 operations map), keyed by operationId. They reference their channel via a $$ref and 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).

  3. 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.

  4. 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).

  5. class Async3ServerParser extends OasLikeServerParser with SecuritySchemeParser
  6. class Async3ServersParser extends AsyncServersParser

    AsyncAPI 3.0 servers parser.

    AsyncAPI 3.0 servers parser.

    3.0 replaces the 2.x url field with host + pathname. We synthesize the legacy Url field from <host><pathname> so existing model consumers and validations (which require a non-empty urlTemplate) continue working.

Value Members

  1. object Async3ChannelParser extends SpecParserOps
  2. object Async3ExternalDocsParser

    AsyncAPI 3.0 externalDocs helper supporting $$ref to components.externalDocs.

    AsyncAPI 3.0 externalDocs helper supporting $$ref to components.externalDocs. Falls back to the standard inline parser when the node isn't a $$ref.

  3. 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.0 schemaFormat lives INSIDE the payload (or is omitted, defaulting to the document's default schema format); the 2.x message-level schemaFormat is no longer valid.

  4. object Async3SecuritySchemeParser extends Serializable
  5. 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 under components.tags.

    The shared OasLikeTagsParser only understands the inline form. This helper handles the $$ref case via ctx.declarations.findComponentTag and falls through to TagsParser for inline entries.

Ungrouped