<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-2735</id>
	<title>Nabble - NanoContainer - PicoContainer</title>
	<updated>2009-11-27T01:33:51Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/NanoContainer---PicoContainer-f2735.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/NanoContainer---PicoContainer-f2735.html" />
	<subtitle type="html">Components from the NanoContainer project supplement PicoContainer, and gives it more capability. These can either be adaptions in various guises that give a by-class-name rather than by-class capability for composition, or adaptations to external components bringing them closer to the Dependency Injection (particularly CDI) ideal. NanoContainer - PicoContainer home is &lt;a href=&quot;http://www.nanocontainer.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26539885</id>
	<title>booter never deployed?</title>
	<published>2009-11-27T01:33:51Z</published>
	<updated>2009-11-27T01:33:51Z</updated>
	<author>
		<name>Konstantin Priblouda</name>
	</author>
	<content type="html">&lt;br&gt;hi all,
&lt;br&gt;&lt;br&gt;i miss picocontainer-booter from repositories - was t never deployed?
&lt;br&gt;&lt;br&gt;regards
&lt;br&gt;&lt;br&gt;----[ Konstantin Pribluda &lt;a href=&quot;http://www.pribluda.de&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pribluda.de&lt;/a&gt;&amp;nbsp;]----------------
&lt;br&gt;JTec quality components: &lt;a href=&quot;http://www.pribluda.de/projects/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pribluda.de/projects/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/NanoContainer---PicoContainer---Dev-f2736.html&quot; embed=&quot;fixTarget[2736]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/booter-never-deployed--tp26539885p26539885.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26238746</id>
	<title>RE: RE: How does picocontainer handles constructor exceptions</title>
	<published>2009-11-06T13:16:36Z</published>
	<updated>2009-11-06T13:16:36Z</updated>
	<author>
		<name>Jörg Schaible-2</name>
	</author>
	<content type="html">Pedro Félix wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; Namely, I was thinking about the different solutions to
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; handle this
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; situations:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; Hypothesis 1: Forbid checked exceptions
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; on constructors and &amp;quot;bubble
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; up&amp;quot; unchecked exceptions
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; Checked exceptions are enforced at compile time. &amp;nbsp;With the
&lt;br&gt;&amp;gt;&amp;gt; reflection,
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; all exceptions become &amp;nbsp;unchecked.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Well, this prohibition would be enforced on runtime. It is possible,
&lt;br&gt;&amp;gt;&amp;gt; using
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; reflection, to determine if a constructor throws checked exceptions.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; However, it may not make lots of sense.
&lt;br&gt;&amp;gt;&amp;gt; It does not mater, since you cannot rethrow the checked exception without
&lt;br&gt;&amp;gt;&amp;gt; declaring it for your method again.
&lt;br&gt;&amp;gt; I understand &amp;quot;you cannot rethrow the checked exception without declaring
&lt;br&gt;&amp;gt; it for your method again&amp;quot;, but don't understand your point.
&lt;/div&gt;&lt;br&gt;I reread this topic any my comment does really not make a lot sense - so
&lt;br&gt;forget it ;-)
&lt;br&gt;&lt;br&gt;- Jörg
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/NanoContainer---PicoContainer---Users-f2737.html&quot; embed=&quot;fixTarget[2737]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/How-does-picocontainer-handles-constructor-exceptions-tp26218725p26238746.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26232287</id>
	<title>RE: RE: How does picocontainer handles constructor exceptions</title>
	<published>2009-11-06T05:48:12Z</published>
	<updated>2009-11-06T05:48:12Z</updated>
	<author>
		<name>Pedro Félix</name>
	</author>
	<content type="html">&lt;div class='shrinkable-quote'&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; Namely, I was thinking about the different solutions to
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; handle this
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; situations:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; Hypothesis 1: Forbid checked exceptions
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; on constructors and &amp;quot;bubble
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; up&amp;quot; unchecked exceptions
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Checked exceptions are enforced at compile time. &amp;nbsp;With the
&lt;br&gt;&amp;gt; reflection,
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; all exceptions become &amp;nbsp;unchecked.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Well, this prohibition would be enforced on runtime. It is possible,
&lt;br&gt;&amp;gt; using
&lt;br&gt;&amp;gt; &amp;gt; reflection, to determine if a constructor throws checked exceptions.
&lt;br&gt;&amp;gt; &amp;gt; However, it may not make lots of sense.
&lt;br&gt;&amp;gt; It does not mater, since you cannot rethrow the checked exception without declaring it for your method again.
&lt;/div&gt;I understand &amp;quot;you cannot rethrow the checked exception without declaring it for your method again&amp;quot;, but don't understand your point.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; Hypothesis 3: Try to recover from
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; exception, namely if the
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; dependency is not mandatory.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; Why do you think that this last behavior &amp;quot;is pretty bad&amp;quot;?
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Because it's pretty difficult to imagine how to recover from &amp;nbsp;object
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; creation failure.
&lt;br&gt;&amp;gt; &amp;gt; Well, I'm not recovering the creation of the object that thrown the
&lt;br&gt;&amp;gt; &amp;gt; exception in the ctor. Instead, I'm trying to &amp;quot;recover&amp;quot; the creation
&lt;br&gt;&amp;gt; of a
&lt;br&gt;&amp;gt; &amp;gt; directly or indirectly dependent object, assuming that this
&lt;br&gt;&amp;gt; dependency is
&lt;br&gt;&amp;gt; &amp;gt; optional.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; It's the default behaviour that makes most sense. A dependency that
&lt;br&gt;&amp;gt; cannot
&lt;br&gt;&amp;gt; be satisfied leaves the depending component in an unspecified
&lt;br&gt;&amp;gt; state. &amp;quot;Assuming&amp;quot; that the dependency is optional is not really valid
&lt;br&gt;&amp;gt; here.
&lt;br&gt;&amp;gt; Explicitly expressing that it is optional - then yes. See my other
&lt;br&gt;&amp;gt; mail.
&lt;/div&gt;I completely agree. This behavior would only make sense if the dependency is explicitly marked as optional by the dependant type.
&lt;br&gt;&lt;br&gt;Thanks
&lt;br&gt;Pedro
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;gt; - Jörg
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/NanoContainer---PicoContainer---Users-f2737.html&quot; embed=&quot;fixTarget[2737]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/How-does-picocontainer-handles-constructor-exceptions-tp26218725p26232287.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26231722</id>
	<title>RE: How does picocontainer handles constructor exceptions</title>
	<published>2009-11-06T05:08:51Z</published>
	<updated>2009-11-06T05:08:51Z</updated>
	<author>
		<name>Jörg Schaible-2</name>
	</author>
	<content type="html">Hi Pedro,
&lt;br&gt;&lt;br&gt;Pedro Félix wrote at Freitag, 6. November 2009 13:57:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; See comments below
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Namely, I was thinking about the different solutions to
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; handle this
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; situations:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Hypothesis 1: Forbid checked exceptions
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; on constructors and &amp;quot;bubble
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; up&amp;quot; unchecked exceptions
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; Checked exceptions are enforced at compile time. &amp;nbsp;With the reflection,
&lt;br&gt;&amp;gt;&amp;gt; all exceptions become &amp;nbsp;unchecked.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Well, this prohibition would be enforced on runtime. It is possible, using
&lt;br&gt;&amp;gt; reflection, to determine if a constructor throws checked exceptions.
&lt;br&gt;&amp;gt; However, it may not make lots of sense.
&lt;/div&gt;&lt;br&gt;It does not mater, since you cannot rethrow the checked exception without
&lt;br&gt;declaring it for your method again.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Hypothesis 3: Try to recover from
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; exception, namely if the
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; dependency is not mandatory.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Why do you think that this last behavior &amp;quot;is pretty bad&amp;quot;?
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; Because it's pretty difficult to imagine how to recover from &amp;nbsp;object
&lt;br&gt;&amp;gt;&amp;gt; creation failure.
&lt;br&gt;&amp;gt; Well, I'm not recovering the creation of the object that thrown the
&lt;br&gt;&amp;gt; exception in the ctor. Instead, I'm trying to &amp;quot;recover&amp;quot; the creation of a
&lt;br&gt;&amp;gt; directly or indirectly dependent object, assuming that this dependency is
&lt;br&gt;&amp;gt; optional.
&lt;/div&gt;&lt;br&gt;It's the default behaviour that makes most sense. A dependency that cannot
&lt;br&gt;be satisfied leaves the depending component in an unspecified
&lt;br&gt;state. &amp;quot;Assuming&amp;quot; that the dependency is optional is not really valid here.
&lt;br&gt;Explicitly expressing that it is optional - then yes. See my other mail.
&lt;br&gt;&lt;br&gt;- Jörg
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/NanoContainer---PicoContainer---Users-f2737.html&quot; embed=&quot;fixTarget[2737]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/How-does-picocontainer-handles-constructor-exceptions-tp26218725p26231722.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26231575</id>
	<title>RE: How does picocontainer handles constructor exceptions</title>
	<published>2009-11-06T04:57:40Z</published>
	<updated>2009-11-06T04:57:40Z</updated>
	<author>
		<name>Pedro Félix</name>
	</author>
	<content type="html">See comments below
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Namely, I was thinking about the different solutions to
&lt;br&gt;&amp;gt; &amp;gt; handle this
&lt;br&gt;&amp;gt; &amp;gt; situations:
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;     Hypothesis 1: Forbid checked exceptions
&lt;br&gt;&amp;gt; &amp;gt; on constructors and &amp;quot;bubble
&lt;br&gt;&amp;gt; &amp;gt; up&amp;quot; unchecked exceptions
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Checked exceptions are enforced at compile time. &amp;nbsp;With the reflection,
&lt;br&gt;&amp;gt; all exceptions become &amp;nbsp;unchecked.
&lt;/div&gt;&lt;br&gt;Well, this prohibition would be enforced on runtime. It is possible, using
&lt;br&gt;reflection, to determine if a constructor throws checked exceptions.
&lt;br&gt;However, it may not make lots of sense.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;gt; &amp;gt;     Hypothesis 3: Try to recover from
&lt;br&gt;&amp;gt; &amp;gt; exception, namely if the
&lt;br&gt;&amp;gt; &amp;gt; dependency is not mandatory.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Why do you think that this last behavior &amp;quot;is pretty bad&amp;quot;?
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Because it's pretty difficult to imagine how to recover from &amp;nbsp;object
&lt;br&gt;&amp;gt; creation failure.
&lt;br&gt;Well, I'm not recovering the creation of the object that thrown the
&lt;br&gt;exception in the ctor. Instead, I'm trying to &amp;quot;recover&amp;quot; the creation of a
&lt;br&gt;directly or indirectly dependent object, assuming that this dependency is
&lt;br&gt;optional.
&lt;br&gt;&lt;br&gt;&amp;gt; regards,
&lt;br&gt;Thanks, regards
&lt;br&gt;Pedro
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/NanoContainer---PicoContainer---Users-f2737.html&quot; embed=&quot;fixTarget[2737]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/How-does-picocontainer-handles-constructor-exceptions-tp26218725p26231575.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26230723</id>
	<title>RE: How does picocontainer handles constructor exceptions</title>
	<published>2009-11-06T03:50:03Z</published>
	<updated>2009-11-06T03:50:03Z</updated>
	<author>
		<name>Konstantin Priblouda</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;--- On Fri, 11/6/09, Pedro Félix &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26230723&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;pedrofelix@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; Namely, I was thinking about the different solutions to
