Package ru.yojo.codegen.mapper
Class MessageMapper
java.lang.Object
ru.yojo.codegen.mapper.AbstractMapper
ru.yojo.codegen.mapper.MessageMapper
Maps AsyncAPI message definitions (
components.messages.*) to Message objects.
Handles:
- Direct
properties-based messages $refto schemas (with optional inlinepropertiesmerge)- Polymorphic payloads (
oneOf/allOf/anyOf) - Inheritance (
extends,implements) - Lombok configuration per-message
- Custom package via
pathForGenerateMessage - Leaf scalars/arrays/enums (treated as wrapper or delegated to
SchemaMapper)
-
Constructor Summary
ConstructorsConstructorDescriptionMessageMapper(SchemaMapper schemaMapper) Constructs a message mapper with the given schema mapper. -
Method Summary
Modifier and TypeMethodDescriptionmapMessagesToObjects(ProcessContext processContext) Transforms all message definitions in the context intoMessageinstances.Methods inherited from class ru.yojo.codegen.mapper.AbstractMapper
fillMessageFromChannel, fillProperties, fillRequiredAnnotationsAndImports, fillVariableProperties
-
Constructor Details
-
MessageMapper
Constructs a message mapper with the given schema mapper.- Parameters:
schemaMapper- delegate for schema mapping
-
-
Method Details
-
mapMessagesToObjects
Transforms all message definitions in the context intoMessageinstances.For each message:
- Resolves
$refand polymorphism - Collects Lombok config
- Handles
extends/implements - Fills fields via
getFillParameters(java.lang.String, java.util.Map<java.lang.String, java.lang.Object>, ru.yojo.codegen.context.ProcessContext, java.util.Set<java.lang.String>, java.util.Set<java.lang.String>, ru.yojo.codegen.domain.lombok.LombokProperties)
- Parameters:
processContext- current generation context- Returns:
- list of fully prepared
Messageinstances
- Resolves
-