On Friday 30 January 2004 22:41, Stephen McConnell wrote: > Fernando Padilla wrote: > > If we want to pull it out of -impl, we could go and add it to > > framework-api, even though no one but containers should ever deal with > > modifying configuration objects, so it should go into -spi. > > I would be OK with MutableConfiguration under -spi: > > avalon-framework-api > avalon-framework-spi <-- contains MutableConfiguration > avalon-framework-impl <-- depends on spi and api
LS, Niclas wrote; > > WHAT is needed? > > WHY is that needed? > > HOW can such need be satisfied? > > What are the CONSEQUENCES of such change? > > What are the SEMANTICS surrounding such change? I am failing to see that "your making the case" is addressing these concerns in particular, but trying to read between the lines and Stephen's interpretation above I conclude; What "I am creating my own container and would benefit to use a defined interface during the creation of the Configuration object to be passed to the component." Why "By having a interface defined in the Framework, a container can choose to provide an extension mechanism for collaborative construction of the Configuration object, which would work identically on more than one container." HOW has been addresses a lot. Consequences By placing the interface in the SPI package, it will not be part of the LifeCycle contract and more advanced containers can choose to prevent the components from the ability to down cast to it. Semantic (I don't know right now). SO, If this is a summary of your intent, then I am Ok to continue the discussion of HOW. If not, please clarify.... HOW, I would like to see that the interface MutableConfiguration DOES NOT extend Configuration, but has the same method signatures so that the implementation class can implement them both. That provides a better flexibility for the container on how to go about the creation process. Cheers Niclas ------------------------------------------------------- --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