&lt;br&gt;&amp;gt; handle this
&lt;br&gt;&amp;gt; situations:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;     Hypothesis 1: Forbid checked exceptions
&lt;br&gt;&amp;gt; on constructors and &amp;quot;bubble
&lt;br&gt;&amp;gt; up&amp;quot; unchecked exceptions
&lt;br&gt;&lt;br&gt;Checked exceptions are enforced at compile time. &amp;nbsp;With the reflection, all exceptions become &amp;nbsp;unchecked.
&lt;br&gt;&lt;br&gt;&amp;gt;     Hypothesis 3: Try to recover from
&lt;br&gt;&amp;gt; exception, namely if the
&lt;br&gt;&amp;gt; dependency is not mandatory.    
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Why do you think that this last behavior &amp;quot;is pretty bad&amp;quot;?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&lt;br&gt;Because it's pretty difficult to imagine how to recover from &amp;nbsp;object creation failure. 
&lt;br&gt;&lt;br&gt;regards,
&lt;br&gt;&lt;br&gt;----[ Konstantin Pribluda &lt;a href=&quot;http://www.pribluda.de&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pribluda.de&lt;/a&gt;&amp;nbsp;]----------------
&lt;br&gt;JTec quality components: &lt;a href=&quot;http://www.pribluda.de/projects/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pribluda.de/projects/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/NanoContainer---PicoContainer---Users-f2737.html&quot; embed=&quot;fixTarget[2737]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/How-does-picocontainer-handles-constructor-exceptions-tp26218725p26230723.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26229661</id>
	<title>RE: How does picocontainer handles constructor exceptions</title>
	<published>2009-11-06T02:21:55Z</published>
	<updated>2009-11-06T02:21:55Z</updated>
	<author>
		<name>Pedro Félix</name>
	</author>
	<content type="html">Paul,
&lt;br&gt;&lt;br&gt;Thanks for the reply.
&lt;br&gt;I really don't have a concrete use case for this functionality. 
&lt;br&gt;&lt;br&gt;I'm currently just studying Dependency Injection (DI) concepts and was
&lt;br&gt;curious about the way that constructor exceptions are handled by the several
&lt;br&gt;containers.
&lt;br&gt;Namely, I was thinking about the different solutions to handle this
&lt;br&gt;situations:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Hypothesis 1: Forbid checked exceptions on constructors and &amp;quot;bubble
&lt;br&gt;up&amp;quot; unchecked exceptions
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Hypothesis 2: Allow checked exceptions on constructors and also
&lt;br&gt;&amp;quot;bubble them up&amp;quot;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Hypothesis 3: Try to recover from exception, namely if the
&lt;br&gt;dependency is not mandatory.	
&lt;br&gt;&lt;br&gt;Why do you think that this last behavior &amp;quot;is pretty bad&amp;quot;?
&lt;br&gt;&lt;br&gt;Once again, thanks.
&lt;br&gt;&lt;br&gt;Regards
&lt;br&gt;Pedro Félix
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; -----Original Message-----
&lt;br&gt;&amp;gt; From: Paul Hammant [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26229661&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;paul@...&lt;/a&gt;]
&lt;br&gt;&amp;gt; Sent: quinta-feira, 5 de Novembro de 2009 23:10
&lt;br&gt;&amp;gt; To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26229661&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user@...&lt;/a&gt;
&lt;br&gt;&amp;gt; Subject: Re: [picocontainer-user] How does picocontainer handles
&lt;br&gt;&amp;gt; constructor exceptions
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Pedro,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; It has to call a constructor to witness the
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; exception, it can't exclude C as an injectee at any time - it is
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; registered therefore it is a candidate for injection.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Yes, I understand that C constructor will always be called. However,
&lt;br&gt;&amp;gt; &amp;gt; since B
&lt;br&gt;&amp;gt; &amp;gt; is not mandatory, the exception throw by C constructor could (at
&lt;br&gt;&amp;gt; &amp;gt; least in
&lt;br&gt;&amp;gt; &amp;gt; theory) be ignored and A be constructed without a B instance.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I'm not sure that PicoContainer should have that behavior by detault.
&lt;br&gt;&amp;gt; In fact I think it pretty bad. &amp;nbsp;However, we're into facilitating other
&lt;br&gt;&amp;gt; people's visions...
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; For your use case, would you like us to catch an exception, then try
&lt;br&gt;&amp;gt; another permutation of component deps that may work, then silently
&lt;br&gt;&amp;gt; return an instance of the type that was the subject of getComponent() ?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - Paul
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/NanoContainer---PicoContainer---Users-f2737.html&quot; embed=&quot;fixTarget[2737]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/How-does-picocontainer-handles-constructor-exceptions-tp26218725p26229661.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26228500</id>
	<title>Re: How does picocontainer handles constructor exceptions</title>
	<published>2009-11-06T00:39:58Z</published>
	<updated>2009-11-06T00:39:58Z</updated>
	<author>
		<name>Jörg Schaible-2</name>
	</author>
	<content type="html">Paul Hammant wrote at Freitag, 6. November 2009 00:10:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Pedro,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; It has to call a constructor to witness the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; exception, it can't exclude C as an injectee at any time - it is
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; registered therefore it is a candidate for injection.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; Yes, I understand that C constructor will always be called. However,
&lt;br&gt;&amp;gt;&amp;gt; since B
&lt;br&gt;&amp;gt;&amp;gt; is not mandatory, the exception throw by C constructor could (at
&lt;br&gt;&amp;gt;&amp;gt; least in
&lt;br&gt;&amp;gt;&amp;gt; theory) be ignored and A be constructed without a B instance.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I'm not sure that PicoContainer should have that behavior by detault.
&lt;br&gt;&amp;gt; In fact I think it pretty bad. &amp;nbsp;However, we're into facilitating other
&lt;br&gt;&amp;gt; people's visions...
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; For your use case, would you like us to catch an exception, then try
&lt;br&gt;&amp;gt; another permutation of component deps that may work, then silently
&lt;br&gt;&amp;gt; return an instance of the type that was the subject of getComponent() ?
&lt;/div&gt;&lt;br&gt;Maybe we can mark dependencies of a component as optional and then look for
&lt;br&gt;alternatives:
&lt;br&gt;&lt;br&gt;class X {
&lt;br&gt;&amp;nbsp;X(Foo foo, @Optional Bar bar){}
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;- Jörg
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/NanoContainer---PicoContainer---Users-f2737.html&quot; embed=&quot;fixTarget[2737]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/How-does-picocontainer-handles-constructor-exceptions-tp26218725p26228500.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26224041</id>
	<title>Re: How does picocontainer handles constructor exceptions</title>
	<published>2009-11-05T15:10:27Z</published>
	<updated>2009-11-05T15:10:27Z</updated>
	<author>
		<name>Paul Hammant-3</name>
	</author>
	<content type="html">Pedro,
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; It has to call a constructor to witness the
&lt;br&gt;&amp;gt;&amp;gt; exception, it can't exclude C as an injectee at any time - it is
&lt;br&gt;&amp;gt;&amp;gt; registered therefore it is a candidate for injection.
&lt;br&gt;&lt;br&gt;&amp;gt; Yes, I understand that C constructor will always be called. However, &amp;nbsp;
&lt;br&gt;&amp;gt; since B
&lt;br&gt;&amp;gt; is not mandatory, the exception throw by C constructor could (at &amp;nbsp;
&lt;br&gt;&amp;gt; least in
&lt;br&gt;&amp;gt; theory) be ignored and A be constructed without a B instance.
&lt;br&gt;&lt;br&gt;I'm not sure that PicoContainer should have that behavior by detault. &amp;nbsp; 
&lt;br&gt;In fact I think it pretty bad. &amp;nbsp;However, we're into facilitating other &amp;nbsp;
&lt;br&gt;people's visions...
&lt;br&gt;&lt;br&gt;For your use case, would you like us to catch an exception, then try &amp;nbsp;
&lt;br&gt;another permutation of component deps that may work, then silently &amp;nbsp;
&lt;br&gt;return an instance of the type that was the subject of getComponent() ?
&lt;br&gt;&lt;br&gt;- Paul
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/NanoContainer---PicoContainer---Users-f2737.html&quot; embed=&quot;fixTarget[2737]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/How-does-picocontainer-handles-constructor-exceptions-tp26218725p26224041.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26223404</id>
	<title>RE: How does picocontainer handles constructor exceptions</title>
	<published>2009-11-05T14:25:37Z</published>
	<updated>2009-11-05T14:25:37Z</updated>
	<author>
		<name>Pedro Félix</name>
	</author>
	<content type="html">&amp;gt; It has to call a constructor to witness the
&lt;br&gt;&amp;gt; exception, it can't exclude C as an injectee at any time - it is
&lt;br&gt;&amp;gt; registered therefore it is a candidate for injection.
&lt;br&gt;Yes, I understand that C constructor will always be called. However, since B
&lt;br&gt;is not mandatory, the exception throw by C constructor could (at least in
&lt;br&gt;theory) be ignored and A be constructed without a B instance.
&lt;br&gt;&lt;br&gt;Thanks
&lt;br&gt;Pedro
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; -----Original Message-----
&lt;br&gt;&amp;gt; From: Paul Hammant [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26223404&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;paul@...&lt;/a&gt;]
&lt;br&gt;&amp;gt; Sent: quinta-feira, 5 de Novembro de 2009 22:18
&lt;br&gt;&amp;gt; To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26223404&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user@...&lt;/a&gt;
&lt;br&gt;&amp;gt; Subject: Re: [picocontainer-user] How does picocontainer handles
&lt;br&gt;&amp;gt; constructor exceptions
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; It will bubble all the way to the creation of user (thereby vetoing
&lt;br&gt;&amp;gt; it) .... if A had a mandatory dep on B
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Pico will always choose a path that satisfies the constructor with the
&lt;br&gt;&amp;gt; most args. &amp;nbsp;It will still get the injection-time exception as
&lt;br&gt;&amp;gt; described above. &amp;nbsp;It has to call a constructor to witness the
&lt;br&gt;&amp;gt; exception, it can't exclude C as an injectee at any time - it is
&lt;br&gt;&amp;gt; registered therefore it is a candidate for injection.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - Paul
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; On Nov 5, 2009, at 1:49 PM, Pedro Félix wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Thanks for the reply.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; 1) Where can I find more information regarding this subject?
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; 2) Consider the following scenario
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; 	User-&amp;gt;A-&amp;gt;B-&amp;gt;C
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; 	a) User code requests an A instance
&lt;br&gt;&amp;gt; &amp;gt; 	b) Type A has an optional dependency on B
&lt;br&gt;&amp;gt; &amp;gt; 	c) Type B has a mandatory dependency on C
&lt;br&gt;&amp;gt; &amp;gt; 	d) The construction of a C instance results in an exception
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; The exception in C construction results on an exception bubbling up
&lt;br&gt;&amp;gt; &amp;gt; to the
&lt;br&gt;&amp;gt; &amp;gt; initial call requesting an A instance?
&lt;br&gt;&amp;gt; &amp;gt; Or, since B is not mandatory, the request for A succeeds?
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Thanks
&lt;br&gt;&amp;gt; &amp;gt; Pedro Félix
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; -----Original Message-----
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; From: Konstantin Priblouda [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26223404&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kpriblouda@...&lt;/a&gt;]
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Sent: quinta-feira, 5 de Novembro de 2009 19:23
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26223404&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Subject: Re: [picocontainer-user] How does picocontainer handles
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; constructor exceptions
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; AFAIR, they are passed through to caller. But nothing prevents you
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; from
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; implementing custom behaviour and catch them.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; regards,
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; ----[ Konstantin Pribluda &lt;a href=&quot;http://www.pribluda.de&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pribluda.de&lt;/a&gt;&amp;nbsp;]----------------
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; JTec quality components: &lt;a href=&quot;http://www.pribluda.de/projects/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pribluda.de/projects/&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; --- On Thu, 11/5/09, Pedro Félix &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26223404&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;pedrofelix@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; From: Pedro Félix &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26223404&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;pedrofelix@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Subject: [picocontainer-user] How does picocontainer handles
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; constructor exceptions
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26223404&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Date: Thursday, November 5, 2009, 7:16 PM
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; How does picocontainer handles exceptions (checked or
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; unchecked) throwed by
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; the constructor during constructor injection?
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Thanks
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Pedro Félix
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; -------------------------------------------------------------------
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; --------------------------------------------------------------------
&lt;br&gt;&amp;gt; -
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; &amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/NanoContainer---PicoContainer---Users-f2737.html&quot; embed=&quot;fixTarget[2737]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/How-does-picocontainer-handles-constructor-exceptions-tp26218725p26223404.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26223290</id>
	<title>Re: How does picocontainer handles constructor exceptions</title>
	<published>2009-11-05T14:17:56Z</published>
	<updated>2009-11-05T14:17:56Z</updated>
	<author>
		<name>Paul Hammant-3</name>
	</author>
	<content type="html">It will bubble all the way to the creation of user (thereby vetoing &amp;nbsp;
&lt;br&gt;it) .... if A had a mandatory dep on B
&lt;br&gt;&lt;br&gt;Pico will always choose a path that satisfies the constructor with the &amp;nbsp;
&lt;br&gt;most args. &amp;nbsp;It will still get the injection-time exception as &amp;nbsp;
&lt;br&gt;described above. &amp;nbsp;It has to call a constructor to witness the &amp;nbsp;
&lt;br&gt;exception, it can't exclude C as an injectee at any time - it is &amp;nbsp;
&lt;br&gt;registered therefore it is a candidate for injection.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;&lt;br&gt;- Paul
&lt;br&gt;&lt;br&gt;On Nov 5, 2009, at 1:49 PM, Pedro Félix wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Thanks for the reply.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 1) Where can I find more information regarding this subject?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 2) Consider the following scenario
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 	User-&amp;gt;A-&amp;gt;B-&amp;gt;C
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 	a) User code requests an A instance
&lt;br&gt;&amp;gt; 	b) Type A has an optional dependency on B
&lt;br&gt;&amp;gt; 	c) Type B has a mandatory dependency on C
&lt;br&gt;&amp;gt; 	d) The construction of a C instance results in an exception
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The exception in C construction results on an exception bubbling up &amp;nbsp;
&lt;br&gt;&amp;gt; to the
&lt;br&gt;&amp;gt; initial call requesting an A instance?
&lt;br&gt;&amp;gt; Or, since B is not mandatory, the request for A succeeds?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks
&lt;br&gt;&amp;gt; Pedro Félix
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; -----Original Message-----
&lt;br&gt;&amp;gt;&amp;gt; From: Konstantin Priblouda [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26223290&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kpriblouda@...&lt;/a&gt;]
&lt;br&gt;&amp;gt;&amp;gt; Sent: quinta-feira, 5 de Novembro de 2009 19:23
&lt;br&gt;&amp;gt;&amp;gt; To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26223290&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; Subject: Re: [picocontainer-user] How does picocontainer handles
&lt;br&gt;&amp;gt;&amp;gt; constructor exceptions
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; AFAIR, they are passed through to caller. But nothing prevents you &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; from
&lt;br&gt;&amp;gt;&amp;gt; implementing custom behaviour and catch them.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; regards,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ----[ Konstantin Pribluda &lt;a href=&quot;http://www.pribluda.de&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pribluda.de&lt;/a&gt;&amp;nbsp;]----------------
&lt;br&gt;&amp;gt;&amp;gt; JTec quality components: &lt;a href=&quot;http://www.pribluda.de/projects/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pribluda.de/projects/&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; --- On Thu, 11/5/09, Pedro Félix &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26223290&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;pedrofelix@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; From: Pedro Félix &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26223290&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;pedrofelix@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Subject: [picocontainer-user] How does picocontainer handles
&lt;br&gt;&amp;gt;&amp;gt; constructor exceptions
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26223290&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Date: Thursday, November 5, 2009, 7:16 PM
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; How does picocontainer handles exceptions (checked or
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; unchecked) throwed by
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; the constructor during constructor injection?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Thanks
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Pedro Félix
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/NanoContainer---PicoContainer---Users-f2737.html&quot; embed=&quot;fixTarget[2737]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/How-does-picocontainer-handles-constructor-exceptions-tp26218725p26223290.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26221162</id>
	<title>RE: How does picocontainer handles constructor exceptions</title>
	<published>2009-11-05T11:49:43Z</published>
	<updated>2009-11-05T11:49:43Z</updated>
	<author>
		<name>Pedro Félix</name>
	</author>
	<content type="html">Thanks for the reply.
&lt;br&gt;&lt;br&gt;1) Where can I find more information regarding this subject?
&lt;br&gt;&lt;br&gt;2) Consider the following scenario
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; User-&amp;gt;A-&amp;gt;B-&amp;gt;C
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; a) User code requests an A instance
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; b) Type A has an optional dependency on B
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; c) Type B has a mandatory dependency on C
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; d) The construction of a C instance results in an exception
&lt;br&gt;&lt;br&gt;The exception in C construction results on an exception bubbling up to the
&lt;br&gt;initial call requesting an A instance?
&lt;br&gt;Or, since B is not mandatory, the request for A succeeds?
&lt;br&gt;&lt;br&gt;Thanks
&lt;br&gt;Pedro Félix
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; -----Original Message-----
&lt;br&gt;&amp;gt; From: Konstantin Priblouda [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26221162&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kpriblouda@...&lt;/a&gt;]
&lt;br&gt;&amp;gt; Sent: quinta-feira, 5 de Novembro de 2009 19:23
&lt;br&gt;&amp;gt; To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26221162&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user@...&lt;/a&gt;
&lt;br&gt;&amp;gt; Subject: Re: [picocontainer-user] How does picocontainer handles
&lt;br&gt;&amp;gt; constructor exceptions
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; AFAIR, they are passed through to caller. But nothing prevents you from
&lt;br&gt;&amp;gt; implementing custom behaviour and catch them.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; regards,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ----[ Konstantin Pribluda &lt;a href=&quot;http://www.pribluda.de&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pribluda.de&lt;/a&gt;&amp;nbsp;]----------------
&lt;br&gt;&amp;gt; JTec quality components: &lt;a href=&quot;http://www.pribluda.de/projects/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pribluda.de/projects/&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; --- On Thu, 11/5/09, Pedro Félix &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26221162&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;pedrofelix@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; From: Pedro Félix &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26221162&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;pedrofelix@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Subject: [picocontainer-user] How does picocontainer handles
&lt;br&gt;&amp;gt; constructor exceptions
&lt;br&gt;&amp;gt; &amp;gt; To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26221162&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt; Date: Thursday, November 5, 2009, 7:16 PM
&lt;br&gt;&amp;gt; &amp;gt; Hi,
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; How does picocontainer handles exceptions (checked or
&lt;br&gt;&amp;gt; &amp;gt; unchecked) throwed by
&lt;br&gt;&amp;gt; &amp;gt; the constructor during constructor injection?
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Thanks
&lt;br&gt;&amp;gt; &amp;gt; Pedro Félix
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; &amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;     &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/NanoContainer---PicoContainer---Users-f2737.html&quot; embed=&quot;fixTarget[2737]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/How-does-picocontainer-handles-constructor-exceptions-tp26218725p26221162.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26220800</id>
	<title>Re: How does picocontainer handles constructor exceptions</title>
	<published>2009-11-05T11:22:42Z</published>
	<updated>2009-11-05T11:22:42Z</updated>
	<author>
		<name>Konstantin Priblouda</name>
	</author>
	<content type="html">AFAIR, they are passed through to caller. But nothing prevents you from 
&lt;br&gt;implementing custom behaviour and catch them.
&lt;br&gt;&lt;br&gt;regards,
&lt;br&gt;&lt;br&gt;----[ Konstantin Pribluda &lt;a href=&quot;http://www.pribluda.de&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pribluda.de&lt;/a&gt;&amp;nbsp;]----------------
&lt;br&gt;JTec quality components: &lt;a href=&quot;http://www.pribluda.de/projects/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pribluda.de/projects/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;--- On Thu, 11/5/09, Pedro Félix &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26220800&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;pedrofelix@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; From: Pedro Félix &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26220800&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;pedrofelix@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; Subject: [picocontainer-user] How does picocontainer handles constructor exceptions
&lt;br&gt;&amp;gt; To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26220800&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user@...&lt;/a&gt;
&lt;br&gt;&amp;gt; Date: Thursday, November 5, 2009, 7:16 PM
&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; How does picocontainer handles exceptions (checked or
&lt;br&gt;&amp;gt; unchecked) throwed by
&lt;br&gt;&amp;gt; the constructor during constructor injection?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Thanks
&lt;br&gt;&amp;gt; Pedro Félix
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;     &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/NanoContainer---PicoContainer---Users-f2737.html&quot; embed=&quot;fixTarget[2737]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/How-does-picocontainer-handles-constructor-exceptions-tp26218725p26220800.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26220686</id>
	<title>Re: How does picocontainer handles constructor exceptions</title>
	<published>2009-11-05T11:14:07Z</published>
	<updated>2009-11-05T11:14:07Z</updated>
	<author>
		<name>Paul Hammant-3</name>
	</author>
	<content type="html">They are rethrown (and wrapped inside) &amp;nbsp;
&lt;br&gt;org.picocontainer.PicoCompositionException. &amp;nbsp;Unless the original &amp;nbsp;
&lt;br&gt;exception was a RuntimeException derivative, in which case it is &amp;nbsp;
&lt;br&gt;directly thrown to the thing calling getComponent().
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;&lt;br&gt;- Paul
&lt;br&gt;&lt;br&gt;On Nov 5, 2009, at 11:16 AM, Pedro Félix wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; How does picocontainer handles exceptions (checked or unchecked) &amp;nbsp;
&lt;br&gt;&amp;gt; throwed by
&lt;br&gt;&amp;gt; the constructor during constructor injection?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks
&lt;br&gt;&amp;gt; Pedro Félix
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/NanoContainer---PicoContainer---Users-f2737.html&quot; embed=&quot;fixTarget[2737]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/How-does-picocontainer-handles-constructor-exceptions-tp26218725p26220686.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26218725</id>
	<title>How does picocontainer handles constructor exceptions</title>
	<published>2009-11-05T09:16:46Z</published>
	<updated>2009-11-05T09:16:46Z</updated>
	<author>
		<name>Pedro Félix</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;How does picocontainer handles exceptions (checked or unchecked) throwed by
&lt;br&gt;the constructor during constructor injection?
&lt;br&gt;&lt;br&gt;Thanks
&lt;br&gt;Pedro Félix
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/NanoContainer---PicoContainer---Users-f2737.html&quot; embed=&quot;fixTarget[2737]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/How-does-picocontainer-handles-constructor-exceptions-tp26218725p26218725.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26164462</id>
	<title>PicoContainer 2.9 released.</title>
	<published>2009-11-02T06:13:54Z</published>
	<updated>2009-11-02T06:13:54Z</updated>
	<author>
		<name>Paul Hammant-3</name>
	</author>
	<content type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body style=&quot;word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; &quot;&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;Notes -&amp;nbsp;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 16px; color: rgb(85, 85, 85); &quot;&gt;&lt;div style=&quot;margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0.4em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; &quot;&gt;New (since 2.8.3):&lt;/div&gt;&lt;ul style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; list-style-type: disc; list-style-position: initial; list-style-image: initial; background-position: initial initial; &quot;&gt;&lt;li style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 35px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-family: Verdana, Helvetica, Arial, sans-serif; background-position: initial initial; &quot;&gt;Lifecycle strategy allows for concept of lazy starting. This means components are started at first access.&amp;nbsp;&lt;a href=&quot;http://jira.codehaus.org/browse/PICO-355&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; text-decoration: none; color: rgb(0, 153, 0); background-position: initial initial; &quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;PICO-355&lt;/a&gt;&lt;/li&gt;&lt;li style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 35px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-family: Verdana, Helvetica, Arial, sans-serif; background-position: initial initial; &quot;&gt;Regex collecting of components for injection, or just on getComponent() now built in.&lt;/li&gt;&lt;/ul&gt;&lt;div style=&quot;margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0.4em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; &quot;&gt;Changes (versus 2.8.3):&lt;/div&gt;&lt;ul style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; list-style-type: disc; list-style-position: initial; list-style-image: initial; background-position: initial initial; &quot;&gt;&lt;li style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 35px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-family: Verdana, Helvetica, Arial, sans-serif; background-position: initial initial; &quot;&gt;Purposeful injection of a Null parameter fixed&amp;nbsp;&lt;a href=&quot;http://jira.codehaus.org/browse/PICO-364&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; text-decoration: none; color: rgb(0, 153, 0); background-position: initial initial; &quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;PICO-364&lt;/a&gt;&lt;/li&gt;&lt;li style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 35px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-family: Verdana, Helvetica, Arial, sans-serif; background-position: initial initial; &quot;&gt;Small performance improvements for getAdapter/getInstance&lt;/li&gt;&lt;li style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 35px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-family: Verdana, Helvetica, Arial, sans-serif; background-position: initial initial; &quot;&gt;Dependencies for Log4J and SLF4J moved forward&lt;/li&gt;&lt;li style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 35px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-family: Verdana, Helvetica, Arial, sans-serif; background-position: initial initial; &quot;&gt;Paranamer upgraded to 2.1&lt;/li&gt;&lt;li style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 35px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-family: Verdana, Helvetica, Arial, sans-serif; background-position: initial initial; &quot;&gt;Exception in Lifecycle methods bug fixed&amp;nbsp;&lt;a href=&quot;http://jira.codehaus.org/browse/PICO-363&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; text-decoration: none; color: rgb(0, 153, 0); background-position: initial initial; &quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;PICO-363&lt;/a&gt;&lt;/li&gt;&lt;li style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 35px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-family: Verdana, Helvetica, Arial, sans-serif; background-position: initial initial; &quot;&gt;PicoBuilder able to do more with Lifecycle strategies&lt;/li&gt;&lt;li style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 35px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-family: Verdana, Helvetica, Arial, sans-serif; background-position: initial initial; &quot;&gt;Factory Injection improved with an 'InjectInto' type&amp;nbsp;&lt;a href=&quot;http://jira.codehaus.org/browse/PICO-358&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; text-decoration: none; color: rgb(0, 153, 0); background-position: initial initial; &quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;PICO-358&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; &quot;&gt;&lt;div&gt;Regards,&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;- Paul&lt;/div&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;br&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/NanoContainer---PicoContainer---Dev-f2736.html&quot; embed=&quot;fixTarget[2736]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/PicoContainer-2.9-released.-tp26164462p26164462.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26164461</id>
	<title>PicoContainer 2.9 released.</title>
	<published>2009-11-02T06:13:54Z</published>
	<updated>2009-11-02T06:13:54Z</updated>
	<author>
		<name>Paul Hammant-3</name>
	</author>
	<content type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body style=&quot;word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; &quot;&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;Notes -&amp;nbsp;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 16px; color: rgb(85, 85, 85); &quot;&gt;&lt;div style=&quot;margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0.4em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; &quot;&gt;New (since 2.8.3):&lt;/div&gt;&lt;ul style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; list-style-type: disc; list-style-position: initial; list-style-image: initial; background-position: initial initial; &quot;&gt;&lt;li style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 35px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-family: Verdana, Helvetica, Arial, sans-serif; background-position: initial initial; &quot;&gt;Lifecycle strategy allows for concept of lazy starting. This means components are started at first access.&amp;nbsp;&lt;a href=&quot;http://jira.codehaus.org/browse/PICO-355&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; text-decoration: none; color: rgb(0, 153, 0); background-position: initial initial; &quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;PICO-355&lt;/a&gt;&lt;/li&gt;&lt;li style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 35px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-family: Verdana, Helvetica, Arial, sans-serif; background-position: initial initial; &quot;&gt;Regex collecting of components for injection, or just on getComponent() now built in.&lt;/li&gt;&lt;/ul&gt;&lt;div style=&quot;margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0.4em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; &quot;&gt;Changes (versus 2.8.3):&lt;/div&gt;&lt;ul style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; list-style-type: disc; list-style-position: initial; list-style-image: initial; background-position: initial initial; &quot;&gt;&lt;li style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 35px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-family: Verdana, Helvetica, Arial, sans-serif; background-position: initial initial; &quot;&gt;Purposeful injection of a Null parameter fixed&amp;nbsp;&lt;a href=&quot;http://jira.codehaus.org/browse/PICO-364&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; text-decoration: none; color: rgb(0, 153, 0); background-position: initial initial; &quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;PICO-364&lt;/a&gt;&lt;/li&gt;&lt;li style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 35px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-family: Verdana, Helvetica, Arial, sans-serif; background-position: initial initial; &quot;&gt;Small performance improvements for getAdapter/getInstance&lt;/li&gt;&lt;li style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 35px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-family: Verdana, Helvetica, Arial, sans-serif; background-position: initial initial; &quot;&gt;Dependencies for Log4J and SLF4J moved forward&lt;/li&gt;&lt;li style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 35px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-family: Verdana, Helvetica, Arial, sans-serif; background-position: initial initial; &quot;&gt;Paranamer upgraded to 2.1&lt;/li&gt;&lt;li style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 35px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-family: Verdana, Helvetica, Arial, sans-serif; background-position: initial initial; &quot;&gt;Exception in Lifecycle methods bug fixed&amp;nbsp;&lt;a href=&quot;http://jira.codehaus.org/browse/PICO-363&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; text-decoration: none; color: rgb(0, 153, 0); background-position: initial initial; &quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;PICO-363&lt;/a&gt;&lt;/li&gt;&lt;li style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 35px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-family: Verdana, Helvetica, Arial, sans-serif; background-position: initial initial; &quot;&gt;PicoBuilder able to do more with Lifecycle strategies&lt;/li&gt;&lt;li style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 35px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-family: Verdana, Helvetica, Arial, sans-serif; background-position: initial initial; &quot;&gt;Factory Injection improved with an 'InjectInto' type&amp;nbsp;&lt;a href=&quot;http://jira.codehaus.org/browse/PICO-358&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; text-decoration: none; color: rgb(0, 153, 0); background-position: initial initial; &quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;PICO-358&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; &quot;&gt;&lt;div&gt;Regards,&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;- Paul&lt;/div&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;br&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/NanoContainer---PicoContainer---Users-f2737.html&quot; embed=&quot;fixTarget[2737]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/PicoContainer-2.9-released.-tp26164461p26164461.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26110433</id>
	<title>Re: PicoContainer 2.9 release ?</title>
	<published>2009-10-29T03:18:34Z</published>
	<updated>2009-10-29T03:18:34Z</updated>
	<author>
		<name>Jörg Schaible-2</name>
	</author>
	<content type="html">Mauro Talevi wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Michael Rimovm wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; We've modest new functionality for Lazy lifecycle, improves for null
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; handling, and a bunch of bug fixes.
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Any objections to doing a release tomorrow?
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; Nope! Sounds like a plan.
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; +1
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; P.S. Jörg, thanks for the pointer to the Versions plugin! &amp;nbsp;Cool stuff.
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Yes, it's quite useful!
&lt;/div&gt;&lt;br&gt;Especially for plugins - yes. Stephen Conolly did a good job. There's also a
&lt;br&gt;display-dependency-updates goal - however, here you have to keep a close
&lt;br&gt;eye on the report. If the version does not follow the Maven strategy -x.y.z
&lt;br&gt;or the metadata in the remote repo is incomplete or wrong, then the
&lt;br&gt;reported versions are not &amp;nbsp;really helpful (for XStream):
&lt;br&gt;&lt;br&gt;[INFO] &amp;nbsp; jmock:jmock ................................. 1.0.1 -&amp;gt;
&lt;br&gt;20031129.200437
&lt;br&gt;&lt;br&gt;Nonsense.
&lt;br&gt;&lt;br&gt;[INFO] &amp;nbsp; junit:junit ............................................. 3.8.1 -&amp;gt;
&lt;br&gt;4.4
&lt;br&gt;&lt;br&gt;We have 4.5, but it's missing in central's metadata ...
&lt;br&gt;&lt;br&gt;[INFO] &amp;nbsp; xml-apis:xml-apis .................................... 1.3.04 -&amp;gt;
&lt;br&gt;2.0.2
&lt;br&gt;[INFO] &amp;nbsp; xmlpull:xmlpull ........................... 1.1.3.1 -&amp;gt;
&lt;br&gt;1.1.3.4d_b4_min
&lt;br&gt;&lt;br&gt;Both versions are invalid.
&lt;br&gt;&lt;br&gt;So use it with care :)
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Jörg
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/NanoContainer---PicoContainer---Dev-f2736.html&quot; embed=&quot;fixTarget[2736]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/PicoContainer-2.9-release---tp26098904p26110433.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26110175</id>
	<title>Re: PicoContainer 2.9 release ?</title>
	<published>2009-10-29T02:50:13Z</published>
	<updated>2009-10-29T02:50:13Z</updated>
	<author>
		<name>Mauro Talevi</name>
	</author>
	<content type="html">Michael Rimovm wrote:
&lt;br&gt;&amp;gt;&amp;gt; We've modest new functionality for Lazy lifecycle, improves for null &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; handling, and a bunch of bug fixes.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; Any objections to doing a release tomorrow?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Nope! Sounds like a plan.
&lt;br&gt;&amp;gt; 				
&lt;br&gt;&lt;br&gt;+1
&lt;br&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; P.S. Jörg, thanks for the pointer to the Versions plugin! &amp;nbsp;Cool stuff.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&lt;br&gt;Yes, it's quite useful!
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/NanoContainer---PicoContainer---Dev-f2736.html&quot; embed=&quot;fixTarget[2736]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/PicoContainer-2.9-release---tp26098904p26110175.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26103140</id>
	<title>Re: PicoContainer 2.9 release ?</title>
	<published>2009-10-28T15:14:04Z</published>
	<updated>2009-10-28T15:14:04Z</updated>
	<author>
		<name>Paul Hammant-3</name>
	</author>
	<content type="html">&amp;gt; P.S. Jörg, thanks for the pointer to the Versions plugin! &amp;nbsp;Cool stuff.
&lt;br&gt;&lt;br&gt;Like that? &amp;nbsp;Wait until you try out &amp;nbsp;...
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; mvn dependency:tree
&lt;br&gt;&lt;br&gt;- Paul
&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/NanoContainer---PicoContainer---Dev-f2736.html&quot; embed=&quot;fixTarget[2736]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/PicoContainer-2.9-release---tp26098904p26103140.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26103045</id>
	<title>RE: PicoContainer 2.9 release ?</title>
	<published>2009-10-28T15:08:36Z</published>
	<updated>2009-10-28T15:08:36Z</updated>
	<author>
		<name>Michael Rimov</name>
	</author>
	<content type="html">&amp;gt;We've modest new functionality for Lazy lifecycle, improves for null &amp;nbsp;
&lt;br&gt;&amp;gt;handling, and a bunch of bug fixes.
&lt;br&gt;&lt;br&gt;&amp;gt;Any objections to doing a release tomorrow?
&lt;br&gt;&lt;br&gt;Nope! Sounds like a plan.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -Mike
&lt;br&gt;&lt;br&gt;P.S. Jörg, thanks for the pointer to the Versions plugin! &amp;nbsp;Cool stuff.
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/NanoContainer---PicoContainer---Dev-f2736.html&quot; embed=&quot;fixTarget[2736]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/PicoContainer-2.9-release---tp26098904p26103045.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26098904</id>
	<title>PicoContainer 2.9 release ?</title>
	<published>2009-10-28T10:37:44Z</published>
	<updated>2009-10-28T10:37:44Z</updated>
	<author>
		<name>Paul Hammant-3</name>
	</author>
	<content type="html">We've modest new functionality for Lazy lifecycle, improves for null &amp;nbsp;
&lt;br&gt;handling, and a bunch of bug fixes.
&lt;br&gt;&lt;br&gt;Any objections to doing a release tomorrow?
&lt;br&gt;&lt;br&gt;I've to look some more at the plugin versions declarations in poms, &amp;nbsp;
&lt;br&gt;but have nothing else backlogged.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;&lt;br&gt;- Paul
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/NanoContainer---PicoContainer---Dev-f2736.html&quot; embed=&quot;fixTarget[2736]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/PicoContainer-2.9-release---tp26098904p26098904.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25683000</id>
	<title>Re: Lazy lifecycle</title>
	<published>2009-09-30T08:07:16Z</published>
	<updated>2009-09-30T08:07:16Z</updated>
	<author>
		<name>mihobson</name>
	</author>
	<content type="html">Thanks in advance Paul.
&lt;br&gt;&lt;br&gt;2009/9/30 Paul Hammant &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25683000&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;paul@...&lt;/a&gt;&amp;gt;:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Sorry Mark, I'll take a look tonight.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; - Paul
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On Sep 30, 2009, at 9:38 AM, Mark Hobson wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Anyone have any pointers regarding this?
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Cheers,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Mark
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 2009/9/23 Mark Hobson &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25683000&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;markhobson@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Finally got back to this issue after a slight delay!  I've reopened
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; PICO-355 as the original fix didn't fulfil my requirements.  I'll try
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; to explain better this time..
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Currently, if you register a startable component, it is started when
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; the container is started.  I want a lifecycle strategy that only
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; starts components when they are instantiated for use.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; For example, this is what currently happens ('A' is a Startable
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; component):
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 1) pico.as(CACHE).addComponent(A.class)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 2) pico.start()
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 3) (A is started)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; This is what I want to achieve:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 1) pico.as(CACHE).addComponent(A.class)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 2) pico.start()
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 3) (A is *not* started)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 4) pico.getComponent(A.class)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 5) (A is started)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Similarly, stop and dispose need to behave accordingly.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I've attached the above example as PICO-355-test2.patch under
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; PICO-355.  I'm happy to have a stab at providing a fix if someone
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; could point me in the right direction.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Cheers,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Mark
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 2009/6/11 Paul Hammant &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25683000&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;paul@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Sure there is plenty of time for me to change it.  send me a modified
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; testcase if you so desire :)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; - Paul
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; On Jun 11, 2009, at 9:14 AM, Mark Hobson wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Strange, I didn't receive any email notifications.  Thanks for the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; quick fix, although I'm not sure that that's what I need.  I'll try to
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; find some time soon to have a proper look and let you know.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Cheers,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Mark
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 2009/6/8 Paul Hammant &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25683000&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;paul@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; fixed :)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; - Paul
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; On Jun 8, 2009, at 5:31 AM, Mark Hobson wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Paul, did you get a chance to take a look at this?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Cheers,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Mark
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 2009/5/27 Mark Hobson &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25683000&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;markhobson@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 2009/5/26 Paul Hammant &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25683000&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;paul@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; That should be easy.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Cool :)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Can to get us half way by writing a testcase :-)  Perhaps a mod to
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; StartableLifecycleStrategyTestCase
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I expect I'll be subclassing (or better) StartableLifecycleStrategy
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ...
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Sure, I raised PICO-355 and attached a test case.  I'm not sure how
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; you want to implement this; I changed
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; testThirdPartyStartableAndDisposable to be AUTOMATIC to signify an
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; eager lifecycle, but this is obviously quite a change that will
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; affect
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; users.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Cheers,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Mark
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;  &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;  &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;  &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;  &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;   &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;   &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/NanoContainer---PicoContainer---Dev-f2736.html&quot; embed=&quot;fixTarget[2736]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Lazy-lifecycle-tp23725854p25683000.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25682587</id>
	<title>Re: Lazy lifecycle</title>
	<published>2009-09-30T07:47:43Z</published>
	<updated>2009-09-30T07:47:43Z</updated>
	<author>
		<name>Paul Hammant-3</name>
	</author>
	<content type="html">Sorry Mark, I'll take a look tonight.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;&lt;br&gt;- Paul
