Re: [picocontainer-dev] Recursive injection

Paul Hammant <[email protected]>
Newsgroups gmane.comp.java.picocontainer.devel
Message-ID <[email protected]>
Here's the XStream dump of the 'recorder' just before the first test  
method in the DefaultContainerRecorderTestCase (if anyone is interested)

<org.nanocontainer.reflection.DefaultContainerRecorder>
   <invocations>
     <org.nanocontainer.reflection.DefaultContainerRecorder_- 
Invocation serialization="custom">
       <org.nanocontainer.reflection.DefaultContainerRecorder_- 
Invocation>
         <default>
           <args>
             <string>fruit</string>
             <string>apple</string>
             <org.picocontainer.Parameter-array/>
           </args>
           <outer-class reference="../../../../.."/>
         </default>
         <string>addComponent</string>
         <java-class>org.picocontainer.MutablePicoContainer</java-class>
         <int>3</int>
         <java-class>java.lang.Object</java-class>
         <java-class>java.lang.Object</java-class>
         <java-class>[Lorg.picocontainer.Parameter;</java-class>
       </org.nanocontainer.reflection.DefaultContainerRecorder_- 
Invocation>
     </org.nanocontainer.reflection.DefaultContainerRecorder_- 
Invocation>
     <org.nanocontainer.reflection.DefaultContainerRecorder_- 
Invocation serialization="custom">
       <org.nanocontainer.reflection.DefaultContainerRecorder_- 
Invocation>
         <default>
           <args>
             <string>int</string>
             <int>239</int>
             <org.picocontainer.Parameter-array/>
           </args>
           <outer-class reference="../../../../.."/>
         </default>
         <string>addComponent</string>
         <java-class>org.picocontainer.MutablePicoContainer</java-class>
         <int>3</int>
         <java-class>java.lang.Object</java-class>
         <java-class>java.lang.Object</java-class>
         <java-class>[Lorg.picocontainer.Parameter;</java-class>
       </org.nanocontainer.reflection.DefaultContainerRecorder_- 
Invocation>
     </org.nanocontainer.reflection.DefaultContainerRecorder_- 
Invocation>
     <org.nanocontainer.reflection.DefaultContainerRecorder_- 
Invocation serialization="custom">
       <org.nanocontainer.reflection.DefaultContainerRecorder_- 
Invocation>
         <default>
           <args>
             <string>thing</string>
             <java- 
class>org.nanocontainer.testmodel.ThingThatTakesParamsInConstructor</ 
java-class>
             <org.picocontainer.Parameter-array>
               <org.picocontainer.parameters.ComponentParameter>
                 <collectionParameter  
class="org.picocontainer.parameters.CollectionComponentParameter">
                   <emptyCollection>false</emptyCollection>
                   <componentKeyType>java.lang.Object</componentKeyType>
                   <componentValueType>void</componentValueType>
                 </collectionParameter>
               </org.picocontainer.parameters.ComponentParameter>
               <org.picocontainer.parameters.ComponentParameter  
reference="../org.picocontainer.parameters.ComponentParameter"/>
             </org.picocontainer.Parameter-array>
           </args>
           <outer-class reference="../../../../.."/>
         </default>
         <string>addComponent</string>
         <java-class>org.picocontainer.MutablePicoContainer</java-class>
         <int>3</int>
         <java-class>java.lang.Object</java-class>
         <java-class>java.lang.Object</java-class>
         <java-class>[Lorg.picocontainer.Parameter;</java-class>
       </org.nanocontainer.reflection.DefaultContainerRecorder_- 
Invocation>
     </org.nanocontainer.reflection.DefaultContainerRecorder_- 
Invocation>
   </invocations>
   <invocationRecorder  
class="org.nanocontainer.reflection.DefaultContainerRecorder 
$InvocationRecorder">
     <outer-class reference="../.."/>
   </invocationRecorder>
</org.nanocontainer.reflection.DefaultContainerRecorder>

On Jun 19, 2007, at 12:54 AM, Konstantin Priblouda wrote:

>
> --- "Putrycz, Erik" <[email protected]>
> wrote:
>
>>
>> Where could I find the "container recorder"?
>> I'd be curious to see what it caches to improve
>> performance.
>
> org.nanocontainer.reflection.DefaultContainerRecorder
> It is  proxy wrapper for MPC, which intercepts all
> calls to it and stores method invocations in
> array list.
>
> those can be replayed later on another fresh contaienr
> instance - works with all scripting builders,
> but sometimes introduces subtle problems due to
> sharing of constant values.


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

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