Hi all,
I am currently trying to minimize the use of impl classes in components
and check how to completely hide impl classes for 3.0.
So I will have to move several classes from impl to support as they are
used as base classes anyway (e.g. DefaultEndpoint). A special case is
DefaultExchange. It is not a base class, in fact it is the only
implementation of Exchange.
So the big question is how do we want to handle exchange creation. There
are two main solutions I can think of:
- Hide the implementation and offer factory methods on camelContext
- Move the implementation to support and so allow new DefaultExchange
from any class
We also have factory methods for Exchange on Endpoint and
DefaultEndpoint. The question is do we need these? DefaultEndpoint would
not be able to hide the impl of DefaultExchange as it has to reside in
support and is a base class. So if we want to hide DefaultExchange the
factory impl must be in a real impl class like DefaultCamelContext.
Christian
--
--
Christian Schneider
http://www.liquid-reality.de
Open Source Architect
Talend Application Integration Division http://www.talend.com