&lt;br&gt;&lt;br&gt;On Sep 30, 2009, at 9:38 AM, Mark Hobson wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Anyone have any pointers regarding this?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Cheers,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Mark
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 2009/9/23 Mark Hobson &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25682587&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;markhobson@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt;&amp;gt; Finally got back to this issue after a slight delay! &amp;nbsp;I've reopened
&lt;br&gt;&amp;gt;&amp;gt; PICO-355 as the original fix didn't fulfil my requirements. &amp;nbsp;I'll try
&lt;br&gt;&amp;gt;&amp;gt; to explain better this time..
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Currently, if you register a startable component, it is started when
&lt;br&gt;&amp;gt;&amp;gt; the container is started. &amp;nbsp;I want a lifecycle strategy that only
&lt;br&gt;&amp;gt;&amp;gt; starts components when they are instantiated for use.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; For example, this is what currently happens ('A' is a Startable &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; component):
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 1) pico.as(CACHE).addComponent(A.class)
&lt;br&gt;&amp;gt;&amp;gt; 2) pico.start()
&lt;br&gt;&amp;gt;&amp;gt; 3) (A is started)
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; This is what I want to achieve:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 1) pico.as(CACHE).addComponent(A.class)
&lt;br&gt;&amp;gt;&amp;gt; 2) pico.start()
&lt;br&gt;&amp;gt;&amp;gt; 3) (A is *not* started)
&lt;br&gt;&amp;gt;&amp;gt; 4) pico.getComponent(A.class)
&lt;br&gt;&amp;gt;&amp;gt; 5) (A is started)
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Similarly, stop and dispose need to behave accordingly.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I've attached the above example as PICO-355-test2.patch under
&lt;br&gt;&amp;gt;&amp;gt; PICO-355. &amp;nbsp;I'm happy to have a stab at providing a fix if someone
&lt;br&gt;&amp;gt;&amp;gt; could point me in the right direction.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Cheers,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Mark
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 2009/6/11 Paul Hammant &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25682587&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;paul@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Sure there is plenty of time for me to change it. &amp;nbsp;send me a &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; modified
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; testcase if you so desire :)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; - Paul
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; On Jun 11, 2009, at 9:14 AM, Mark Hobson wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Strange, I didn't receive any email notifications. &amp;nbsp;Thanks for the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; quick fix, although I'm not sure that that's what I need. &amp;nbsp;I'll &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; try to
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; find some time soon to have a proper look and let you know.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Cheers,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Mark
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 2009/6/8 Paul Hammant &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25682587&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;paul@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; fixed :)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; - Paul
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; On Jun 8, 2009, at 5:31 AM, Mark Hobson wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Paul, did you get a chance to take a look at this?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Cheers,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Mark
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 2009/5/27 Mark Hobson &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25682587&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;markhobson@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 2009/5/26 Paul Hammant &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25682587&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;paul@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; That should be easy.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Cool :)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Can to get us half way by writing a testcase :-) &amp;nbsp;Perhaps a &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; mod to
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; StartableLifecycleStrategyTestCase
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I expect I'll be subclassing (or better) &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; StartableLifecycleStrategy
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ...
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Sure, I raised PICO-355 and attached a test case. &amp;nbsp;I'm not &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; sure how
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; you want to implement this; I changed
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; testThirdPartyStartableAndDisposable to be AUTOMATIC to &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; signify an
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; eager lifecycle, but this is obviously quite a change that &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; will affect
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; users.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Cheers,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Mark
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;&lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;&lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/NanoContainer---PicoContainer---Dev-f2736.html&quot; embed=&quot;fixTarget[2736]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Lazy-lifecycle-tp23725854p25682587.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25682391</id>
	<title>Re: Lazy lifecycle</title>
	<published>2009-09-30T07:38:32Z</published>
	<updated>2009-09-30T07:38:32Z</updated>
	<author>
		<name>mihobson</name>
	</author>
	<content type="html">Anyone have any pointers regarding this?
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;&lt;br&gt;Mark
&lt;br&gt;&lt;br&gt;2009/9/23 Mark Hobson &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25682391&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;markhobson@...&lt;/a&gt;&amp;gt;:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Finally got back to this issue after a slight delay!  I've reopened
&lt;br&gt;&amp;gt; PICO-355 as the original fix didn't fulfil my requirements.  I'll try
&lt;br&gt;&amp;gt; to explain better this time..
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Currently, if you register a startable component, it is started when
&lt;br&gt;&amp;gt; the container is started.  I want a lifecycle strategy that only
&lt;br&gt;&amp;gt; starts components when they are instantiated for use.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; For example, this is what currently happens ('A' is a Startable component):
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 1) pico.as(CACHE).addComponent(A.class)
&lt;br&gt;&amp;gt; 2) pico.start()
&lt;br&gt;&amp;gt; 3) (A is started)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This is what I want to achieve:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 1) pico.as(CACHE).addComponent(A.class)
&lt;br&gt;&amp;gt; 2) pico.start()
&lt;br&gt;&amp;gt; 3) (A is *not* started)
&lt;br&gt;&amp;gt; 4) pico.getComponent(A.class)
&lt;br&gt;&amp;gt; 5) (A is started)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Similarly, stop and dispose need to behave accordingly.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I've attached the above example as PICO-355-test2.patch under
&lt;br&gt;&amp;gt; PICO-355.  I'm happy to have a stab at providing a fix if someone
&lt;br&gt;&amp;gt; could point me in the right direction.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Cheers,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Mark
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 2009/6/11 Paul Hammant &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25682391&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;paul@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt;&amp;gt; Sure there is plenty of time for me to change it.  send me a modified
&lt;br&gt;&amp;gt;&amp;gt; testcase if you so desire :)
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; - Paul
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; On Jun 11, 2009, at 9:14 AM, Mark Hobson wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Strange, I didn't receive any email notifications.  Thanks for the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; quick fix, although I'm not sure that that's what I need.  I'll try to
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; find some time soon to have a proper look and let you know.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Cheers,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Mark
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 2009/6/8 Paul Hammant &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25682391&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;paul@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; fixed :)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; - Paul
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; On Jun 8, 2009, at 5:31 AM, Mark Hobson wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Paul, did you get a chance to take a look at this?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Cheers,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Mark
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 2009/5/27 Mark Hobson &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25682391&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;markhobson@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 2009/5/26 Paul Hammant &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25682391&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;paul@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; That should be easy.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Cool :)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Can to get us half way by writing a testcase :-)  Perhaps a mod to
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; StartableLifecycleStrategyTestCase
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I expect I'll be subclassing (or better) StartableLifecycleStrategy
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ...
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Sure, I raised PICO-355 and attached a test case.  I'm not sure how
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; you want to implement this; I changed
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; testThirdPartyStartableAndDisposable to be AUTOMATIC to signify an
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; eager lifecycle, but this is obviously quite a change that will affect
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; users.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Cheers,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Mark
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;  &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;  &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;   &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;   &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/NanoContainer---PicoContainer---Dev-f2736.html&quot; embed=&quot;fixTarget[2736]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Lazy-lifecycle-tp23725854p25682391.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25575184</id>
	<title>Re: Lazy lifecycle</title>
	<published>2009-09-23T04:16:24Z</published>
	<updated>2009-09-23T04:16:24Z</updated>
	<author>
		<name>mihobson</name>
	</author>
	<content type="html">Finally got back to this issue after a slight delay! &amp;nbsp;I've reopened
