There is a method String getMessageTypeValue(); which is not needed. This was used in the implementation of the Microsoft ACME fitness store and is no longer needed.

Consider making the interface generic, interface Message<T> { T getContent(); ... } A quick spike using Whisper or DallE etc would show if this class is usable in the context of other types of content.

Also review if there is a need for Map<String, Object> getProperties(); It doesn't seem necessary and is likely just a hold over from the initial work to create the org.springframework.ai.prompt.messages when modifying the langhchain design.

Also review the naming of MessageType - perhaps Role is more succinct.

Comment From: markpollack

Removed String getMessageTypeValue() already. Will address the issue of interface Message<T> { T getContent(); ... } in https://github.com/spring-projects/spring-ai/issues/241