Re: [picocontainer-dev] Creating New Containers

Paul Hammant <[email protected]>
Newsgroups gmane.comp.java.picocontainer.devel
Message-ID <[email protected]>
Can the start/stop veto logic move into the lifecycle impls? And out  
of DPC?

Sent from my iPhone

On Dec 3, 2007, at 10:23 AM, "Michael Rimov" <[email protected]>  
wrote:

> Hi All,
>
> I have an extension question:
>
> I'm interested in hacking together a new type of PicoContainer that  
> has a
> modified lifecycle behavior: the container is startable again once  
> dispose has
> been called.  (As to why I'm doing this, I'll talk about it more  
> once I prove
> the result to myself in test cases :D )
>
> However, this desired behavior is wrought with difficulties:
>
> 1 - DefaultPicoContainer will throw an Exception if start() is ever  
> called
> multiple times.  So the delegating Mutable Picocontainer won't help  
> here.
>
> 2 - Changing start() and stop() locally won't work because the  
> implementation of
> DefaultPC relies on several data structures that are inaccessible.
>
> So, it seems that my current options are:
>
> 1 - Copy and paste a lot of code from DPC.  (Obviously an Anti- 
> Pattern!)
>
> 2 - Make the lifecycle variables in DPC have protected getters/ 
> setters and
> modify them from a class derived from DefaultPicoContainer. (Sounds  
> like a
> slightly less anti-pattern than option #1)
>
> 3 - Make a class  (or multiple classes) and move most of the DefaultPC
> implementation capabilities into that class.  Then utilize that  
> class in both
> PicoContainer's and MyPicoContainer.
>
> #3 seems like the best choice, but I'm concerned about mucking about  
> with
> other's (namely Konstantin's!) current work as well as destroying  
> the integrity
> of DefaultPicoContainer by exposing too much underlying data.   
> (Although by
> moving that part to a separate class, in a way we're preserving DPC)
>
> Anybody have any thoughts on this?
>                                    -Mike
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe from this list please visit:
>
>    http://xircles.codehaus.org/manage_email
>

---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.