&lt;br&gt;PICO-355 as the original fix didn't fulfil my requirements. &amp;nbsp;I'll try
&lt;br&gt;to explain better this time..
&lt;br&gt;&lt;br&gt;Currently, if you register a startable component, it is started when
&lt;br&gt;the container is started. &amp;nbsp;I want a lifecycle strategy that only
&lt;br&gt;starts components when they are instantiated for use.
&lt;br&gt;&lt;br&gt;For example, this is what currently happens ('A' is a Startable component):
&lt;br&gt;&lt;br&gt;1) pico.as(CACHE).addComponent(A.class)
&lt;br&gt;2) pico.start()
&lt;br&gt;3) (A is started)
&lt;br&gt;&lt;br&gt;This is what I want to achieve:
&lt;br&gt;&lt;br&gt;1) pico.as(CACHE).addComponent(A.class)
&lt;br&gt;2) pico.start()
&lt;br&gt;3) (A is *not* started)
&lt;br&gt;4) pico.getComponent(A.class)
&lt;br&gt;5) (A is started)
&lt;br&gt;&lt;br&gt;Similarly, stop and dispose need to behave accordingly.
&lt;br&gt;&lt;br&gt;I've attached the above example as PICO-355-test2.patch under
&lt;br&gt;PICO-355. &amp;nbsp;I'm happy to have a stab at providing a fix if someone
&lt;br&gt;could point me in the right direction.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;&lt;br&gt;Mark
&lt;br&gt;&lt;br&gt;2009/6/11 Paul Hammant &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25575184&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;paul@...&lt;/a&gt;&amp;gt;:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Sure there is plenty of time for me to change it.  send me a modified
&lt;br&gt;&amp;gt; testcase if you so desire :)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; - Paul
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On Jun 11, 2009, at 9:14 AM, Mark Hobson wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Strange, I didn't receive any email notifications.  Thanks for the
&lt;br&gt;&amp;gt;&amp;gt; quick fix, although I'm not sure that that's what I need.  I'll try to
&lt;br&gt;&amp;gt;&amp;gt; find some time soon to have a proper look and let you know.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Cheers,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Mark
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 2009/6/8 Paul Hammant &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25575184&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;paul@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; fixed :)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; - Paul
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; On Jun 8, 2009, at 5:31 AM, Mark Hobson wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Paul, did you get a chance to take a look at this?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Cheers,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Mark
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 2009/5/27 Mark Hobson &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25575184&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;markhobson@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 2009/5/26 Paul Hammant &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25575184&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;paul@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; That should be easy.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Cool :)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Can to get us half way by writing a testcase :-)  Perhaps a mod to
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; StartableLifecycleStrategyTestCase
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I expect I'll be subclassing (or better) StartableLifecycleStrategy
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ...
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Sure, I raised PICO-355 and attached a test case.  I'm not sure how
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; you want to implement this; I changed
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; testThirdPartyStartableAndDisposable to be AUTOMATIC to signify an
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; eager lifecycle, but this is obviously quite a change that will affect
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; users.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Cheers,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Mark
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;  &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;  &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;   &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;   &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/NanoContainer---PicoContainer---Dev-f2736.html&quot; embed=&quot;fixTarget[2736]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Lazy-lifecycle-tp23725854p25575184.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25478120</id>
	<title>Re: Using regex to gather a list of components for injection</title>
	<published>2009-09-16T11:41:40Z</published>
	<updated>2009-09-16T11:41:40Z</updated>
	<author>
		<name>Paul Hammant-3</name>
	</author>
	<content type="html">&amp;gt; BTW, I'd prefer to composition/decoration of ComponentMonitor over &amp;nbsp;
