Interface MessageMapper_v0_3

All Known Implementing Classes:
MessageMapper_v0_3Impl

public interface MessageMapper_v0_3
Bidirectional mapper for converting Message between A2A Protocol v0.3 and v1.0.

Key differences:

  • v0.3: Message is a record with accessor methods (e.g., role(), parts())
  • v1.0: Message is a record with accessor methods (e.g., role(), parts())
  • Role enum values have "ROLE_" prefix in v1.0
  • Part types (TextPart, FilePart, DataPart) changed from classes to records in v1.0

Uses RoleMapper_v0_3 and PartMapper_v0_3 for nested conversions.

  • Field Details

  • Method Details

    • toV10

      default Message toV10(Message_v0_3 v03)
      Converts v0.3 Message to v1.0 Message.

      Converts all fields including role, parts, messageId, contextId, taskId, referenceTaskIds, metadata, and extensions.

      Parameters:
      v03 - the v0.3 message
      Returns:
      the equivalent v1.0 message
    • fromV10

      default Message_v0_3 fromV10(Message v10)
      Converts v1.0 Message to v0.3 Message.

      Converts all fields including role, parts, messageId, contextId, taskId, referenceTaskIds, metadata, and extensions.

      Parameters:
      v10 - the v1.0 message
      Returns:
      the equivalent v0.3 message