orpiske commented on PR #9342: URL: https://github.com/apache/camel/pull/9342#issuecomment-1429169495
> @orpiske I just curious that what is the motivation here? The core idea is to provide and API that provides an uniform and consistent way for handling extensions to the CamelContext. However, the same pattern also applies to the ExtendedExchange, Message and other classes that handle external properties, plugins and traits. This PR provides an archetype of how I propose we solve the problem: - Decouple the ExtendedExchange from the Exchange hierarchy and move them to an external class ExtendedExchangeExtension Later on, the idea is to apply the same pattern to the CamelContext: - Decouple the ExtendedContext from the CamelContext hierarchy and move them to an external class ExtendedCamelContextExtension And, *possibly*, but not yet discussed, apply the same to the Message as well. Lastly, after all this is done, we can define, Plugin, Extension and other interfaces that settles the consistent interface for handling this type of problem throughout the code. As a side benefit, this also allow us to simplify the code on those cores classes (including their hierarchy) and opening up for the implementation of even more lightweight instances of them. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@camel.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org