&lt;br&gt;&amp;gt; inheritance.
&lt;br&gt;&lt;br&gt;I completely agree. &amp;nbsp;As is, it was just to satisfy a unit test.
&lt;br&gt;&lt;br&gt;- Paul
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/NanoContainer---PicoContainer---Dev-f2736.html&quot; embed=&quot;fixTarget[2736]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Using-regex-to-gather-a-list-of-components-for-injection-tp25452845p25478120.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25475869</id>
	<title>Re: Using regex to gather a list of components for injection</title>
	<published>2009-09-16T08:06:36Z</published>
	<updated>2009-09-16T08:06:36Z</updated>
	<author>
		<name>Mauro Talevi</name>
	</author>
	<content type="html">Michael Rimov wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://fisheye.codehaus.org/changelog/picocontainer/?cs=5523&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://fisheye.codehaus.org/changelog/picocontainer/?cs=5523&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I've started something, that should end up in Gems. &amp;nbsp;It is related to
&lt;br&gt;&amp;gt;&amp;gt; ComponentMonitor in that it leverages the noComponentFound
&lt;br&gt;&amp;gt;&amp;gt; functionality. &amp;nbsp;Thoughts as to name for it? &amp;nbsp;It makes components that
&lt;br&gt;&amp;gt;&amp;gt; are not ordinarily in the container. &amp;nbsp;a Missing Component maker if you
&lt;br&gt;&amp;gt;&amp;gt; like (though as you know by now I should never be allowed to name
&lt;br&gt;&amp;gt;&amp;gt; classes).
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; You know, I'd like to see these kinds of things somehow tagged with the Moniker
&lt;br&gt;&amp;gt; along the lines of &amp;quot;ExternalProvider&amp;quot;, since they're bending ComponentMonitor
&lt;br&gt;&amp;gt; into a Provider. &amp;nbsp;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Perhaps a marker interface to allow easy tracing through the IDE and Javadocs?
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;Yes, I agree, it kinda warrants more than a monitor. &amp;nbsp;We could introduce 
&lt;br&gt;an AutoComposer concept and have a RegexAutoComposer as the regex impl.
&lt;br&gt;&lt;br&gt;BTW, I'd prefer to composition/decoration of ComponentMonitor over 
&lt;br&gt;inheritance.
&lt;br&gt;&lt;br&gt;&amp;gt; Other than that, I agree with Joerg..... 
&lt;br&gt;&lt;br&gt;Yep, definitely a Regex impl should have Regex in its name.
&lt;br&gt;&lt;br&gt;Cheers
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/NanoContainer---PicoContainer---Dev-f2736.html&quot; embed=&quot;fixTarget[2736]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Using-regex-to-gather-a-list-of-components-for-injection-tp25452845p25475869.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25458664</id>
	<title>RE: Using regex to gather a list of components for injection</title>
	<published>2009-09-15T10:48:33Z</published>
	<updated>2009-09-15T10:48:33Z</updated>
	<author>
		<name>Michael Rimov</name>
	</author>
	<content type="html">&amp;gt; &lt;a href=&quot;http://fisheye.codehaus.org/changelog/picocontainer/?cs=5523&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://fisheye.codehaus.org/changelog/picocontainer/?cs=5523&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I've started something, that should end up in Gems. &amp;nbsp;It is related to
