Interface TaskStateMapper_v0_3
- All Known Implementing Classes:
TaskStateMapper_v0_3Impl
public interface TaskStateMapper_v0_3
Bidirectional mapper for converting
TaskState enum between A2A Protocol v0.3 and v1.0.
This is a critical mapper because v1.0 adds the TASK_STATE_ prefix to all enum constants:
- v0.3:
SUBMITTED, WORKING, ... - v1.0:
TASK_STATE_SUBMITTED, TASK_STATE_WORKING, ...
Additionally, the UNKNOWN state in v0.3 maps to TASK_STATE_UNSPECIFIED in v1.0.
This mapper uses manual switch statements instead of @ValueMapping to:
- Avoid mapstruct-spi-protobuf enum strategy initialization issues
- Handle explicit null mapping (null → TASK_STATE_UNSPECIFIED/UNKNOWN)
- Provide clear, compile-time-safe enum conversions
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final TaskStateMapper_v0_3Singleton instance accessed viaA2AMappers_v0_3factory. -
Method Summary
Modifier and TypeMethodDescriptiondefault TaskState_v0_3Converts a v1.0TaskStateto v0.3TaskState.default TaskStatetoV10(TaskState_v0_3 v03) Converts a v0.3TaskStateto v1.0TaskState.
-
Field Details
-
INSTANCE
Singleton instance accessed viaA2AMappers_v0_3factory.
-
-
Method Details
-
toV10
Converts a v0.3TaskStateto v1.0TaskState.Mapping:
0.3 → 1.0 ───────────────────────────────────────────── SUBMITTED → TASK_STATE_SUBMITTED WORKING → TASK_STATE_WORKING INPUT_REQUIRED → TASK_STATE_INPUT_REQUIRED AUTH_REQUIRED → TASK_STATE_AUTH_REQUIRED COMPLETED → TASK_STATE_COMPLETED CANCELED → TASK_STATE_CANCELED FAILED → TASK_STATE_FAILED REJECTED → TASK_STATE_REJECTED UNKNOWN → TASK_STATE_UNSPECIFIED null → TASK_STATE_UNSPECIFIED
- Parameters:
v03- the v0.3 task state (may be null)- Returns:
- the equivalent v1.0 task state (never null)
-
fromV10
Converts a v1.0TaskStateto v0.3TaskState.Reverse mapping:
1.0 → 0.3 ─────────────────────────────────────────────────── TASK_STATE_SUBMITTED → SUBMITTED TASK_STATE_WORKING → WORKING TASK_STATE_INPUT_REQUIRED → INPUT_REQUIRED TASK_STATE_AUTH_REQUIRED → AUTH_REQUIRED TASK_STATE_COMPLETED → COMPLETED TASK_STATE_CANCELED → CANCELED TASK_STATE_FAILED → FAILED TASK_STATE_REJECTED → REJECTED TASK_STATE_UNSPECIFIED → UNKNOWN null → UNKNOWN
- Parameters:
v10- the v1.0 task state (may be null)- Returns:
- the equivalent v0.3 task state (never null)
-