&lt;br&gt;&amp;gt; ComponentMonitor in that it leverages the noComponentFound
&lt;br&gt;&amp;gt; functionality. &amp;nbsp;Thoughts as to name for it? &amp;nbsp;It makes components that
&lt;br&gt;&amp;gt; are not ordinarily in the container. &amp;nbsp;a Missing Component maker if you
&lt;br&gt;&amp;gt; like (though as you know by now I should never be allowed to name
&lt;br&gt;&amp;gt; classes).
&lt;br&gt;&lt;br&gt;You know, I'd like to see these kinds of things somehow tagged with the Moniker
&lt;br&gt;along the lines of &amp;quot;ExternalProvider&amp;quot;, since they're bending ComponentMonitor
&lt;br&gt;into a Provider. &amp;nbsp;
&lt;br&gt;&lt;br&gt;Perhaps a marker interface to allow easy tracing through the IDE and Javadocs?
&lt;br&gt;&lt;br&gt;Other than that, I agree with Joerg..... 
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -Mike
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/NanoContainer---PicoContainer---Dev-f2736.html&quot; embed=&quot;fixTarget[2736]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Using-regex-to-gather-a-list-of-components-for-injection-tp25452845p25458664.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25457374</id>
	<title>Re: Using regex to gather a list of components for injection</title>
	<published>2009-09-15T09:33:50Z</published>
	<updated>2009-09-15T09:33:50Z</updated>
	<author>
		<name>Jörg Schaible-2</name>
	</author>
	<content type="html">Paul Hammant wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; &lt;a href=&quot;http://fisheye.codehaus.org/changelog/picocontainer/?cs=5523&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://fisheye.codehaus.org/changelog/picocontainer/?cs=5523&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I've started something, that should end up in Gems. &amp;nbsp;It is related to
&lt;br&gt;&amp;gt; ComponentMonitor in that it leverages the noComponentFound
&lt;br&gt;&amp;gt; functionality. &amp;nbsp;Thoughts as to name for it? &amp;nbsp;It makes components that
&lt;br&gt;&amp;gt; are not ordinarily in the container. &amp;nbsp;a Missing Component maker if you
&lt;br&gt;&amp;gt; like (though as you know by now I should never be allowed to name
&lt;br&gt;&amp;gt; classes).
&lt;br&gt;&lt;br&gt;What's wrong with RegexComposer ?
&lt;br&gt;&lt;br&gt;- Jörg
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/NanoContainer---PicoContainer---Dev-f2736.html&quot; embed=&quot;fixTarget[2736]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Using-regex-to-gather-a-list-of-components-for-injection-tp25452845p25457374.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25452845</id>
	<title>Using regex to gather a list of components for injection</title>
	<published>2009-09-15T05:12:27Z</published>
	<updated>2009-09-15T05:12:27Z</updated>
	<author>
		<name>Paul Hammant-3</name>
	</author>
	<content type="html">&lt;a href=&quot;http://fisheye.codehaus.org/changelog/picocontainer/?cs=5523&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://fisheye.codehaus.org/changelog/picocontainer/?cs=5523&lt;/a&gt;&lt;br&gt;&lt;br&gt;I've started something, that should end up in Gems. &amp;nbsp;It is related to &amp;nbsp;
&lt;br&gt;ComponentMonitor in that it leverages the noComponentFound &amp;nbsp;
&lt;br&gt;functionality. &amp;nbsp;Thoughts as to name for it? &amp;nbsp;It makes components that &amp;nbsp;
&lt;br&gt;are not ordinarily in the container. &amp;nbsp;a Missing Component maker if you &amp;nbsp;
&lt;br&gt;like (though as you know by now I should never be allowed to name &amp;nbsp;
&lt;br&gt;classes).
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;&lt;br&gt;- Paul
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/NanoContainer---PicoContainer---Dev-f2736.html&quot; embed=&quot;fixTarget[2736]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Using-regex-to-gather-a-list-of-components-for-injection-tp25452845p25452845.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25452729</id>
	<title>Re: List of named components as arg to constructor param</title>
	<published>2009-09-15T05:06:29Z</published>
	<updated>2009-09-15T05:06:29Z</updated>
	<author>
		<name>Paul Hammant-3</name>
	</author>
	<content type="html">Actually, a bug in PicoContainer itself would prevent that from &amp;nbsp;
&lt;br&gt;working. &amp;nbsp;There's a SNAPSHOT that's been uploaded that will work &amp;nbsp;
&lt;br&gt;better ( picocontainer 2.9-20090915.120308-1 )
&lt;br&gt;&lt;br&gt;Watch for some new architecture in the next release that will allow &amp;nbsp;
&lt;br&gt;for regex to be used in component gathering for situations like this.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;&lt;br&gt;- Paul
&lt;br&gt;&lt;br&gt;On Sep 12, 2009, at 9:57 AM, Paul Hammant wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; pico = new DefaultPicoContainer(new NullComponentMonitor() {
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;public Object noComponentFound(MutablePicoContainer container, &amp;nbsp;
&lt;br&gt;&amp;gt; Object componentKey);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; String[] keys = componentKey.split(&amp;quot;,&amp;quot;);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; List&amp;lt;Element&amp;gt;() elements = new ArrayList&amp;lt;Element&amp;gt;();
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (String key in keys) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; elements.add(container.get(key));
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return new Composition(elements);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; });
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; pico.addComponent(&amp;quot;elementA&amp;quot;, Element.class, new ConstantParameter 
&lt;br&gt;&amp;gt; (&amp;quot;configA&amp;quot;))
&lt;br&gt;&amp;gt; pico.addComponent(&amp;quot;elementB&amp;quot;, Element.class, new ConstantParameter 
&lt;br&gt;&amp;gt; (&amp;quot;configB&amp;quot;))
&lt;br&gt;&amp;gt; pico.addComponent(&amp;quot;elementC&amp;quot;, Element.class, new ConstantParameter 
&lt;br&gt;&amp;gt; (&amp;quot;configC&amp;quot;))
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; abComposition = pico.getComponent(&amp;quot;elementA,elementB&amp;quot;);
&lt;br&gt;&amp;gt; bcComposition = pico.getComponent(&amp;quot;elementB,elementC&amp;quot;);
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; -----
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; No need to add Composition to the container for this specialized &amp;nbsp;
&lt;br&gt;&amp;gt; case, it'll be cached anyway for the key in question, unless you &amp;nbsp;
&lt;br&gt;&amp;gt; don't do caching in the PicoContainer setup. &amp;nbsp;You obviously have to &amp;nbsp;
&lt;br&gt;&amp;gt; be comfortable with participating in the List creation.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; You could aim at some smaller language in the missing key &amp;nbsp;
&lt;br&gt;&amp;gt; definition , of you were prepared to do more string processing in &amp;nbsp;
&lt;br&gt;&amp;gt; the noComponentFound(..).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;abComposition = pico.getComponent(&amp;quot;A,B&amp;quot;);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;abComposition = pico.getComponent(&amp;quot;AB&amp;quot;);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;abComposition = pico.getComponent(&amp;quot;compositionAB&amp;quot;);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;abComposition = pico.getComponent(&amp;quot;elems(A,B)&amp;quot;);
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; - Paul
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On Sep 11, 2009, at 5:38 AM, joe panico wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Hello,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I'm using PicoContainer 2.8.3.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I would like Pico to explicitly wire specific named (keyed) &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; components
&lt;br&gt;&amp;gt;&amp;gt; into a constructor arg for a List type param. For example:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; class Element{
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;private final String config;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;public Element(String config){
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; this.config = config
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt; }
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; class Composition{
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;private final List&amp;lt;Element&amp;gt; elements;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;public Composition(List&amp;lt;Element&amp;gt; elements){
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; this.elements = elements
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt; }
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; pico.addComponent(&amp;quot;elementA&amp;quot;, Element.class, new ConstantParameter 
&lt;br&gt;&amp;gt;&amp;gt; (&amp;quot;configA&amp;quot;))
&lt;br&gt;&amp;gt;&amp;gt; pico.addComponent(&amp;quot;elementB&amp;quot;, Element.class, new ConstantParameter 
&lt;br&gt;&amp;gt;&amp;gt; (&amp;quot;configB&amp;quot;))
&lt;br&gt;&amp;gt;&amp;gt; pico.addComponent(&amp;quot;elementC&amp;quot;, Element.class, new ConstantParameter 
&lt;br&gt;&amp;gt;&amp;gt; (&amp;quot;configC&amp;quot;))
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; pico.addComponent(&amp;quot;compositionAB&amp;quot;, Composition.class, ?tell it to use
&lt;br&gt;&amp;gt;&amp;gt; keys &amp;quot;elementA&amp;quot; + &amp;quot;elementB&amp;quot;?)
&lt;br&gt;&amp;gt;&amp;gt; pico.addComponent(&amp;quot;compositionBC&amp;quot;, Composition.class, ?tell it to use
&lt;br&gt;&amp;gt;&amp;gt; keys &amp;quot;elementB&amp;quot; + &amp;quot;elementC&amp;quot;?)
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; How do I achieve those last two lines of pseudo code? I don't care if
&lt;br&gt;&amp;gt;&amp;gt; the solution is not typesafe with respect to generics.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; thanks for any pointers.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Joe
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/NanoContainer---PicoContainer---Users-f2737.html&quot; embed=&quot;fixTarget[2737]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/List-of-named-components-as-arg-to-constructor-param-tp25398728p25452729.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25415288</id>
	<title>Re: List of named components as arg to constructor param</title>
	<published>2009-09-12T07:57:44Z</published>
	<updated>2009-09-12T07:57:44Z</updated>
	<author>
		<name>Paul Hammant-3</name>
	</author>
	<content type="html">pico = new DefaultPicoContainer(new NullComponentMonitor() {
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public Object noComponentFound(MutablePicoContainer container, &amp;nbsp;
&lt;br&gt;Object componentKey);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; String[] keys = componentKey.split(&amp;quot;,&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; List&amp;lt;Element&amp;gt;() elements = new ArrayList&amp;lt;Element&amp;gt;();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (String key in keys) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; elements.add(container.get(key));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return new Composition(elements);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;});
&lt;br&gt;&lt;br&gt;&lt;br&gt;pico.addComponent(&amp;quot;elementA&amp;quot;, Element.class, new ConstantParameter 
&lt;br&gt;(&amp;quot;configA&amp;quot;))
&lt;br&gt;pico.addComponent(&amp;quot;elementB&amp;quot;, Element.class, new ConstantParameter 
&lt;br&gt;(&amp;quot;configB&amp;quot;))
&lt;br&gt;pico.addComponent(&amp;quot;elementC&amp;quot;, Element.class, new ConstantParameter 
&lt;br&gt;(&amp;quot;configC&amp;quot;))
&lt;br&gt;&lt;br&gt;abComposition = pico.getComponent(&amp;quot;elementA,elementB&amp;quot;);
&lt;br&gt;bcComposition = pico.getComponent(&amp;quot;elementB,elementC&amp;quot;);
&lt;br&gt;&lt;br&gt;-----
&lt;br&gt;&lt;br&gt;No need to add Composition to the container for this specialized case, &amp;nbsp;
&lt;br&gt;it'll be cached anyway for the key in question, unless you don't do &amp;nbsp;
&lt;br&gt;caching in the PicoContainer setup. &amp;nbsp;You obviously have to be &amp;nbsp;
&lt;br&gt;comfortable with participating in the List creation.
&lt;br&gt;&lt;br&gt;You could aim at some smaller language in the missing key definition , &amp;nbsp;
&lt;br&gt;of you were prepared to do more string processing in the &amp;nbsp;
&lt;br&gt;noComponentFound(..).
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;abComposition = pico.getComponent(&amp;quot;A,B&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;abComposition = pico.getComponent(&amp;quot;AB&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;abComposition = pico.getComponent(&amp;quot;compositionAB&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;abComposition = pico.getComponent(&amp;quot;elems(A,B)&amp;quot;);
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;&lt;br&gt;- Paul
&lt;br&gt;&lt;br&gt;&lt;br&gt;On Sep 11, 2009, at 5:38 AM, joe panico wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hello,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'm using PicoContainer 2.8.3.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I would like Pico to explicitly wire specific named (keyed) components
&lt;br&gt;&amp;gt; into a constructor arg for a List type param. For example:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; class Element{
&lt;br&gt;&amp;gt; &amp;nbsp; private final String config;
&lt;br&gt;&amp;gt; &amp;nbsp; public Element(String config){
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.config = config
&lt;br&gt;&amp;gt; &amp;nbsp; }
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; class Composition{
&lt;br&gt;&amp;gt; &amp;nbsp; private final List&amp;lt;Element&amp;gt; elements;
&lt;br&gt;&amp;gt; &amp;nbsp; public Composition(List&amp;lt;Element&amp;gt; elements){
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.elements = elements
&lt;br&gt;&amp;gt; &amp;nbsp; }
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; pico.addComponent(&amp;quot;elementA&amp;quot;, Element.class, new ConstantParameter 
&lt;br&gt;&amp;gt; (&amp;quot;configA&amp;quot;))
&lt;br&gt;&amp;gt; pico.addComponent(&amp;quot;elementB&amp;quot;, Element.class, new ConstantParameter 
&lt;br&gt;&amp;gt; (&amp;quot;configB&amp;quot;))
&lt;br&gt;&amp;gt; pico.addComponent(&amp;quot;elementC&amp;quot;, Element.class, new ConstantParameter 
&lt;br&gt;&amp;gt; (&amp;quot;configC&amp;quot;))
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; pico.addComponent(&amp;quot;compositionAB&amp;quot;, Composition.class, ?tell it to use
&lt;br&gt;&amp;gt; keys &amp;quot;elementA&amp;quot; + &amp;quot;elementB&amp;quot;?)
&lt;br&gt;&amp;gt; pico.addComponent(&amp;quot;compositionBC&amp;quot;, Composition.class, ?tell it to use
&lt;br&gt;&amp;gt; keys &amp;quot;elementB&amp;quot; + &amp;quot;elementC&amp;quot;?)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; How do I achieve those last two lines of pseudo code? I don't care if
&lt;br&gt;&amp;gt; the solution is not typesafe with respect to generics.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; thanks for any pointers.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Joe
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/NanoContainer---PicoContainer---Users-f2737.html&quot; embed=&quot;fixTarget[2737]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/List-of-named-components-as-arg-to-constructor-param-tp25398728p25415288.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25398728</id>
	<title>List of named components as arg to constructor param</title>
	<published>2009-09-11T03:38:44Z</published>
	<updated>2009-09-11T03:38:44Z</updated>
	<author>
		<name>joe panico-2</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;&lt;br&gt;I'm using PicoContainer 2.8.3.
&lt;br&gt;&lt;br&gt;I would like Pico to explicitly wire specific named (keyed) components
&lt;br&gt;into a constructor arg for a List type param. For example:
&lt;br&gt;&lt;br&gt;class Element{
&lt;br&gt;&amp;nbsp; &amp;nbsp;private final String config;
&lt;br&gt;&amp;nbsp; &amp;nbsp;public Element(String config){
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; this.config = config
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;class Composition{
&lt;br&gt;&amp;nbsp; &amp;nbsp;private final List&amp;lt;Element&amp;gt; elements;
&lt;br&gt;&amp;nbsp; &amp;nbsp;public Composition(List&amp;lt;Element&amp;gt; elements){
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; this.elements = elements
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;pico.addComponent(&amp;quot;elementA&amp;quot;, Element.class, new ConstantParameter(&amp;quot;configA&amp;quot;))
&lt;br&gt;pico.addComponent(&amp;quot;elementB&amp;quot;, Element.class, new ConstantParameter(&amp;quot;configB&amp;quot;))
&lt;br&gt;pico.addComponent(&amp;quot;elementC&amp;quot;, Element.class, new ConstantParameter(&amp;quot;configC&amp;quot;))
&lt;br&gt;&lt;br&gt;pico.addComponent(&amp;quot;compositionAB&amp;quot;, Composition.class, ?tell it to use
&lt;br&gt;keys &amp;quot;elementA&amp;quot; + &amp;quot;elementB&amp;quot;?)
&lt;br&gt;pico.addComponent(&amp;quot;compositionBC&amp;quot;, Composition.class, ?tell it to use
&lt;br&gt;keys &amp;quot;elementB&amp;quot; + &amp;quot;elementC&amp;quot;?)
&lt;br&gt;&lt;br&gt;How do I achieve those last two lines of pseudo code? I don't care if
&lt;br&gt;the solution is not typesafe with respect to generics.
&lt;br&gt;&lt;br&gt;thanks for any pointers.
&lt;br&gt;&lt;br&gt;Joe
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/NanoContainer---PicoContainer---Users-f2737.html&quot; embed=&quot;fixTarget[2737]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/List-of-named-components-as-arg-to-constructor-param-tp25398728p25398728.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25310945</id>
	<title>Null Parameter Question asked on User List</title>
	<published>2009-09-05T11:01:02Z</published>
	<updated>2009-09-05T11:01:02Z</updated>
	<author>
		<name>Michael Rimov</name>
	</author>
	<content type="html">Re: &lt;a href=&quot;http://jira.codehaus.org/browse/PICO-364&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://jira.codehaus.org/browse/PICO-364&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;I wanted to ask you guys before changing this.
&lt;br&gt;&lt;br&gt;Since Paul refactored the Parameter return type, shouldn't it be safe to say
&lt;br&gt;that SingleMemberInjector.isNullParamAllowed() is an obsolete method?
&lt;br&gt;&lt;br&gt;Instead, we would just check that Parameter.Resolver.isResolved() is true, and
&lt;br&gt;accept whatever value the Parameter returns?
&lt;br&gt;&lt;br&gt;To me that's a bit of a behavior change and wanted to ask you guys first.
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -Mike
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/NanoContainer---PicoContainer---Dev-f2736.html&quot; embed=&quot;fixTarget[2736]&quot; target=&quot;_top&quot; &gt;NanoContainer - PicoContainer - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Null-Parameter-Question-asked-on-User-List-tp25310945p25310945.html" />
</entry>

</feed>
