Merge lp:~mandel/ubuntuone-windows-installer/integrate_spring into lp:ubuntuone-windows-installer/beta

Proposed by Manuel de la Peña
Status: Merged
Approved by: Vincenzo Di Somma
Approved revision: 33
Merged at revision: 41
Proposed branch: lp:~mandel/ubuntuone-windows-installer/integrate_spring
Merge into: lp:ubuntuone-windows-installer/beta
Diff against target: 7005 lines (+4482/-788)
52 files modified
.bzrignore (+3/-0)
install/UbuntuOne.wxs (+75/-3)
lib/Spring.Net/Spring.Aop.xml (+169/-49)
lib/Spring.Net/Spring.Core.xml (+779/-522)
lib/Spring.Net/Spring.Data.NHibernate12.xml (+70/-0)
lib/Spring.Net/Spring.Data.NHibernate20.xml (+91/-1)
lib/Spring.Net/Spring.Data.NHibernate21.xml (+98/-1)
lib/Spring.Net/Spring.Data.xml (+91/-30)
lib/Spring.Net/Spring.Messaging.Ems.xml (+527/-13)
lib/Spring.Net/Spring.Messaging.Nms.xml (+118/-81)
lib/Spring.Net/Spring.Messaging.xml (+35/-35)
lib/Spring.Net/Spring.Services.xml (+436/-0)
lib/Spring.Net/Spring.Template.Velocity.xml (+67/-0)
lib/Spring.Net/Spring.Web.xml (+1/-1)
main.build (+5/-0)
src/Canonical.UbuntuOne.Common.Tests/Canonical.UbuntuOne.Common.Tests.csproj (+4/-0)
src/Canonical.UbuntuOne.Common.Tests/Container/DictionaryContainerFixture.cs (+110/-0)
src/Canonical.UbuntuOne.Common.Tests/Container/ObjectsContainerFixture.cs (+144/-0)
src/Canonical.UbuntuOne.Common.Tests/ProcessManagementExceptionFixture.cs (+51/-0)
src/Canonical.UbuntuOne.Common.Tests/SyncDaemonExceptionFixture.cs (+50/-0)
src/Canonical.UbuntuOne.Common.Tests/Validation/EqualityExtensionsValidation.cs (+156/-0)
src/Canonical.UbuntuOne.Common/Aop/DebugLogAfterCallInterceptor.cs (+2/-0)
src/Canonical.UbuntuOne.Common/Aop/DebugLogAfterThrowInterceptor.cs (+2/-0)
src/Canonical.UbuntuOne.Common/Aop/DebugLogBeforeCallInterceptor.cs (+2/-0)
src/Canonical.UbuntuOne.Common/Aop/LoggingInterceptor.cs (+6/-5)
src/Canonical.UbuntuOne.Common/Canonical.UbuntuOne.Common.csproj (+20/-0)
src/Canonical.UbuntuOne.Common/Container/ContainerResources.Designer.cs (+99/-0)
src/Canonical.UbuntuOne.Common/Container/ContainerResources.resx (+132/-0)
src/Canonical.UbuntuOne.Common/Container/DictionaryContainer.cs (+65/-0)
src/Canonical.UbuntuOne.Common/Container/IContainer.cs (+43/-0)
src/Canonical.UbuntuOne.Common/Container/IMapper.cs (+36/-0)
src/Canonical.UbuntuOne.Common/Container/ObjectsContainer.cs (+105/-0)
src/Canonical.UbuntuOne.Common/Container/SpringContainer.cs (+232/-0)
src/Canonical.UbuntuOne.Common/Container/UnsatisfiedDependencyException.cs (+52/-0)
src/Canonical.UbuntuOne.Common/Validation/EqualityValidationExtensions.cs (+2/-2)
src/Canonical.UbuntuOne.ProcessDispatcher/App.config (+47/-26)
src/Canonical.UbuntuOne.ProcessDispatcher/Canonical.UbuntuOne.ProcessDispatcher.csproj (+23/-0)
src/Canonical.UbuntuOne.ProcessDispatcher/Config/log4net.config (+29/-0)
src/Canonical.UbuntuOne.ProcessDispatcher/Config/serviceModel.behaviours.config (+9/-0)
src/Canonical.UbuntuOne.ProcessDispatcher/Config/serviceModel.bindings.config (+23/-0)
src/Canonical.UbuntuOne.ProcessDispatcher/Config/serviceModel.services.config (+102/-0)
src/Canonical.UbuntuOne.ProcessDispatcher/Program.cs (+11/-1)
src/Canonical.UbuntuOne.ProcessDispatcher/SyncConfigurationService.cs (+7/-0)
src/Canonical.UbuntuOne.ProcessDispatcher/SyncDaemonService.cs (+14/-0)
src/Canonical.UbuntuOne.ProcessDispatcher/SyncDaemonWindowsService.cs (+52/-18)
src/Canonical.UbuntuOne.ProcessDispatcher/SyncFileManagerService.cs (+2/-0)
src/Canonical.UbuntuOne.ProcessDispatcher/SyncSharesService.cs (+7/-0)
src/Canonical.UbuntuOne.ProcessDispatcher/objects.xml (+112/-0)
src/ServiceTestApp/Program.cs (+19/-0)
src/ServiceTestApp/Properties/AssemblyInfo.cs (+36/-0)
src/ServiceTestApp/ServiceTestApp.csproj (+99/-0)
src/UbuntuOne.sln (+12/-0)
To merge this branch: bzr merge lp:~mandel/ubuntuone-windows-installer/integrate_spring
Reviewer Review Type Date Requested Status
Alejandro J. Cura (community) Approve
Vincenzo Di Somma (community) Approve
Review via email: mp+30962@code.launchpad.net

Description of the change

This branch provides the integration of the Windows service with Spring.Net as its IoC. The windows service in this branch hosts the different wcf services that the clients can use to communicate with the SyncDaemon through named pipes as the IPC approach.

To post a comment you must log in.
Revision history for this message
Alejandro J. Cura (alecu) wrote :

This branch is HUGE! The convention is to submit for review branches of about 500 lines, in order to make reviewing them a reasonable job for the reviewer.

So, if there's a lot of generated code or code from libraries in a given branch, it would be best to split such huge branches into two or three related and possibly dependent branches (using "prerequisite branch" when doing the merge proposal).

When that's not possible, then it is needed to add notes in this review comments detailing what parts are generated code and libs and what parts are code to review.

Revision history for this message
Alejandro J. Cura (alecu) wrote :

In src/Canonical.UbuntuOne.ProcessDispatcher/SyncDaemonWindowsService.cs, in both OnStart and OnStop there's a definition for an array with a few properties:

var hosts = new[] {...}

I believe it would make more sense to have it defined once, so if new services are added we won't miss stopping them, etc. The DRY principle.
Can't that array be made part of the class?

review: Needs Information
33. By Manuel de la Peña

Refactor the creation of a hosts array to a method.

Revision history for this message
Manuel de la Peña (mandel) wrote :

> This branch is HUGE! The convention is to submit for review branches of about
> 500 lines, in order to make reviewing them a reasonable job for the reviewer.
>
> So, if there's a lot of generated code or code from libraries in a given
> branch, it would be best to split such huge branches into two or three related
> and possibly dependent branches (using "prerequisite branch" when doing the
> merge proposal).
>
> When that's not possible, then it is needed to add notes in this review
> comments detailing what parts are generated code and libs and what parts are
> code to review.

Indeed, sorry, I updated the libs and I prefer not too touch their packaging... in this version they added lots of xml I was not aware off, it will not happen again.

Revision history for this message
Manuel de la Peña (mandel) wrote :

> In src/Canonical.UbuntuOne.ProcessDispatcher/SyncDaemonWindowsService.cs, in
> both OnStart and OnStop there's a definition for an array with a few
> properties:
>
> var hosts = new[] {...}
>
> I believe it would make more sense to have it defined once, so if new services
> are added we won't miss stopping them, etc. The DRY principle.
> Can't that array be made part of the class?

As we talk on IRC, yes, it can be defined only once, but then it will be ketp in memory all the time the service is ran, and therefore it will use more memory for no real benefit.

Is just an array of ref objects and does not use much memory, but I do not like the idea of the gc not collecting it, I have moved the definition to a method so that we only have to keep track of it in a single place in the code (I was being stupid when I wrote that twice!)

Revision history for this message
Vincenzo Di Somma (vds) wrote :

It's huge but works.

review: Approve
Revision history for this message
Alejandro J. Cura (alecu) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file '.bzrignore'
2--- .bzrignore 2010-07-19 10:10:22 +0000
3+++ .bzrignore 2010-07-26 17:53:42 +0000
4@@ -45,3 +45,6 @@
5 UbuntuOne.wixpdb
6 tomboy
7 setup.exe
8+bin
9+obj
10+./bin
11
12=== modified file 'install/UbuntuOne.wxs'
13--- install/UbuntuOne.wxs 2010-07-22 16:51:46 +0000
14+++ install/UbuntuOne.wxs 2010-07-26 17:53:42 +0000
15@@ -31,9 +31,6 @@
16 <Media Id="1"
17 Cabinet="UbuntuOne.cab"
18 EmbedCab="yes" />
19-
20- <Property Id="SERVICECREDENTIALS_USERLOGIN" />
21- <Property Id="SERVICECREDENTIALS_PASSWORD" />
22
23 <Directory Id="TARGETDIR"
24 Name="SourceDir">
25@@ -113,6 +110,22 @@
26 Source="build_results\Daemon\Common.Logging.dll"
27 KeyPath="yes"/>
28 </Component>
29+ <Component Id="CommonLoggingLog4NetComponent"
30+ Guid="6ac0e8b0-967d-11df-981c-0800200c9a66">
31+ <File Id="Common.Logging.Log4Net.dll"
32+ Name="Common.Logging.Log4Net.dll"
33+ DiskId="1"
34+ Source="build_results\Daemon\Common.Logging.Log4Net.dll"
35+ KeyPath="yes"/>
36+ </Component>
37+ <Component Id="DotUpdaterComponent"
38+ Guid="af217c90-967d-11df-981c-0800200c9a66">
39+ <File Id="DotUpdater.dll"
40+ Name="DotUpdater.dll"
41+ DiskId="1"
42+ Source="build_results\Daemon\DotUpdater.dll"
43+ KeyPath="yes"/>
44+ </Component>
45 <Component Id="Log4NetComponent"
46 Guid="0eafc310-94b7-11df-981c-0800200c9a66">
47 <File Id="log4net.dll"
48@@ -177,6 +190,57 @@
49 Source="build_results\Daemon\Spring.Core.xml"
50 KeyPath="yes"/>
51 </Component>
52+ <Component Id="SpringServicesComponent"
53+ Guid="fd27e7a0-98ce-11df-981c-0800200c9a66">
54+ <File Id="Spring.Services.dll"
55+ Name="Spring.Services.dll"
56+ DiskId="1"
57+ Source="build_results\Daemon\Spring.Services.dll"
58+ KeyPath="yes"/>
59+ </Component>
60+ <Component Id="SpringServicesConfigComponent"
61+ Guid="33b757b0-98cf-11df-981c-0800200c9a66">
62+ <File Id="Spring.Services.xml"
63+ Name="Spring.Services.xml"
64+ DiskId="1"
65+ Source="build_results\Daemon\Spring.Services.xml"
66+ KeyPath="yes"/>
67+ </Component>
68+ <Directory Id="DaemonConfigDir"
69+ Name="Config">
70+ <Component Id="DaemonConfigLog4Net"
71+ Guid="306252c0-967e-11df-981c-0800200c9a66">
72+ <File Id="log4net.config"
73+ Name="log4net.config"
74+ DiskId="1"
75+ Source="build_results\Daemon\Config\log4net.config"
76+ KeyPath="yes"/>
77+ </Component>
78+ <Component Id="ServiceModelBehavioursConfig"
79+ Guid="5f9a6390-98cf-11df-981c-0800200c9a66">
80+ <File Id="serviceModel.behaviours.config"
81+ Name="serviceModel.behaviours.config"
82+ DiskId="1"
83+ Source="build_results\Daemon\Config\serviceModel.behaviours.config"
84+ KeyPath="yes"/>
85+ </Component>
86+ <Component Id="ServiceModelBindingsConfig"
87+ Guid="65aca630-98cf-11df-981c-0800200c9a66">
88+ <File Id="serviceModel.bindings.config"
89+ Name="serviceModel.bindings.config"
90+ DiskId="1"
91+ Source="build_results\Daemon\Config\serviceModel.bindings.config"
92+ KeyPath="yes"/>
93+ </Component>
94+ <Component Id="ServiceModelServicesConfig"
95+ Guid="6a7e5280-98cf-11df-981c-0800200c9a66">
96+ <File Id="serviceModel.services.config"
97+ Name="serviceModel.services.config"
98+ DiskId="1"
99+ Source="build_results\Daemon\Config\serviceModel.services.config"
100+ KeyPath="yes"/>
101+ </Component>
102+ </Directory>
103 </Directory>
104 </Directory>
105 </Directory>
106@@ -191,6 +255,8 @@
107 <ComponentRef Id="DaemonCommonLibComponent" />
108 <ComponentRef Id="DaemonCommonPdbComponent" />
109 <ComponentRef Id="CommonLoggingComponent" />
110+ <ComponentRef Id="CommonLoggingLog4NetComponent" />
111+ <ComponentRef Id="DotUpdaterComponent" />
112 <ComponentRef Id="Log4NetComponent" />
113 <ComponentRef Id="ProtobufNetComponent" />
114 <ComponentRef Id="ProtobufPdbComponent" />
115@@ -199,9 +265,15 @@
116 <ComponentRef Id="SpringAopConfigComponent" />
117 <ComponentRef Id="SpringCoreComponent" />
118 <ComponentRef Id="SpringCoreConfigComponent" />
119+ <ComponentRef Id="SpringServicesComponent" />
120+ <ComponentRef Id="SpringServicesConfigComponent" />
121 <ComponentRef Id="DaemonProgramComponent" />
122 <ComponentRef Id="DaemonProgramComponentConfig" />
123 <ComponentRef Id="DaemonProgramPdbComponent" />
124+ <ComponentRef Id="DaemonConfigLog4Net" />
125+ <ComponentRef Id="ServiceModelBehavioursConfig" />
126+ <ComponentRef Id="ServiceModelBindingsConfig" />
127+ <ComponentRef Id="ServiceModelServicesConfig" />
128 </Feature>
129
130 <!-- Provide the UI extensions to be used -->
131
132=== added file 'lib/Spring.Net/Common.Logging.Log4Net.dll'
133Binary files lib/Spring.Net/Common.Logging.Log4Net.dll 1970-01-01 00:00:00 +0000 and lib/Spring.Net/Common.Logging.Log4Net.dll 2010-07-26 17:53:42 +0000 differ
134=== modified file 'lib/Spring.Net/Spring.Aop.dll'
135Binary files lib/Spring.Net/Spring.Aop.dll 2010-07-13 10:45:23 +0000 and lib/Spring.Net/Spring.Aop.dll 2010-07-26 17:53:42 +0000 differ
136=== modified file 'lib/Spring.Net/Spring.Aop.xml'
137--- lib/Spring.Net/Spring.Aop.xml 2010-07-13 10:45:23 +0000
138+++ lib/Spring.Net/Spring.Aop.xml 2010-07-26 17:53:42 +0000
139@@ -38,19 +38,22 @@
140 The object name of the internally managed auto-proxy creator.
141 </summary>
142 </member>
143+ <member name="F:Spring.Aop.Config.AopNamespaceUtils.InfrastructureAutoProxyCreatorType">
144+ <summary>
145+ The type of the APC that handles advisors with object role <see cref="F:Spring.Objects.Factory.Config.ObjectRole.ROLE_INFRASTRUCTURE"/>.
146+ </summary>
147+ </member>
148 <member name="M:Spring.Aop.Config.AopNamespaceUtils.RegisterAutoProxyCreatorIfNecessary(Spring.Objects.Factory.Xml.ParserContext,System.Xml.XmlElement)">
149 <summary>
150- Registers the auto proxy creator if necessary.
151+ Registers the internal auto proxy creator if necessary.
152 </summary>
153 <param name="parserContext">The parser context.</param>
154 <param name="sourceElement">The source element.</param>
155 </member>
156- <member name="M:Spring.Aop.Config.AopNamespaceUtils.RegisterApcAsRequired(System.Type,Spring.Objects.Factory.Xml.ParserContext)">
157+ <member name="M:Spring.Aop.Config.AopNamespaceUtils.RegisterAutoProxyCreatorIfNecessary(Spring.Objects.Factory.Support.IObjectDefinitionRegistry)">
158 <summary>
159- Registries the or escalate apc as required.
160+ Registers the internal auto proxy creator if necessary.
161 </summary>
162- <param name="type">The type.</param>
163- <param name="parserContext">The parser context.</param>
164 </member>
165 <member name="M:Spring.Aop.Config.AopNamespaceUtils.ForceAutoProxyCreatorToUseDecoratorProxy(Spring.Objects.Factory.Support.IObjectDefinitionRegistry)">
166 <summary>
167@@ -971,10 +974,10 @@
168 any particular aspects, such as pooling aspects.
169 </summary>
170 <remarks>
171- <p>Subclasses must implement the abstract findCandidateAdvisors() method
172+ <p>Subclasses must implement the abstract FindCandidateAdvisors() method
173 to return a list of Advisors applying to any object. Subclasses can also
174- override the inherited shouldSkip() method to exclude certain objects
175- from autoproxying, but they must be careful to invoke the shouldSkip()
176+ override the inherited ShouldSkip() method to exclude certain objects
177+ from autoproxying, but they must be careful to invoke the ShouldSkip()
178 method of this class, which tries to avoid circular reference problems
179 and infinite loops.</p>
180 <p>Advisors or advices requiring ordering should implement the Ordered interface.
181@@ -1518,11 +1521,15 @@
182 </member>
183 <member name="M:Spring.Aop.Framework.AutoProxy.AbstractAdvisorAutoProxyCreator.ExtendAdvisors(System.Collections.IList,System.Type,System.String)">
184 <summary>
185- Extension hook that subclasses can override to register additional advisors,
186+ Extension hook that subclasses can override to add additional advisors for the given object,
187 given the sorted advisors obtained to date.<br/>
188 The default implementation does nothing.<br/>
189 Typically used to add advisors that expose contextual information required by some of the later advisors.
190 </summary>
191+ <remarks>
192+ The advisor list passed into this method is already reduced to advisors applying to this particular object.
193+ If you want to register additional common advisor candidates, override <see cref="M:Spring.Aop.Framework.AutoProxy.AbstractAdvisorAutoProxyCreator.FindCandidateAdvisors(System.Type,System.String)"/>.
194+ </remarks>
195 <param name="advisors">Advisors that have already been identified as applying to a given object</param>
196 <param name="objectType">the type of the object to be advised</param>
197 <param name="objectName">the name of the object to be advised</param>
198@@ -1999,6 +2006,18 @@
199 <param name="mappedName">the name in the configured list of names</param>
200 <returns>if the names match</returns>
201 </member>
202+ <member name="M:Spring.Aop.Framework.AutoProxy.ObjectNameAutoProxyCreator.IsObjectNameMatch(System.Type,System.String,System.Collections.IList)">
203+ <summary>
204+ Convenience method that may be used by derived classes. Iterates over the list of <paramref name="objectNamePatterns"/> to match <paramref name="objectName"/> against.
205+ </summary>
206+ <param name="objType">the object's type. Must not be <c>null</c>.</param>
207+ <param name="objectName">the name of the object Must not be <c>null</c>.</param>
208+ <param name="objectNamePatterns">the list of patterns, that <paramref name="objectName"/> shall be matched against. Must not be <c>null</c>.</param>
209+ <returns>
210+ If <paramref name="objectNamePatterns"/> is <c>null</c>, will always return <c>true</c>, otherwise
211+ if <paramref name="objectName"/> matches any of the patterns specified in <paramref name="objectNamePatterns"/>.
212+ </returns>
213+ </member>
214 <member name="P:Spring.Aop.Framework.AutoProxy.ObjectNameAutoProxyCreator.ObjectNames">
215 <summary>
216 Set the names of the objects in IList fashioned way that should automatically
217@@ -2046,6 +2065,65 @@
218 The list of patterns to match <see cref="P:System.Type.FullName"/> against. For pattern syntax, see <see cref="T:Spring.Aop.Support.TypeNameTypeFilter"/>
219 </summary>
220 </member>
221+ <member name="T:Spring.Aop.Framework.DynamicProxy.AbstractAopProxyFactory">
222+ <summary>
223+ A reusable base implementation of <see cref="T:Spring.Aop.Framework.IAopProxyFactory"/>, providing
224+ some useful default implementations
225+ </summary>
226+ <author>Erich Eichinger</author>
227+ </member>
228+ <member name="T:Spring.Aop.Framework.IAopProxyFactory">
229+ <summary>
230+ Factory interface for the creation of AOP proxies based on
231+ <see cref="T:Spring.Aop.Framework.AdvisedSupport"/> configuration
232+ objects.
233+ </summary>
234+ <author>Rod Johnson</author>
235+ <author>Aleksandar Seovic (.NET)</author>
236+ </member>
237+ <member name="M:Spring.Aop.Framework.IAopProxyFactory.CreateAopProxy(Spring.Aop.Framework.AdvisedSupport)">
238+ <summary>
239+ Creates an <see cref="T:Spring.Aop.Framework.IAopProxy"/> for the
240+ supplied <paramref name="advisedSupport"/> configuration.
241+ </summary>
242+ <param name="advisedSupport">The AOP configuration.</param>
243+ <returns>An <see cref="T:Spring.Aop.Framework.IAopProxy"/>.</returns>
244+ <exception cref="T:Spring.Aop.Framework.AopConfigException">
245+ If the supplied <paramref name="advisedSupport"/> configuration is
246+ invalid.
247+ </exception>
248+ </member>
249+ <member name="M:Spring.Aop.Framework.DynamicProxy.AbstractAopProxyFactory.CreateAopProxy(Spring.Aop.Framework.AdvisedSupport)">
250+ <summary>
251+ Creates an <see cref="T:Spring.Aop.Framework.IAopProxy"/> for the
252+ supplied <paramref name="advisedSupport"/> configuration.
253+ </summary>
254+ <param name="advisedSupport">The AOP configuration.</param>
255+ <returns>An <see cref="T:Spring.Aop.Framework.IAopProxy"/>.</returns>
256+ <exception cref="T:Spring.Aop.Framework.AopConfigException">
257+ If the supplied <paramref name="advisedSupport"/> configuration is
258+ invalid.
259+ </exception>
260+ <seealso cref="M:Spring.Aop.Framework.IAopProxyFactory.CreateAopProxy(Spring.Aop.Framework.AdvisedSupport)"/>
261+ </member>
262+ <member name="M:Spring.Aop.Framework.DynamicProxy.AbstractAopProxyFactory.DoCreateAopProxyInstance(Spring.Aop.Framework.AdvisedSupport)">
263+ <summary>
264+ Actually creates the proxy instance based on the supplied <see cref="T:Spring.Aop.Framework.AdvisedSupport"/>.
265+ </summary>
266+ <returns>the proxy instance described by <paramref name="advisedSupport"/>. Must not be <c>null</c></returns>
267+ </member>
268+ <member name="M:Spring.Aop.Framework.DynamicProxy.AbstractAopProxyFactory.EliminateDuplicateAdvisors(Spring.Aop.Framework.AdvisedSupport)">
269+ <summary>
270+ If possible, checks for advisor duplicates on the supplied <paramref name="advisedSupport"/> and
271+ eliminates them.
272+ </summary>
273+ </member>
274+ <member name="M:Spring.Aop.Framework.DynamicProxy.AbstractAopProxyFactory.IsAopProxyType(Spring.Aop.ITargetSource)">
275+ <summary>
276+ Checks, if the given <paramref name="targetSource"/> holds a proxy generated by this factory.
277+ </summary>
278+ <returns></returns>
279+ </member>
280 <member name="T:Spring.Aop.Framework.DynamicProxy.AbstractAopProxyMethodBuilder">
281 <summary>
282 Base class for AOP method builders that contains common functionalities.
283@@ -3113,44 +3191,17 @@
284 <author>Erich Eichinger (.NET)</author>
285 <seealso cref="T:Spring.Aop.Framework.IAopProxyFactory"/>
286 </member>
287- <member name="T:Spring.Aop.Framework.IAopProxyFactory">
288- <summary>
289- Factory interface for the creation of AOP proxies based on
290- <see cref="T:Spring.Aop.Framework.AdvisedSupport"/> configuration
291- objects.
292- </summary>
293- <author>Rod Johnson</author>
294- <author>Aleksandar Seovic (.NET)</author>
295- </member>
296- <member name="M:Spring.Aop.Framework.IAopProxyFactory.CreateAopProxy(Spring.Aop.Framework.AdvisedSupport)">
297- <summary>
298- Creates an <see cref="T:Spring.Aop.Framework.IAopProxy"/> for the
299- supplied <paramref name="advisedSupport"/> configuration.
300- </summary>
301- <param name="advisedSupport">The AOP configuration.</param>
302- <returns>An <see cref="T:Spring.Aop.Framework.IAopProxy"/>.</returns>
303- <exception cref="T:Spring.Aop.Framework.AopConfigException">
304- If the supplied <paramref name="advisedSupport"/> configuration is
305- invalid.
306- </exception>
307- </member>
308 <member name="M:Spring.Aop.Framework.DynamicProxy.DefaultAopProxyFactory.#cctor">
309 <summary>
310 Force transient assemblies to be resolvable by <see cref="M:System.Reflection.Assembly.Load(System.String)"/>.
311 </summary>
312 </member>
313- <member name="M:Spring.Aop.Framework.DynamicProxy.DefaultAopProxyFactory.CreateAopProxy(Spring.Aop.Framework.AdvisedSupport)">
314+ <member name="M:Spring.Aop.Framework.DynamicProxy.DefaultAopProxyFactory.DoCreateAopProxyInstance(Spring.Aop.Framework.AdvisedSupport)">
315 <summary>
316- Creates an <see cref="T:Spring.Aop.Framework.IAopProxy"/> for the
317- supplied <paramref name="advisedSupport"/> configuration.
318+ Creates an actual proxy instance based on the supplied <paramref name="advisedSupport"/>
319 </summary>
320- <param name="advisedSupport">The AOP configuration.</param>
321- <returns>An <see cref="T:Spring.Aop.Framework.IAopProxy"/>.</returns>
322- <exception cref="T:Spring.Aop.Framework.AopConfigException">
323- If the supplied <paramref name="advisedSupport"/> configuration is
324- invalid.
325- </exception>
326- <seealso cref="M:Spring.Aop.Framework.IAopProxyFactory.CreateAopProxy(Spring.Aop.Framework.AdvisedSupport)"/>
327+ <param name="advisedSupport"></param>
328+ <returns></returns>
329 </member>
330 <member name="M:Spring.Aop.Framework.DynamicProxy.DefaultAopProxyFactory.BuildProxyType(Spring.Proxy.IProxyTypeBuilder)">
331 <summary>
332@@ -7084,7 +7135,22 @@
333 <see cref="T:Spring.Aop.Support.AttributeMatchMethodPointcutAdvisor"/> class
334 for the supplied <paramref name="advice"/>.
335 </summary>
336- <param name="advice"></param>
337+ <param name="advice">the advice to apply if the pointcut matches</param>
338+ </member>
339+ <member name="M:Spring.Aop.Support.AttributeMatchMethodPointcutAdvisor.#ctor(System.Type,System.Boolean,AopAlliance.Aop.IAdvice)">
340+ <summary>
341+ Creates a new instance of the
342+ <see cref="T:Spring.Aop.Support.AttributeMatchMethodPointcutAdvisor"/> class
343+ for the supplied <paramref name="advice"/>.
344+ </summary>
345+ <param name="attribute">
346+ The <see cref="T:System.Attribute"/> to match.
347+ </param>
348+ <param name="inherit">
349+ Flag that controls whether or not the inheritance tree of the
350+ method to be included in the search for the <see cref="T:System.Attribute"/>?
351+ </param>
352+ <param name="advice">the advice to apply if the pointcut matches</param>
353 </member>
354 <member name="P:Spring.Aop.Support.AttributeMatchMethodPointcutAdvisor.IsPerInstance">
355 <summary>
356@@ -9999,6 +10065,16 @@
357 </summary>
358 <author>Aleksandar Seovic</author>
359 </member>
360+ <member name="F:Spring.Aspects.Cache.BaseCacheAdvice.logger">
361+ <summary>
362+ Shared logger instance
363+ </summary>
364+ </member>
365+ <member name="M:Spring.Aspects.Cache.BaseCacheAdvice.#ctor">
366+ <summary>
367+ Create a new default instance.
368+ </summary>
369+ </member>
370 <member name="M:Spring.Aspects.Cache.BaseCacheAdvice.GetCache(System.String)">
371 <summary>
372 Returns an <see cref="T:Spring.Caching.ICache"/> instance based on the cache name.
373@@ -10008,6 +10084,15 @@
374 Cache instance for the specified <paramref name="name"/> if one
375 is registered in the application context, or <c>null</c> if it isn't.
376 </returns>
377+ <exception cref="T:Spring.Objects.Factory.NoSuchObjectDefinitionException">
378+ If there's no cache instance registered for the specified <paramref name="name"/>.
379+ </exception>
380+ <exception cref="T:Spring.Objects.ObjectsException">
381+ If the cache instance could not be created.
382+ </exception>
383+ <exception cref="T:System.ArgumentException">
384+ If the cache instance registered does not implement the <see cref="T:Spring.Caching.ICache"/> interface.
385+ </exception>
386 </member>
387 <member name="M:Spring.Aspects.Cache.BaseCacheAdvice.PrepareVariables(System.Reflection.MethodInfo,System.Object[])">
388 <summary>
389@@ -10047,12 +10132,26 @@
390 If the SpEL expression could not be successfuly resolved to a boolean.
391 </exception>
392 </member>
393- <member name="M:Spring.Aspects.Cache.BaseCacheAdvice.GetCustomAttribute(System.Reflection.MethodInfo,System.Type)">
394- <summary>
395- Retrieves custom attribute for the specified attribute type.
396- </summary>
397- <param name="method">
398- Method to get attribute from.
399+ <member name="M:Spring.Aspects.Cache.BaseCacheAdvice.GetCustomAttribute(System.Reflection.ICustomAttributeProvider,System.Type)">
400+ <summary>
401+ Retrieves custom attribute for the specified attribute type.
402+ </summary>
403+ <param name="attributeProvider">
404+ Method/Parameter to get attribute from.
405+ </param>
406+ <param name="attributeType">
407+ Attribute type.
408+ </param>
409+ <returns>
410+ Attribute instance if one is found, <c>null</c> otherwise.
411+ </returns>
412+ </member>
413+ <member name="M:Spring.Aspects.Cache.BaseCacheAdvice.GetCustomAttributes(System.Reflection.ICustomAttributeProvider,System.Type)">
414+ <summary>
415+ Retrieves custom attribute for the specified attribute type.
416+ </summary>
417+ <param name="attributeProvider">
418+ Method/Parameter to get attribute from.
419 </param>
420 <param name="attributeType">
421 Attribute type.
422@@ -10270,7 +10369,7 @@
423 throws an exception.
424 </exception>
425 </member>
426- <member name="M:Spring.Aspects.Cache.CacheResultAdvice.GetReturnValue(AopAlliance.Intercept.IMethodInvocation,Spring.Caching.CacheResultAttribute,System.Boolean@)">
427+ <member name="M:Spring.Aspects.Cache.CacheResultAdvice.GetReturnValue(AopAlliance.Intercept.IMethodInvocation,Spring.Caching.CacheResultAttribute,System.Collections.IDictionary,System.Boolean@)">
428 <summary>
429 Obtains return value either from cache or by invoking target method
430 and caches it if necessary.
431@@ -10283,6 +10382,9 @@
432 in which case no caching of the result as a whole will be performed
433 (if the result is collection, individual items could still be cached separately).
434 </param>
435+ <param name="vars">
436+ Variables for expression evaluation.
437+ </param>
438 <param name="cacheHit">
439 Returns <c>true</c> if the return value was found in cache, <c>false</c> otherwise.
440 </param>
441@@ -10290,7 +10392,7 @@
442 Return value for the specified <paramref name="invocation"/>.
443 </returns>
444 </member>
445- <member name="M:Spring.Aspects.Cache.CacheResultAdvice.CacheResultItems(System.Collections.IEnumerable,Spring.Caching.CacheResultItemsAttribute[])">
446+ <member name="M:Spring.Aspects.Cache.CacheResultAdvice.CacheResultItems(System.Collections.IEnumerable,Spring.Caching.CacheResultItemsAttribute[],System.Collections.IDictionary)">
447 <summary>
448 Caches each item from the collection returned by target method.
449 </summary>
450@@ -10300,6 +10402,9 @@
451 <param name="itemInfoArray">
452 Attributes specifying where and how to cache each item from the collection.
453 </param>
454+ <param name="vars">
455+ Variables for expression evaluation.
456+ </param>
457 </member>
458 <member name="T:Spring.Aspects.Cache.CacheResultAdvisor">
459 <summary>
460@@ -11560,6 +11665,16 @@
461 </remarks>
462 <author>Mark Pollack</author>
463 </member>
464+ <member name="M:Spring.Aspects.RetryAdvice.#ctor">
465+ <summary>
466+ Creates a new RetryAdvice instance, using <see cref="M:System.Threading.Thread.Sleep(System.TimeSpan)"/> for delaying retries
467+ </summary>
468+ </member>
469+ <member name="M:Spring.Aspects.RetryAdvice.#ctor(Spring.Aspects.RetryAdvice.SleepHandler)">
470+ <summary>
471+ Creates a new RetryAdvice instance, using any arbitrary callback for delaying retries
472+ </summary>
473+ </member>
474 <member name="M:Spring.Aspects.RetryAdvice.Invoke(AopAlliance.Intercept.IMethodInvocation)">
475 <summary>
476 Implement this method to perform extra treatments before and after
477@@ -11649,6 +11764,11 @@
478 </summary>
479 <value>The regex string to parse advice expressions starting with 'on exception (constraint)' and exception handling actions.</value>
480 </member>
481+ <member name="T:Spring.Aspects.RetryAdvice.SleepHandler">
482+ <summary>
483+ The type of the callback that is called for delaying retries.
484+ </summary>
485+ </member>
486 <member name="T:Spring.Aspects.RetryExceptionHandler">
487 <summary>
488 Sleeps for the appropriate amount of time for an exception.
489
490=== modified file 'lib/Spring.Net/Spring.Core.dll'
491Binary files lib/Spring.Net/Spring.Core.dll 2010-07-13 10:45:23 +0000 and lib/Spring.Net/Spring.Core.dll 2010-07-26 17:53:42 +0000 differ
492=== modified file 'lib/Spring.Net/Spring.Core.xml'
493--- lib/Spring.Net/Spring.Core.xml 2010-07-13 10:45:23 +0000
494+++ lib/Spring.Net/Spring.Core.xml 2010-07-26 17:53:42 +0000
495@@ -3722,6 +3722,20 @@
496 The event type when the context is closed.
497 </summary>
498 </member>
499+ <member name="T:Spring.Context.Events.ContextRefreshedEventArgs">
500+ <summary>
501+ Event object sent to listeners registered with an
502+ <see cref="T:Spring.Context.IApplicationContext"/> to inform them of
503+ context <see cref="F:Spring.Context.Events.ContextEventArgs.ContextEvent.Refreshed"/> lifecycle event.
504+ </summary>
505+ </member>
506+ <member name="T:Spring.Context.Events.ContextClosedEventArgs">
507+ <summary>
508+ Event object sent to listeners registered with an
509+ <see cref="T:Spring.Context.IApplicationContext"/> to inform them of
510+ context <see cref="F:Spring.Context.Events.ContextEventArgs.ContextEvent.Closed"/> lifecycle event.
511+ </summary>
512+ </member>
513 <member name="T:Spring.Context.Support.AbstractApplicationContext">
514 <summary>
515 Partial implementation of the
516@@ -5581,6 +5595,11 @@
517 Any arguments to the event. May be <see langword="null"/>.
518 </param>
519 </member>
520+ <member name="M:Spring.Context.Support.AbstractApplicationContext.CreateEventRaiser">
521+ <summary>
522+ Create the <see cref="P:Spring.Context.Support.AbstractApplicationContext.EventRaiser"/> strategy to be used
523+ </summary>
524+ </member>
525 <member name="M:Spring.Context.Support.AbstractApplicationContext.PostProcessObjectFactory(Spring.Objects.Factory.Config.IConfigurableListableObjectFactory)">
526 <summary>
527 Modify the application context's internal object factory after its standard
528@@ -6474,6 +6493,11 @@
529 An object that can be used to synchronize access to the <see cref="T:Spring.Context.Support.AbstractXmlApplicationContext"/>
530 </summary>
531 </member>
532+ <member name="P:Spring.Context.Support.AbstractApplicationContext.EventRaiser">
533+ <summary>
534+ Set the <see cref="P:Spring.Context.Support.AbstractApplicationContext.EventRaiser"/> to be used by this context.
535+ </summary>
536+ </member>
537 <member name="P:Spring.Context.Support.AbstractApplicationContext.StartupDateMilliseconds">
538 <summary>
539 The timestamp when this context was first loaded.
540@@ -12560,11 +12584,121 @@
541 string, or has more than one character.
542 </exception>
543 </member>
544+ <member name="T:Spring.Core.TypeConversion.SpecifierParser">
545+ <summary>
546+ Base parser for <see cref="T:Spring.Core.TypeConversion.TimeSpanConverter"/> custom specifiers.
547+ </summary>
548+ </member>
549+ <member name="M:Spring.Core.TypeConversion.SpecifierParser.Parse(System.Int32)">
550+ <summary>
551+ Convert int value to a Timespan based on the specifier
552+ </summary>
553+ <param name="value"></param>
554+ <returns></returns>
555+ </member>
556+ <member name="M:Spring.Core.TypeConversion.SpecifierParser.Match(System.String)">
557+ <summary>
558+ Check if the string contains the specifier and
559+ </summary>
560+ <param name="value"></param>
561+ <returns></returns>
562+ </member>
563+ <member name="P:Spring.Core.TypeConversion.SpecifierParser.Specifier">
564+ <summary>
565+ Specifier
566+ </summary>
567+ </member>
568+ <member name="T:Spring.Core.TypeConversion.DaySpecifier">
569+ <summary>
570+ Recognize 10d as ten days
571+ </summary>
572+ </member>
573+ <member name="M:Spring.Core.TypeConversion.DaySpecifier.Parse(System.Int32)">
574+ <summary>
575+ Parse value as days
576+ </summary>
577+ <param name="value">Timespan in days</param>
578+ <returns></returns>
579+ </member>
580+ <member name="P:Spring.Core.TypeConversion.DaySpecifier.Specifier">
581+ <summary>
582+ Day specifier: d
583+ </summary>
584+ </member>
585+ <member name="T:Spring.Core.TypeConversion.HourSpecifier">
586+ <summary>
587+ Recognize 10h as ten hours
588+ </summary>
589+ </member>
590+ <member name="M:Spring.Core.TypeConversion.HourSpecifier.Parse(System.Int32)">
591+ <summary>
592+ Parse value as hours
593+ </summary>
594+ <param name="value">Timespan in hours</param>
595+ <returns></returns>
596+ </member>
597+ <member name="P:Spring.Core.TypeConversion.HourSpecifier.Specifier">
598+ <summary>
599+ Hour specifier: h
600+ </summary>
601+ </member>
602+ <member name="T:Spring.Core.TypeConversion.MinuteSpecifier">
603+ <summary>
604+ Recognize 10m as ten minutes
605+ </summary>
606+ </member>
607+ <member name="M:Spring.Core.TypeConversion.MinuteSpecifier.Parse(System.Int32)">
608+ <summary>
609+ Parse value as minutes
610+ </summary>
611+ <param name="value">Timespan in minutes</param>
612+ <returns></returns>
613+ </member>
614+ <member name="P:Spring.Core.TypeConversion.MinuteSpecifier.Specifier">
615+ <summary>
616+ Minute specifier: m
617+ </summary>
618+ </member>
619+ <member name="T:Spring.Core.TypeConversion.SecondSpecifier">
620+ <summary>
621+ Recognize 10s as ten seconds
622+ </summary>
623+ </member>
624+ <member name="M:Spring.Core.TypeConversion.SecondSpecifier.Parse(System.Int32)">
625+ <summary>
626+ Parse value as seconds
627+ </summary>
628+ <param name="value">Timespan in seconds</param>
629+ <returns></returns>
630+ </member>
631+ <member name="P:Spring.Core.TypeConversion.SecondSpecifier.Specifier">
632+ <summary>
633+ Second specifier: s
634+ </summary>
635+ </member>
636+ <member name="T:Spring.Core.TypeConversion.MillisecondSpecifier">
637+ <summary>
638+ Recognize 10ms as ten milliseconds
639+ </summary>
640+ </member>
641+ <member name="M:Spring.Core.TypeConversion.MillisecondSpecifier.Parse(System.Int32)">
642+ <summary>
643+ Parse value as milliseconds
644+ </summary>
645+ <param name="value">Timespan in milliseconds</param>
646+ <returns></returns>
647+ </member>
648+ <member name="P:Spring.Core.TypeConversion.MillisecondSpecifier.Specifier">
649+ <summary>
650+ Millisecond specifier: ms
651+ </summary>
652+ </member>
653 <member name="T:Spring.Core.TypeConversion.TimeSpanConverter">
654 <summary>
655 Converter for <see cref="T:System.TimeSpan"/> instances.
656 </summary>
657 <author>Bruno Baia</author>
658+ <author>Roberto Paterlini</author>
659 </member>
660 <member name="M:Spring.Core.TypeConversion.TimeSpanConverter.#ctor">
661 <summary>
662@@ -17685,6 +17819,17 @@
663 or zero if the collection is empty or <c>null</c>.
664 </returns>
665 </member>
666+ <member name="T:Spring.Expressions.Processors.DateConversionProcessor">
667+ <summary>
668+ Converts a string literal to a <see cref="T:System.DateTime"/> instance.
669+ </summary>
670+ <author>Erich Eichinger</author>
671+ </member>
672+ <member name="T:Spring.Expressions.Processors.IMethodCallProcessor">
673+ <summary>
674+ </summary>
675+ <author>Erich Eichinger</author>
676+ </member>
677 <member name="T:Spring.Expressions.Processors.DistinctProcessor">
678 <summary>
679 Implementation of the distinct processor.
680@@ -18011,39 +18156,26 @@
681 Create a new instance from SerializationInfo
682 </summary>
683 </member>
684- <member name="M:Spring.Expressions.BaseNode.Spring#Expressions#IExpression#GetValue">
685+ <member name="M:Spring.Expressions.BaseNode.GetValue">
686 <summary>
687 Returns node's value.
688 </summary>
689 <returns>Node's value.</returns>
690 </member>
691- <member name="M:Spring.Expressions.BaseNode.Spring#Expressions#IExpression#GetValue(System.Object)">
692- <summary>
693- Returns node's value for the given context.
694- </summary>
695- <param name="context">Object to evaluate node against.</param>
696- <returns>Node's value.</returns>
697- </member>
698- <member name="M:Spring.Expressions.BaseNode.Spring#Expressions#IExpression#GetValue(System.Object,System.Collections.IDictionary)">
699- <summary>
700- Returns node's value for the given context.
701- </summary>
702- <param name="context">Object to evaluate node against.</param>
703- <param name="variables">Expression variables map.</param>
704+ <member name="M:Spring.Expressions.BaseNode.GetValue(System.Object)">
705+ <summary>
706+ Returns node's value for the given context.
707+ </summary>
708+ <param name="context">Object to evaluate node against.</param>
709 <returns>Node's value.</returns>
710 </member>
711 <member name="M:Spring.Expressions.BaseNode.GetValue(System.Object,System.Collections.IDictionary)">
712 <summary>
713- This is the entrypoint into evaluating this expression.
714- </summary>
715- </member>
716- <member name="M:Spring.Expressions.BaseNode.GetValueInternal(System.Object,Spring.Expressions.BaseNode.EvaluationContext)">
717- <summary>
718- Called internally during expression evaluation
719+ Returns node's value for the given context.
720 </summary>
721 <param name="context">Object to evaluate node against.</param>
722- <param name="evalContext">Current expression evaluation context.</param>
723- <returns></returns>
724+ <param name="variables">Expression variables map.</param>
725+ <returns>Node's value.</returns>
726 </member>
727 <member name="M:Spring.Expressions.BaseNode.Get(System.Object,Spring.Expressions.BaseNode.EvaluationContext)">
728 <summary>
729@@ -18051,30 +18183,25 @@
730 </summary>
731 <returns>Node's value.</returns>
732 </member>
733- <member name="M:Spring.Expressions.BaseNode.Spring#Expressions#IExpression#SetValue(System.Object,System.Object)">
734+ <member name="M:Spring.Expressions.BaseNode.Get(System.Object,Spring.Expressions.BaseNode.EvaluationContext,System.Object[])">
735 <summary>
736- Sets node's value for the given context.
737+ Evaluates this node for the given context, switching local variables map to the ones specified in <paramref name="arguments"/>.
738 </summary>
739- <param name="context">Object to evaluate node against.</param>
740- <param name="newValue">New value for this node.</param>
741 </member>
742- <member name="M:Spring.Expressions.BaseNode.Spring#Expressions#IExpression#SetValue(System.Object,System.Collections.IDictionary,System.Object)">
743+ <member name="M:Spring.Expressions.BaseNode.SetValue(System.Object,System.Object)">
744 <summary>
745 Sets node's value for the given context.
746 </summary>
747 <param name="context">Object to evaluate node against.</param>
748- <param name="variables">Expression variables map.</param>
749 <param name="newValue">New value for this node.</param>
750 </member>
751 <member name="M:Spring.Expressions.BaseNode.SetValue(System.Object,System.Collections.IDictionary,System.Object)">
752 <summary>
753- This is the entrypoint into evaluating this expression.
754- </summary>
755- </member>
756- <member name="M:Spring.Expressions.BaseNode.SetValueInternal(System.Object,Spring.Expressions.BaseNode.EvaluationContext,System.Object)">
757- <summary>
758- Called internally during expression evaluation.
759- </summary>
760+ Sets node's value for the given context.
761+ </summary>
762+ <param name="context">Object to evaluate node against.</param>
763+ <param name="variables">Expression variables map.</param>
764+ <param name="newValue">New value for this node.</param>
765 </member>
766 <member name="M:Spring.Expressions.BaseNode.Set(System.Object,Spring.Expressions.BaseNode.EvaluationContext,System.Object)">
767 <summary>
768@@ -18096,6 +18223,11 @@
769 Returns a string representation of this node instance.
770 </summary>
771 </member>
772+ <member name="M:Spring.Expressions.BaseNode.GetValueWithArguments(Spring.Expressions.BaseNode,System.Object,Spring.Expressions.BaseNode.EvaluationContext,System.Object[])">
773+ <summary>
774+ Evaluates this node, switching local variables map to the ones specified in <paramref name="arguments"/>.
775+ </summary>
776+ </member>
777 <member name="T:Spring.Expressions.BaseNode.EvaluationContext">
778 <summary>
779 Holds the state during evaluating an expression.
780@@ -18197,6 +18329,14 @@
781 <param name="evalContext">Current expression evaluation context.</param>
782 <returns>Resolved argument value.</returns>
783 </member>
784+ <member name="M:Spring.Expressions.NodeWithArguments.ResolveArgumentInternal(System.Int32,Spring.Expressions.BaseNode.EvaluationContext)">
785+ <summary>
786+ Resolves the argument without ensuring <see cref="M:Spring.Expressions.NodeWithArguments.InitializeNode"/> was called.
787+ </summary>
788+ <param name="position">Argument position.</param>
789+ <param name="evalContext">Current expression evaluation context.</param>
790+ <returns>Resolved argument value.</returns>
791+ </member>
792 <member name="M:Spring.Expressions.NodeWithArguments.ResolveNamedArgument(System.String,Spring.Expressions.BaseNode.EvaluationContext)">
793 <summary>
794 Resolves the named argument.
795@@ -18358,6 +18498,16 @@
796 Create a new instance from SerializationInfo
797 </summary>
798 </member>
799+ <member name="M:Spring.Expressions.BinaryOperator.GetLeftValue(System.Object,Spring.Expressions.BaseNode.EvaluationContext)">
800+ <summary>
801+ Evaluate the left operand
802+ </summary>
803+ </member>
804+ <member name="M:Spring.Expressions.BinaryOperator.GetRightValue(System.Object,Spring.Expressions.BaseNode.EvaluationContext)">
805+ <summary>
806+ Evaluate the left operand
807+ </summary>
808+ </member>
809 <member name="P:Spring.Expressions.BinaryOperator.Left">
810 <summary>
811 Gets the left operand.
812@@ -18400,30 +18550,6 @@
813 </summary>
814 <returns>Node's value.</returns>
815 </member>
816- <member name="T:Spring.Expressions.DateLiteralNode">
817- <summary>
818- Represents parsed node in the navigation expression.
819- </summary>
820- <author>Aleksandar Seovic</author>
821- </member>
822- <member name="M:Spring.Expressions.DateLiteralNode.#ctor">
823- <summary>
824- Create a new instance
825- </summary>
826- </member>
827- <member name="M:Spring.Expressions.DateLiteralNode.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
828- <summary>
829- Create a new instance from SerializationInfo
830- </summary>
831- </member>
832- <member name="M:Spring.Expressions.DateLiteralNode.Get(System.Object,Spring.Expressions.BaseNode.EvaluationContext)">
833- <summary>
834- Returns node's value for the given context.
835- </summary>
836- <param name="context">Context to evaluate expressions against.</param>
837- <param name="evalContext">Current expression evaluation context.</param>
838- <returns>Node's value.</returns>
839- </member>
840 <member name="T:Spring.Expressions.DefaultNode">
841 <summary>
842 Represents parsed default node in the navigation expression.
843@@ -18824,14 +18950,10 @@
844 <param name="evalContext">Current expression evaluation context.</param>
845 <returns>Node's value.</returns>
846 </member>
847- <member name="M:Spring.Expressions.LambdaExpressionNode.GetValueInternal(System.Object,Spring.Expressions.BaseNode.EvaluationContext,System.Collections.IDictionary)">
848+ <member name="M:Spring.Expressions.LambdaExpressionNode.Get(System.Object,Spring.Expressions.BaseNode.EvaluationContext,System.Object[])">
849 <summary>
850- Returns Lambda Expression's value for the given context.
851+ Evaluates this node, switching local variables map to the ones specified in <paramref name="argValues"/>.
852 </summary>
853- <param name="context">Context to evaluate expressions against.</param>
854- <param name="evalContext">Current expression evaluation context.</param>
855- <param name="arguments">A dictionary containing argument map for this lambda expression.</param>
856- <returns>Node's value.</returns>
857 </member>
858 <member name="P:Spring.Expressions.LambdaExpressionNode.ArgumentNames">
859 <summary>
860@@ -21390,15 +21512,22 @@
861 <summary>
862 Subinterface of
863 <see cref="T:Spring.Objects.Factory.Config.IObjectPostProcessor"/>
864- that adds a before-instantiation callback.
865+ that adds a before-instantiation callback and a callback after instantiation but before
866+ explicit properties are set or autowiring occurs.
867 </summary>
868 <remarks>
869- <p>
870- Typical use cases might include being used to suppress the default
871- instantiation of specific target objects, perhaps in favour of creating
872- proxies with special <c>Spring.Aop.ITargetSource</c>s (pooling targets,
873- lazily initializing targets, etc).
874- </p>
875+ <para>
876+ Typically used to suppress default instantiation for specific target objects,
877+ for example to create proxies with special <c>Spring.Aop.ITargetSource</c>s (pooling targets,
878+ lazily initializing targets, etc), or to implement additional injection strategies such as field
879+ injection.
880+ </para>
881+ <para>
882+ This interface is a special purpose interface, mainly for internal use within the framework.
883+ It is recommended to implement the plain <see cref="T:Spring.Objects.Factory.Config.IObjectPostProcessor"/> interface as far as
884+ possible, or to derive from <see cref="T:Spring.Objects.Factory.Config.IInstantiationAwareObjectPostProcessor"/> in order to be shielded
885+ from extension to this interface.
886+ </para>
887 </remarks>
888 <author>Juergen Hoeller</author>
889 <author>Rick Evans (.NET)</author>
890@@ -23128,6 +23257,31 @@
891 refers to an instance method.
892 </summary>
893 </member>
894+ <member name="T:Spring.Objects.Factory.Config.DelegateObjectFactoryConfigurer">
895+ <summary>
896+ A generic implementation of an <see cref="T:Spring.Objects.Factory.Config.IObjectFactoryPostProcessor"/>, that delegates post processing to a passed delegate
897+ </summary>
898+ <remarks>
899+ This comes in handy when you want to perform specific tasks on an object factory, e.g. doing special initialization.
900+ </remarks>
901+ <example>
902+ The example below is taken from a unit test. The snippet causes 'someObject' to be registered each time <see cref="M:Spring.Context.Support.AbstractApplicationContext.Refresh"/> is called on
903+ the context instance:
904+ <code>
905+ IConfigurableApplicationContext ctx = new XmlApplicationContext(false, "name", false, null);
906+ ctx.AddObjectFactoryPostProcessor(new DelegateObjectFactoryConfigurer( of =&gt;
907+ {
908+ of.RegisterSingleton("someObject", someObject);
909+ }));
910+ </code>
911+ </example>
912+ <author>Erich Eichinger</author>
913+ </member>
914+ <member name="P:Spring.Objects.Factory.Config.DelegateObjectFactoryConfigurer.ConfigurationHandler">
915+ <summary>
916+ Get or Set the handler to delegate configuration to
917+ </summary>
918+ </member>
919 <member name="T:Spring.Objects.Factory.Config.DependencyDescriptor">
920 <summary>
921 Descriptor for a specific dependency that is about to be injected.
922@@ -24173,6 +24327,32 @@
923 </returns>
924 <exception cref="T:Spring.Objects.Factory.NoSuchObjectDefinitionException">if there is no object with the given name.</exception>
925 </member>
926+ <member name="T:Spring.Objects.Factory.Config.ICustomValueReferenceHolder">
927+ <summary>
928+ May be used to store custom value references in object definition properties.
929+ </summary>
930+ <see cref="T:Spring.Objects.Factory.Support.ObjectDefinitionValueResolver"/>
931+ <author>Erich Eichinger</author>
932+ </member>
933+ <member name="M:Spring.Objects.Factory.Config.ICustomValueReferenceHolder.Resolve(Spring.Objects.Factory.IObjectFactory,System.String,Spring.Objects.Factory.Config.IObjectDefinition,System.String,System.Object)">
934+ <summary>
935+ </summary>
936+ <param name="objectFactory">
937+ the object factory holding the given object definition
938+ </param>
939+ <param name="name">
940+ The name of the object that is having the value of one of its properties resolved.
941+ </param>
942+ <param name="definition">
943+ The definition of the named object.
944+ </param>
945+ <param name="argumentName">
946+ The name of the property the value of which is being resolved.
947+ </param>
948+ <param name="argumentValue">
949+ The value of the property that is being resolved.
950+ </param>
951+ </member>
952 <member name="T:Spring.Objects.Factory.Config.IDestructionAwareObjectPostProcessor">
953 <summary>
954 Subinterface of
955@@ -24199,6 +24379,138 @@
956 In case of errors.
957 </exception>
958 </member>
959+ <member name="T:Spring.Objects.Factory.Config.IManagedCollection">
960+ <summary>
961+ Denotes a special placeholder collection that may contain
962+ <see cref="T:Spring.Objects.Factory.Config.RuntimeObjectReference"/>s or
963+ other placeholder objects that will need to be resolved.
964+ </summary>
965+ <remarks>
966+ <p>
967+ <c>'A special placeholder collection'</c> means that the elements of this
968+ collection can be placeholders for objects that will be resolved later by
969+ a Spring.NET IoC container, i.e. the elements themselves will be
970+ resolved at runtime by the enclosing IoC container.
971+ </p>
972+ <p>
973+ The core Spring.NET library already provides three implementations of this interface
974+ straight out of the box; they are...
975+ </p>
976+ <list type="bullet">
977+ <item>
978+ <description>
979+ <see cref="T:Spring.Objects.Factory.Config.ManagedList"/>.
980+ </description>
981+ </item>
982+ <item>
983+ <description>
984+ <see cref="T:Spring.Objects.Factory.Config.ManagedDictionary"/>.
985+ </description>
986+ </item>
987+ <item>
988+ <description>
989+ <see cref="T:Spring.Objects.Factory.Config.ManagedSet"/>.
990+ </description>
991+ </item>
992+ </list>
993+ <p>
994+ If you have a custom collection class (i.e. a class that either implements the
995+ <see cref="T:System.Collections.ICollection"/> directly or derives from a class that does)
996+ that you would like to expose as a special placeholder collection (i.e. one that can
997+ have <see cref="T:Spring.Objects.Factory.Config.RuntimeObjectReference"/>s as elements
998+ that will be resolved at runtime by an appropriate Spring.NET IoC container, just
999+ implement this interface.
1000+ </p>
1001+ </remarks>
1002+ <example>
1003+ <p>
1004+ Lets say one has a <c>Bag</c> class (i.e. a collection that supports bag style semantics).
1005+ </p>
1006+ <code language="C#">
1007+ using System;
1008+
1009+ using Spring.Objects.Factory.Support;
1010+
1011+ namespace MyNamespace
1012+ {
1013+ public sealed class Bag : ICollection
1014+ {
1015+ // ICollection implementation elided for clarity...
1016+
1017+ public void Add(object o)
1018+ {
1019+ // implementation elided for clarity...
1020+ }
1021+ }
1022+
1023+ public class ManagedBag : Bag, IManagedCollection
1024+ {
1025+ public ICollection Resolve(
1026+ string objectName, RootObjectDefinition definition,
1027+ string propertyName, ManagedCollectionElementResolver resolver)
1028+ {
1029+ Bag newBag = new Bag();
1030+ string elementName = propertyName + "[bag-element]";
1031+ foreach(object element in this)
1032+ {
1033+ object resolvedElement = resolver(objectName, definition, elementName, element);
1034+ newBag.Add(resolvedElement);
1035+ }
1036+ return newBag;
1037+ }
1038+ }
1039+ }
1040+ </code>
1041+ </example>
1042+ <author>Rick Evans</author>
1043+ </member>
1044+ <member name="M:Spring.Objects.Factory.Config.IManagedCollection.Resolve(System.String,Spring.Objects.Factory.Config.IObjectDefinition,System.String,Spring.Objects.Factory.Config.ManagedCollectionElementResolver)">
1045+ <summary>
1046+ Resolves this managed collection at runtime.
1047+ </summary>
1048+ <param name="objectName">
1049+ The name of the top level object that is having the value of one of it's
1050+ collection properties resolved.
1051+ </param>
1052+ <param name="definition">
1053+ The definition of the named top level object.
1054+ </param>
1055+ <param name="propertyName">
1056+ The name of the property the value of which is being resolved.
1057+ </param>
1058+ <param name="resolver">
1059+ The callback that will actually do the donkey work of resolving
1060+ this managed collection.
1061+ </param>
1062+ <returns>A fully resolved collection.</returns>
1063+ </member>
1064+ <member name="T:Spring.Objects.Factory.Config.ManagedCollectionElementResolver">
1065+ <summary>
1066+ Resolves a single element value of a managed collection.
1067+ </summary>
1068+ <remarks>
1069+ <p>
1070+ If the <paramref name="element"/> does not need to be resolved or
1071+ converted to an appropriate <see cref="T:System.Type"/>, the
1072+ <paramref name="element"/> will be returned as-is.
1073+ </p>
1074+ </remarks>
1075+ <param name="name">
1076+ The name of the top level object that is having the value of one of it's
1077+ collection properties resolved.
1078+ </param>
1079+ <param name="definition">
1080+ The definition of the named top level object.
1081+ </param>
1082+ <param name="argumentName">
1083+ The name of the property the value of which is being resolved.
1084+ </param>
1085+ <param name="element">
1086+ That element of a managed collection that may need to be resolved
1087+ to a concrete value.
1088+ </param>
1089+ <returns>A fully resolved element.</returns>
1090+ </member>
1091 <member name="T:Spring.Objects.Factory.Config.IObjectDefinition">
1092 <summary>
1093 Describes an object instance, which has property values, constructor
1094@@ -24535,6 +24847,279 @@
1095 </summary>
1096 <seealso cref="P:Spring.Objects.Factory.IFactoryObject.IsSingleton"/>
1097 </member>
1098+ <member name="T:Spring.Objects.Factory.Config.ManagedDictionary">
1099+ <summary>
1100+ Tag subclass used to hold a dictionary of managed elements.
1101+ </summary>
1102+ <author>Juergen Hoeller</author>
1103+ <author>Rick Evans (.NET)</author>
1104+ </member>
1105+ <member name="T:Spring.Objects.IMergable">
1106+ <summary>
1107+ Interface representing an object whose value set can be merged with that of a parent object.
1108+ </summary>
1109+ <author>Rob Harrop</author>
1110+ <author>Mark Pollack (.NET)</author>
1111+ </member>
1112+ <member name="M:Spring.Objects.IMergable.Merge(System.Object)">
1113+ <summary>
1114+ Merges the current value set with that of the supplied object.
1115+ </summary>
1116+ <remarks>The supplied object is considered the parent, and values in the
1117+ callee's value set must override those of the supplied object.
1118+ </remarks>
1119+ <param name="parent">The parent object to merge with</param>
1120+ <returns>The result of the merge operation</returns>
1121+ <exception cref="T:System.ArgumentNullException">If the supplied parent is <code>null</code></exception>
1122+ <exception cref="T:System.InvalidOperationException">If merging is not enabled for this instance,
1123+ (i.e. <code>MergeEnabled</code> equals <code>false</code>.</exception>
1124+ </member>
1125+ <member name="P:Spring.Objects.IMergable.MergeEnabled">
1126+ <summary>
1127+ Gets a value indicating whether this instance is merge enabled for this instance
1128+ </summary>
1129+ <value>
1130+ <c>true</c> if this instance is merge enabled; otherwise, <c>false</c>.
1131+ </value>
1132+ </member>
1133+ <member name="M:Spring.Objects.Factory.Config.ManagedDictionary.#ctor">
1134+ <summary>
1135+ Initializes a new, empty instance of the <see cref="T:System.Collections.Hashtable"/> class using the default initial capacity, load factor, hash code provider, and comparer.
1136+ </summary>
1137+ </member>
1138+ <member name="M:Spring.Objects.Factory.Config.ManagedDictionary.#ctor(System.Int32)">
1139+ <summary>
1140+ Initializes a new, empty instance of the <see cref="T:System.Collections.Hashtable"/> class using the specified initial capacity, and the default load factor, hash code provider, and comparer.
1141+ </summary>
1142+ <param name="capacity">The approximate number of elements that the <see cref="T:System.Collections.Hashtable"/> object can initially contain. </param><exception cref="T:System.ArgumentOutOfRangeException"><paramref name="capacity"/> is less than zero. </exception>
1143+ </member>
1144+ <member name="M:Spring.Objects.Factory.Config.ManagedDictionary.Resolve(System.String,Spring.Objects.Factory.Config.IObjectDefinition,System.String,Spring.Objects.Factory.Config.ManagedCollectionElementResolver)">
1145+ <summary>
1146+ Resolves this managed collection at runtime.
1147+ </summary>
1148+ <param name="objectName">
1149+ The name of the top level object that is having the value of one of it's
1150+ collection properties resolved.
1151+ </param>
1152+ <param name="definition">
1153+ The definition of the named top level object.
1154+ </param>
1155+ <param name="propertyName">
1156+ The name of the property the value of which is being resolved.
1157+ </param>
1158+ <param name="resolver">
1159+ The callback that will actually do the donkey work of resolving
1160+ this managed collection.
1161+ </param>
1162+ <returns>A fully resolved collection.</returns>
1163+ </member>
1164+ <member name="M:Spring.Objects.Factory.Config.ManagedDictionary.Merge(System.Object)">
1165+ <summary>
1166+ Merges the current value set with that of the supplied object.
1167+ </summary>
1168+ <remarks>The supplied object is considered the parent, and values in the
1169+ callee's value set must override those of the supplied object.
1170+ </remarks>
1171+ <param name="parent">The parent object to merge with</param>
1172+ <returns>The result of the merge operation</returns>
1173+ <exception cref="T:System.ArgumentNullException">If the supplied parent is <code>null</code></exception>
1174+ <exception cref="T:System.InvalidOperationException">If merging is not enabled for this instance,
1175+ (i.e. <code>MergeEnabled</code> equals <code>false</code>.</exception>
1176+ </member>
1177+ <member name="P:Spring.Objects.Factory.Config.ManagedDictionary.KeyTypeName">
1178+ <summary>
1179+ Gets or sets the unresolved name for the <see cref="T:System.Type"/>
1180+ of the keys of this managed dictionary.
1181+ </summary>
1182+ <value>The unresolved name for the type of the keys of this managed dictionary.</value>
1183+ </member>
1184+ <member name="P:Spring.Objects.Factory.Config.ManagedDictionary.ValueTypeName">
1185+ <summary>
1186+ Gets or sets the unresolved name for the <see cref="T:System.Type"/>
1187+ of the values of this managed dictionary.
1188+ </summary>
1189+ <value>The unresolved name for the type of the values of this managed dictionary.</value>
1190+ </member>
1191+ <member name="P:Spring.Objects.Factory.Config.ManagedDictionary.MergeEnabled">
1192+ <summary>
1193+ Gets a value indicating whether this instance is merge enabled for this instance
1194+ </summary>
1195+ <value>
1196+ <c>true</c> if this instance is merge enabled; otherwise, <c>false</c>.
1197+ </value>
1198+ </member>
1199+ <member name="T:Spring.Objects.Factory.Config.ManagedList">
1200+ <summary>
1201+ Tag subclass used to hold a list of managed elements.
1202+ </summary>
1203+ <author>Rod Johnson</author>
1204+ <author>Rick Evans (.NET)</author>
1205+ </member>
1206+ <member name="M:Spring.Objects.Factory.Config.ManagedList.#ctor">
1207+ <summary>
1208+ Initializes a new instance of the ManagedList class that is empty and has the default initial capacity.
1209+ </summary>
1210+ </member>
1211+ <member name="M:Spring.Objects.Factory.Config.ManagedList.#ctor(System.Int32)">
1212+ <summary>
1213+ Initializes a new instance of the ManagedList class that is empty and has the specified initial capacity.
1214+ </summary>
1215+ <param name="capacity">The number of elements that the new list can initially store. </param><exception cref="T:System.ArgumentOutOfRangeException"><paramref name="capacity"/> is less than zero. </exception>
1216+ </member>
1217+ <member name="M:Spring.Objects.Factory.Config.ManagedList.Resolve(System.String,Spring.Objects.Factory.Config.IObjectDefinition,System.String,Spring.Objects.Factory.Config.ManagedCollectionElementResolver)">
1218+ <summary>
1219+ Resolves this managed collection at runtime.
1220+ </summary>
1221+ <param name="objectName">
1222+ The name of the top level object that is having the value of one of it's
1223+ collection properties resolved.
1224+ </param>
1225+ <param name="definition">
1226+ The definition of the named top level object.
1227+ </param>
1228+ <param name="propertyName">
1229+ The name of the property the value of which is being resolved.
1230+ </param>
1231+ <param name="resolver">
1232+ The callback that will actually do the donkey work of resolving
1233+ this managed collection.
1234+ </param>
1235+ <returns>A fully resolved collection.</returns>
1236+ </member>
1237+ <member name="M:Spring.Objects.Factory.Config.ManagedList.Merge(System.Object)">
1238+ <summary>
1239+ Merges the current value set with that of the supplied object.
1240+ </summary>
1241+ <remarks>The supplied object is considered the parent, and values in the
1242+ callee's value set must override those of the supplied object.
1243+ </remarks>
1244+ <param name="parent">The parent object to merge with</param>
1245+ <returns>The result of the merge operation</returns>
1246+ <exception cref="T:System.ArgumentNullException">If the supplied parent is <code>null</code></exception>
1247+ <exception cref="T:System.InvalidOperationException">If merging is not enabled for this instance,
1248+ (i.e. <code>MergeEnabled</code> equals <code>false</code>.</exception>
1249+ </member>
1250+ <member name="P:Spring.Objects.Factory.Config.ManagedList.ElementTypeName">
1251+ <summary>
1252+ Gets or sets the unresolved name for the <see cref="T:System.Type"/>
1253+ of the elements of this managed list.
1254+ </summary>
1255+ <value>The unresolved name for the type of the elements of this managed list.</value>
1256+ </member>
1257+ <member name="P:Spring.Objects.Factory.Config.ManagedList.MergeEnabled">
1258+ <summary>
1259+ Gets a value indicating whether this instance is merge enabled for this instance
1260+ </summary>
1261+ <value>
1262+ <c>true</c> if this instance is merge enabled; otherwise, <c>false</c>.
1263+ </value>
1264+ </member>
1265+ <member name="T:Spring.Objects.Factory.Config.ManagedNameValueCollection">
1266+ <summary>
1267+ Tag class which represent a Spring-managed <see cref="T:System.Collections.Specialized.NameValueCollection"/> instance that
1268+ supports merging of parent/child definitions.
1269+ </summary>
1270+ </member>
1271+ <member name="M:Spring.Objects.Factory.Config.ManagedNameValueCollection.#ctor">
1272+ <summary>
1273+ Initializes a new instance of the <see cref="T:System.Collections.Specialized.NameValueCollection"/> class that is empty, has the default initial capacity and uses the default case-insensitive hash code provider and the default case-insensitive comparer.
1274+ </summary>
1275+ </member>
1276+ <member name="M:Spring.Objects.Factory.Config.ManagedNameValueCollection.#ctor(System.Int32)">
1277+ <summary>
1278+ Initializes a new instance of the <see cref="T:System.Collections.Specialized.NameValueCollection"/> class that is empty, has the specified initial capacity and uses the default case-insensitive hash code provider and the default case-insensitive comparer.
1279+ </summary>
1280+ <param name="capacity">The initial number of entries that the <see cref="T:System.Collections.Specialized.NameValueCollection"/> can contain.</param><exception cref="T:System.ArgumentOutOfRangeException"><paramref name="capacity"/> is less than zero.</exception>
1281+ </member>
1282+ <member name="M:Spring.Objects.Factory.Config.ManagedNameValueCollection.Merge(System.Object)">
1283+ <summary>
1284+ Merges the current value set with that of the supplied object.
1285+ </summary>
1286+ <remarks>The supplied object is considered the parent, and values in the
1287+ callee's value set must override those of the supplied object.
1288+ </remarks>
1289+ <param name="parent">The parent object to merge with</param>
1290+ <returns>The result of the merge operation</returns>
1291+ <exception cref="T:System.ArgumentNullException">If the supplied parent is <code>null</code></exception>
1292+ <exception cref="T:System.InvalidOperationException">If merging is not enabled for this instance,
1293+ (i.e. <code>MergeEnabled</code> equals <code>false</code>.</exception>
1294+ </member>
1295+ <member name="P:Spring.Objects.Factory.Config.ManagedNameValueCollection.MergeEnabled">
1296+ <summary>
1297+ Gets a value indicating whether this instance is merge enabled for this instance
1298+ </summary>
1299+ <value>
1300+ <c>true</c> if this instance is merge enabled; otherwise, <c>false</c>.
1301+ </value>
1302+ </member>
1303+ <member name="T:Spring.Objects.Factory.Config.ManagedSet">
1304+ <summary>
1305+ Tag subclass used to hold a set of managed elements.
1306+ </summary>
1307+ <author>Juergen Hoeller</author>
1308+ <author>Rick Evans (.NET)</author>
1309+ </member>
1310+ <member name="M:Spring.Objects.Factory.Config.ManagedSet.#ctor">
1311+ <summary>
1312+ Creates a new set instance based on either a list or a hash table,
1313+ depending on which will be more efficient based on the data-set
1314+ size.
1315+ </summary>
1316+ </member>
1317+ <member name="M:Spring.Objects.Factory.Config.ManagedSet.#ctor(System.Int32)">
1318+ <summary>
1319+ Initializes a new instance of the <see cref="T:Spring.Collections.HybridSet"/> class with a given capacity
1320+ </summary>
1321+ <param name="size">The size.</param>
1322+ </member>
1323+ <member name="M:Spring.Objects.Factory.Config.ManagedSet.Resolve(System.String,Spring.Objects.Factory.Config.IObjectDefinition,System.String,Spring.Objects.Factory.Config.ManagedCollectionElementResolver)">
1324+ <summary>
1325+ Resolves this managed collection at runtime.
1326+ </summary>
1327+ <param name="objectName">
1328+ The name of the top level object that is having the value of one of it's
1329+ collection properties resolved.
1330+ </param>
1331+ <param name="definition">
1332+ The definition of the named top level object.
1333+ </param>
1334+ <param name="propertyName">
1335+ The name of the property the value of which is being resolved.
1336+ </param>
1337+ <param name="resolver">
1338+ The callback that will actually do the donkey work of resolving
1339+ this managed collection.
1340+ </param>
1341+ <returns>A fully resolved collection.</returns>
1342+ </member>
1343+ <member name="M:Spring.Objects.Factory.Config.ManagedSet.Merge(System.Object)">
1344+ <summary>
1345+ Merges the current value set with that of the supplied object.
1346+ </summary>
1347+ <remarks>The supplied object is considered the parent, and values in the
1348+ callee's value set must override those of the supplied object.
1349+ </remarks>
1350+ <param name="parent">The parent object to merge with</param>
1351+ <returns>The result of the merge operation</returns>
1352+ <exception cref="T:System.ArgumentNullException">If the supplied parent is <code>null</code></exception>
1353+ <exception cref="T:System.InvalidOperationException">If merging is not enabled for this instance,
1354+ (i.e. <code>MergeEnabled</code> equals <code>false</code>.</exception>
1355+ </member>
1356+ <member name="P:Spring.Objects.Factory.Config.ManagedSet.ElementTypeName">
1357+ <summary>
1358+ Gets or sets the unresolved name for the <see cref="T:System.Type"/>
1359+ of the elements of this managed set.
1360+ </summary>
1361+ <value>The unresolved name for the type of the elements of this managed set.</value>
1362+ </member>
1363+ <member name="P:Spring.Objects.Factory.Config.ManagedSet.MergeEnabled">
1364+ <summary>
1365+ Gets a value indicating whether this instance is merge enabled for this instance
1366+ </summary>
1367+ <value>
1368+ <c>true</c> if this instance is merge enabled; otherwise, <c>false</c>.
1369+ </value>
1370+ </member>
1371 <member name="T:Spring.Objects.Factory.Config.MethodInvokingFactoryObject">
1372 <summary>
1373 An <see cref="T:Spring.Objects.Factory.IFactoryObject"/> that returns a value
1374@@ -25117,8 +25702,7 @@
1375 </member>
1376 <member name="M:Spring.Objects.Factory.Config.ObjectDefinitionVisitor.#ctor(Spring.Objects.Factory.Config.ObjectDefinitionVisitor.ResolveHandler)">
1377 <summary>
1378- Initializes a new instance of the <see cref="T:Spring.Objects.Factory.Config.ObjectDefinitionVisitor"/> class,
1379- applying the specified IVariableSource to all object metadata values.
1380+ Initializes a new instance of the <see cref="T:Spring.Objects.Factory.Config.ObjectDefinitionVisitor"/> class.
1381 </summary>
1382 <param name="resolveHandler">The handler to be called for resolving variables contained in a string.</param>
1383 </member>
1384@@ -25184,19 +25768,19 @@
1385 <param name="value">the value to resolve</param>
1386 <returns>the resolved value</returns>
1387 </member>
1388- <member name="M:Spring.Objects.Factory.Config.ObjectDefinitionVisitor.VisitManagedList(Spring.Objects.Factory.Support.ManagedList)">
1389+ <member name="M:Spring.Objects.Factory.Config.ObjectDefinitionVisitor.VisitManagedList(Spring.Objects.Factory.Config.ManagedList)">
1390 <summary>
1391 Visits the ManagedList property ElementTypeName and
1392 calls <see cref="M:Spring.Objects.Factory.Config.ObjectDefinitionVisitor.ResolveValue(System.Object)"/> for list element.
1393 </summary>
1394 </member>
1395- <member name="M:Spring.Objects.Factory.Config.ObjectDefinitionVisitor.VisitManagedSet(Spring.Objects.Factory.Support.ManagedSet)">
1396+ <member name="M:Spring.Objects.Factory.Config.ObjectDefinitionVisitor.VisitManagedSet(Spring.Objects.Factory.Config.ManagedSet)">
1397 <summary>
1398 Visits the ManagedSet property ElementTypeName and
1399 calls <see cref="M:Spring.Objects.Factory.Config.ObjectDefinitionVisitor.ResolveValue(System.Object)"/> for list element.
1400 </summary>
1401 </member>
1402- <member name="M:Spring.Objects.Factory.Config.ObjectDefinitionVisitor.VisitManagedDictionary(Spring.Objects.Factory.Support.ManagedDictionary)">
1403+ <member name="M:Spring.Objects.Factory.Config.ObjectDefinitionVisitor.VisitManagedDictionary(Spring.Objects.Factory.Config.ManagedDictionary)">
1404 <summary>
1405 Visits the ManagedSet properties KeyTypeName and ValueTypeName and
1406 calls <see cref="M:Spring.Objects.Factory.Config.ObjectDefinitionVisitor.ResolveValue(System.Object)"/> for dictionary's value element.
1407@@ -27604,6 +28188,33 @@
1408 In case of errors.
1409 </exception>
1410 </member>
1411+ <member name="M:Spring.Objects.Factory.Support.AbstractObjectFactory.ApplyObjectPropertyValues(System.Object,System.String,Spring.Objects.Factory.Config.IObjectDefinition)">
1412+ <summary>
1413+ Apply the property values of the object definition with the supplied
1414+ <paramref name="name"/> to the supplied <paramref name="instance"/>.
1415+ </summary>
1416+ <remarks>
1417+ <p>
1418+ The object definition can either define a fully self-contained object,
1419+ reusing it's property values, or just property values meant to be used
1420+ for existing object instances.
1421+ </p>
1422+ </remarks>
1423+ <param name="instance">
1424+ The existing object that the property values for the named object will
1425+ be applied to.
1426+ </param>
1427+ <param name="name">
1428+ The name of the object definition associated with the property values that are
1429+ to be applied.
1430+ </param>
1431+ <param name="definition">
1432+ An object definition that should be used to apply property values.
1433+ </param>
1434+ <exception cref="T:Spring.Objects.ObjectsException">
1435+ In case of errors.
1436+ </exception>
1437+ </member>
1438 <member name="M:Spring.Objects.Factory.Support.AbstractObjectFactory.InstantiateObject(System.String,Spring.Objects.Factory.Support.RootObjectDefinition,System.Object[],System.Boolean,System.Boolean)">
1439 <summary>
1440 Create an object instance for the given object definition.
1441@@ -27860,7 +28471,7 @@
1442 To be overridden in subclasses, applying more sophisticated type detection.
1443 </remarks>
1444 <param name="objectName">Name of the object.</param>
1445- <param name="mod">The merged object definition to determine the type for.</param>
1446+ <param name="mod">The merged object definition to determine the type for. May be <c>null</c></param>
1447 <returns>The type of the object, or <code>null</code> if not predictable</returns>
1448 </member>
1449 <member name="M:Spring.Objects.Factory.Support.AbstractObjectFactory.GetObjectForInstance(System.String,System.Object)">
1450@@ -28626,7 +29237,7 @@
1451 specified object.
1452 </summary>
1453 <param name="objectName">Name of the object.</param>
1454- <param name="mod">The merged object definition to determine the type for.</param>
1455+ <param name="mod">The merged object definition to determine the type for. May be <c>null</c></param>
1456 <returns>
1457 The type of the object, or <code>null</code> if not predictable
1458 </returns>
1459@@ -28663,6 +29274,23 @@
1460 to be applied.
1461 </param>
1462 </member>
1463+ <member name="M:Spring.Objects.Factory.Support.AbstractAutowireCapableObjectFactory.ApplyObjectPropertyValues(System.Object,System.String,Spring.Objects.Factory.Config.IObjectDefinition)">
1464+ <summary>
1465+ Apply the property values of the object definition with the supplied
1466+ <paramref name="name"/> to the supplied <paramref name="instance"/>.
1467+ </summary>
1468+ <param name="instance">
1469+ The existing object that the property values for the named object will
1470+ be applied to.
1471+ </param>
1472+ <param name="name">
1473+ The name of the object definition associated with the property values that are
1474+ to be applied.
1475+ </param>
1476+ <param name="definition">
1477+ An object definition that should be used to apply property values.
1478+ </param>
1479+ </member>
1480 <member name="M:Spring.Objects.Factory.Support.AbstractAutowireCapableObjectFactory.ApplyObjectPostProcessorsBeforeInstantiation(System.Type,System.String)">
1481 <summary>
1482 Apply any
1483@@ -30391,6 +31019,12 @@
1484 </summary>
1485 <returns>A SimpleAutowireCandidateResolver</returns>
1486 </member>
1487+ <member name="M:Spring.Objects.Factory.Support.AutowireUtils.GetUnsatisfiedDependencies(System.Reflection.PropertyInfo[],Spring.Objects.IPropertyValues,Spring.Objects.Factory.Support.DependencyCheckingMode)">
1488+ <summary>
1489+ Returns the list of <paramref name="propertyInfos"/> that are not satisfied by <paramref name="properties"/>.
1490+ </summary>
1491+ <returns>the filtered list. Is never <c>null</c></returns>
1492+ </member>
1493 <member name="T:Spring.Objects.Factory.Support.ChildObjectDefinition">
1494 <summary>
1495 Object definition for definitions that inherit settings from their
1496@@ -30564,7 +31198,7 @@
1497 <author>Juergen Hoeller</author>
1498 <author>Mark Pollack</author>
1499 </member>
1500- <member name="M:Spring.Objects.Factory.Support.ConstructorResolver.#ctor(Spring.Objects.Factory.Support.AbstractObjectFactory,Spring.Objects.Factory.Config.IAutowireCapableObjectFactory,Spring.Objects.Factory.Support.IInstantiationStrategy)">
1501+ <member name="M:Spring.Objects.Factory.Support.ConstructorResolver.#ctor(Spring.Objects.Factory.Support.AbstractObjectFactory,Spring.Objects.Factory.Config.IAutowireCapableObjectFactory,Spring.Objects.Factory.Support.IInstantiationStrategy,Spring.Objects.Factory.Support.ObjectDefinitionValueResolver)">
1502 <summary>
1503 Initializes a new instance of the <see cref="T:Spring.Objects.Factory.Support.ConstructorResolver"/> class for the given factory
1504 and instantiation strategy.
1505@@ -30572,6 +31206,7 @@
1506 <param name="objectFactory">The object factory to work with.</param>
1507 <param name="autowireFactory">The object factory as IAutowireCapableObjectFactory.</param>
1508 <param name="instantiationStrategy">The instantiation strategy for creating objects.</param>
1509+ <param name="valueResolver">the resolver to resolve property value placeholders if any</param>
1510 </member>
1511 <member name="M:Spring.Objects.Factory.Support.ConstructorResolver.AutowireConstructor(System.String,Spring.Objects.Factory.Support.RootObjectDefinition,System.Reflection.ConstructorInfo[],System.Object[])">
1512 <summary>
1513@@ -31500,138 +32135,6 @@
1514 <paramref name="definition"/> from the supplied <paramref name="factory"/>.
1515 </returns>
1516 </member>
1517- <member name="T:Spring.Objects.Factory.Support.IManagedCollection">
1518- <summary>
1519- Denotes a special placeholder collection that may contain
1520- <see cref="T:Spring.Objects.Factory.Config.RuntimeObjectReference"/>s or
1521- other placeholder objects that will need to be resolved.
1522- </summary>
1523- <remarks>
1524- <p>
1525- <c>'A special placeholder collection'</c> means that the elements of this
1526- collection can be placeholders for objects that will be resolved later by
1527- a Spring.NET IoC container, i.e. the elements themselves will be
1528- resolved at runtime by the enclosing IoC container.
1529- </p>
1530- <p>
1531- The core Spring.NET library already provides three implementations of this interface
1532- straight out of the box; they are...
1533- </p>
1534- <list type="bullet">
1535- <item>
1536- <description>
1537- <see cref="T:Spring.Objects.Factory.Support.ManagedList"/>.
1538- </description>
1539- </item>
1540- <item>
1541- <description>
1542- <see cref="T:Spring.Objects.Factory.Support.ManagedDictionary"/>.
1543- </description>
1544- </item>
1545- <item>
1546- <description>
1547- <see cref="T:Spring.Objects.Factory.Support.ManagedSet"/>.
1548- </description>
1549- </item>
1550- </list>
1551- <p>
1552- If you have a custom collection class (i.e. a class that either implements the
1553- <see cref="T:System.Collections.ICollection"/> directly or derives from a class that does)
1554- that you would like to expose as a special placeholder collection (i.e. one that can
1555- have <see cref="T:Spring.Objects.Factory.Config.RuntimeObjectReference"/>s as elements
1556- that will be resolved at runtime by an appropriate Spring.NET IoC container, just
1557- implement this interface.
1558- </p>
1559- </remarks>
1560- <example>
1561- <p>
1562- Lets say one has a <c>Bag</c> class (i.e. a collection that supports bag style semantics).
1563- </p>
1564- <code language="C#">
1565- using System;
1566-
1567- using Spring.Objects.Factory.Support;
1568-
1569- namespace MyNamespace
1570- {
1571- public sealed class Bag : ICollection
1572- {
1573- // ICollection implementation elided for clarity...
1574-
1575- public void Add(object o)
1576- {
1577- // implementation elided for clarity...
1578- }
1579- }
1580-
1581- public class ManagedBag : Bag, IManagedCollection
1582- {
1583- public ICollection Resolve(
1584- string objectName, RootObjectDefinition definition,
1585- string propertyName, ManagedCollectionElementResolver resolver)
1586- {
1587- Bag newBag = new Bag();
1588- string elementName = propertyName + "[bag-element]";
1589- foreach(object element in this)
1590- {
1591- object resolvedElement = resolver(objectName, definition, elementName, element);
1592- newBag.Add(resolvedElement);
1593- }
1594- return newBag;
1595- }
1596- }
1597- }
1598- </code>
1599- </example>
1600- <author>Rick Evans</author>
1601- </member>
1602- <member name="M:Spring.Objects.Factory.Support.IManagedCollection.Resolve(System.String,Spring.Objects.Factory.Config.IObjectDefinition,System.String,Spring.Objects.Factory.Support.ManagedCollectionElementResolver)">
1603- <summary>
1604- Resolves this managed collection at runtime.
1605- </summary>
1606- <param name="objectName">
1607- The name of the top level object that is having the value of one of it's
1608- collection properties resolved.
1609- </param>
1610- <param name="definition">
1611- The definition of the named top level object.
1612- </param>
1613- <param name="propertyName">
1614- The name of the property the value of which is being resolved.
1615- </param>
1616- <param name="resolver">
1617- The callback that will actually do the donkey work of resolving
1618- this managed collection.
1619- </param>
1620- <returns>A fully resolved collection.</returns>
1621- </member>
1622- <member name="T:Spring.Objects.Factory.Support.ManagedCollectionElementResolver">
1623- <summary>
1624- Resolves a single element value of a managed collection.
1625- </summary>
1626- <remarks>
1627- <p>
1628- If the <paramref name="element"/> does not need to be resolved or
1629- converted to an appropriate <see cref="T:System.Type"/>, the
1630- <paramref name="element"/> will be returned as-is.
1631- </p>
1632- </remarks>
1633- <param name="name">
1634- The name of the top level object that is having the value of one of it's
1635- collection properties resolved.
1636- </param>
1637- <param name="definition">
1638- The definition of the named top level object.
1639- </param>
1640- <param name="argumentName">
1641- The name of the property the value of which is being resolved.
1642- </param>
1643- <param name="element">
1644- That element of a managed collection that may need to be resolved
1645- to a concrete value.
1646- </param>
1647- <returns>A fully resolved element.</returns>
1648- </member>
1649 <member name="T:Spring.Objects.Factory.Support.LookupMethodOverride">
1650 <summary>
1651 Represents an override of a method that looks up an object in the same IoC context.
1652@@ -31822,279 +32325,6 @@
1653 The result of the object lookup.
1654 </returns>
1655 </member>
1656- <member name="T:Spring.Objects.Factory.Support.ManagedDictionary">
1657- <summary>
1658- Tag subclass used to hold a dictionary of managed elements.
1659- </summary>
1660- <author>Juergen Hoeller</author>
1661- <author>Rick Evans (.NET)</author>
1662- </member>
1663- <member name="T:Spring.Objects.IMergable">
1664- <summary>
1665- Interface representing an object whose value set can be merged with that of a parent object.
1666- </summary>
1667- <author>Rob Harrop</author>
1668- <author>Mark Pollack (.NET)</author>
1669- </member>
1670- <member name="M:Spring.Objects.IMergable.Merge(System.Object)">
1671- <summary>
1672- Merges the current value set with that of the supplied object.
1673- </summary>
1674- <remarks>The supplied object is considered the parent, and values in the
1675- callee's value set must override those of the supplied object.
1676- </remarks>
1677- <param name="parent">The parent object to merge with</param>
1678- <returns>The result of the merge operation</returns>
1679- <exception cref="T:System.ArgumentNullException">If the supplied parent is <code>null</code></exception>
1680- <exception cref="T:System.InvalidOperationException">If merging is not enabled for this instance,
1681- (i.e. <code>MergeEnabled</code> equals <code>false</code>.</exception>
1682- </member>
1683- <member name="P:Spring.Objects.IMergable.MergeEnabled">
1684- <summary>
1685- Gets a value indicating whether this instance is merge enabled for this instance
1686- </summary>
1687- <value>
1688- <c>true</c> if this instance is merge enabled; otherwise, <c>false</c>.
1689- </value>
1690- </member>
1691- <member name="M:Spring.Objects.Factory.Support.ManagedDictionary.#ctor">
1692- <summary>
1693- Initializes a new, empty instance of the <see cref="T:System.Collections.Hashtable"/> class using the default initial capacity, load factor, hash code provider, and comparer.
1694- </summary>
1695- </member>
1696- <member name="M:Spring.Objects.Factory.Support.ManagedDictionary.#ctor(System.Int32)">
1697- <summary>
1698- Initializes a new, empty instance of the <see cref="T:System.Collections.Hashtable"/> class using the specified initial capacity, and the default load factor, hash code provider, and comparer.
1699- </summary>
1700- <param name="capacity">The approximate number of elements that the <see cref="T:System.Collections.Hashtable"/> object can initially contain. </param><exception cref="T:System.ArgumentOutOfRangeException"><paramref name="capacity"/> is less than zero. </exception>
1701- </member>
1702- <member name="M:Spring.Objects.Factory.Support.ManagedDictionary.Resolve(System.String,Spring.Objects.Factory.Config.IObjectDefinition,System.String,Spring.Objects.Factory.Support.ManagedCollectionElementResolver)">
1703- <summary>
1704- Resolves this managed collection at runtime.
1705- </summary>
1706- <param name="objectName">
1707- The name of the top level object that is having the value of one of it's
1708- collection properties resolved.
1709- </param>
1710- <param name="definition">
1711- The definition of the named top level object.
1712- </param>
1713- <param name="propertyName">
1714- The name of the property the value of which is being resolved.
1715- </param>
1716- <param name="resolver">
1717- The callback that will actually do the donkey work of resolving
1718- this managed collection.
1719- </param>
1720- <returns>A fully resolved collection.</returns>
1721- </member>
1722- <member name="M:Spring.Objects.Factory.Support.ManagedDictionary.Merge(System.Object)">
1723- <summary>
1724- Merges the current value set with that of the supplied object.
1725- </summary>
1726- <remarks>The supplied object is considered the parent, and values in the
1727- callee's value set must override those of the supplied object.
1728- </remarks>
1729- <param name="parent">The parent object to merge with</param>
1730- <returns>The result of the merge operation</returns>
1731- <exception cref="T:System.ArgumentNullException">If the supplied parent is <code>null</code></exception>
1732- <exception cref="T:System.InvalidOperationException">If merging is not enabled for this instance,
1733- (i.e. <code>MergeEnabled</code> equals <code>false</code>.</exception>
1734- </member>
1735- <member name="P:Spring.Objects.Factory.Support.ManagedDictionary.KeyTypeName">
1736- <summary>
1737- Gets or sets the unresolved name for the <see cref="T:System.Type"/>
1738- of the keys of this managed dictionary.
1739- </summary>
1740- <value>The unresolved name for the type of the keys of this managed dictionary.</value>
1741- </member>
1742- <member name="P:Spring.Objects.Factory.Support.ManagedDictionary.ValueTypeName">
1743- <summary>
1744- Gets or sets the unresolved name for the <see cref="T:System.Type"/>
1745- of the values of this managed dictionary.
1746- </summary>
1747- <value>The unresolved name for the type of the values of this managed dictionary.</value>
1748- </member>
1749- <member name="P:Spring.Objects.Factory.Support.ManagedDictionary.MergeEnabled">
1750- <summary>
1751- Gets a value indicating whether this instance is merge enabled for this instance
1752- </summary>
1753- <value>
1754- <c>true</c> if this instance is merge enabled; otherwise, <c>false</c>.
1755- </value>
1756- </member>
1757- <member name="T:Spring.Objects.Factory.Support.ManagedList">
1758- <summary>
1759- Tag subclass used to hold a list of managed elements.
1760- </summary>
1761- <author>Rod Johnson</author>
1762- <author>Rick Evans (.NET)</author>
1763- </member>
1764- <member name="M:Spring.Objects.Factory.Support.ManagedList.#ctor">
1765- <summary>
1766- Initializes a new instance of the ManagedList class that is empty and has the default initial capacity.
1767- </summary>
1768- </member>
1769- <member name="M:Spring.Objects.Factory.Support.ManagedList.#ctor(System.Int32)">
1770- <summary>
1771- Initializes a new instance of the ManagedList class that is empty and has the specified initial capacity.
1772- </summary>
1773- <param name="capacity">The number of elements that the new list can initially store. </param><exception cref="T:System.ArgumentOutOfRangeException"><paramref name="capacity"/> is less than zero. </exception>
1774- </member>
1775- <member name="M:Spring.Objects.Factory.Support.ManagedList.Resolve(System.String,Spring.Objects.Factory.Config.IObjectDefinition,System.String,Spring.Objects.Factory.Support.ManagedCollectionElementResolver)">
1776- <summary>
1777- Resolves this managed collection at runtime.
1778- </summary>
1779- <param name="objectName">
1780- The name of the top level object that is having the value of one of it's
1781- collection properties resolved.
1782- </param>
1783- <param name="definition">
1784- The definition of the named top level object.
1785- </param>
1786- <param name="propertyName">
1787- The name of the property the value of which is being resolved.
1788- </param>
1789- <param name="resolver">
1790- The callback that will actually do the donkey work of resolving
1791- this managed collection.
1792- </param>
1793- <returns>A fully resolved collection.</returns>
1794- </member>
1795- <member name="M:Spring.Objects.Factory.Support.ManagedList.Merge(System.Object)">
1796- <summary>
1797- Merges the current value set with that of the supplied object.
1798- </summary>
1799- <remarks>The supplied object is considered the parent, and values in the
1800- callee's value set must override those of the supplied object.
1801- </remarks>
1802- <param name="parent">The parent object to merge with</param>
1803- <returns>The result of the merge operation</returns>
1804- <exception cref="T:System.ArgumentNullException">If the supplied parent is <code>null</code></exception>
1805- <exception cref="T:System.InvalidOperationException">If merging is not enabled for this instance,
1806- (i.e. <code>MergeEnabled</code> equals <code>false</code>.</exception>
1807- </member>
1808- <member name="P:Spring.Objects.Factory.Support.ManagedList.ElementTypeName">
1809- <summary>
1810- Gets or sets the unresolved name for the <see cref="T:System.Type"/>
1811- of the elements of this managed list.
1812- </summary>
1813- <value>The unresolved name for the type of the elements of this managed list.</value>
1814- </member>
1815- <member name="P:Spring.Objects.Factory.Support.ManagedList.MergeEnabled">
1816- <summary>
1817- Gets a value indicating whether this instance is merge enabled for this instance
1818- </summary>
1819- <value>
1820- <c>true</c> if this instance is merge enabled; otherwise, <c>false</c>.
1821- </value>
1822- </member>
1823- <member name="T:Spring.Objects.Factory.Support.ManagedNameValueCollection">
1824- <summary>
1825- Tag class which represent a Spring-managed <see cref="T:System.Collections.Specialized.NameValueCollection"/> instance that
1826- supports merging of parent/child definitions.
1827- </summary>
1828- </member>
1829- <member name="M:Spring.Objects.Factory.Support.ManagedNameValueCollection.#ctor">
1830- <summary>
1831- Initializes a new instance of the <see cref="T:System.Collections.Specialized.NameValueCollection"/> class that is empty, has the default initial capacity and uses the default case-insensitive hash code provider and the default case-insensitive comparer.
1832- </summary>
1833- </member>
1834- <member name="M:Spring.Objects.Factory.Support.ManagedNameValueCollection.#ctor(System.Int32)">
1835- <summary>
1836- Initializes a new instance of the <see cref="T:System.Collections.Specialized.NameValueCollection"/> class that is empty, has the specified initial capacity and uses the default case-insensitive hash code provider and the default case-insensitive comparer.
1837- </summary>
1838- <param name="capacity">The initial number of entries that the <see cref="T:System.Collections.Specialized.NameValueCollection"/> can contain.</param><exception cref="T:System.ArgumentOutOfRangeException"><paramref name="capacity"/> is less than zero.</exception>
1839- </member>
1840- <member name="M:Spring.Objects.Factory.Support.ManagedNameValueCollection.Merge(System.Object)">
1841- <summary>
1842- Merges the current value set with that of the supplied object.
1843- </summary>
1844- <remarks>The supplied object is considered the parent, and values in the
1845- callee's value set must override those of the supplied object.
1846- </remarks>
1847- <param name="parent">The parent object to merge with</param>
1848- <returns>The result of the merge operation</returns>
1849- <exception cref="T:System.ArgumentNullException">If the supplied parent is <code>null</code></exception>
1850- <exception cref="T:System.InvalidOperationException">If merging is not enabled for this instance,
1851- (i.e. <code>MergeEnabled</code> equals <code>false</code>.</exception>
1852- </member>
1853- <member name="P:Spring.Objects.Factory.Support.ManagedNameValueCollection.MergeEnabled">
1854- <summary>
1855- Gets a value indicating whether this instance is merge enabled for this instance
1856- </summary>
1857- <value>
1858- <c>true</c> if this instance is merge enabled; otherwise, <c>false</c>.
1859- </value>
1860- </member>
1861- <member name="T:Spring.Objects.Factory.Support.ManagedSet">
1862- <summary>
1863- Tag subclass used to hold a set of managed elements.
1864- </summary>
1865- <author>Juergen Hoeller</author>
1866- <author>Rick Evans (.NET)</author>
1867- </member>
1868- <member name="M:Spring.Objects.Factory.Support.ManagedSet.#ctor">
1869- <summary>
1870- Creates a new set instance based on either a list or a hash table,
1871- depending on which will be more efficient based on the data-set
1872- size.
1873- </summary>
1874- </member>
1875- <member name="M:Spring.Objects.Factory.Support.ManagedSet.#ctor(System.Int32)">
1876- <summary>
1877- Initializes a new instance of the <see cref="T:Spring.Collections.HybridSet"/> class with a given capacity
1878- </summary>
1879- <param name="size">The size.</param>
1880- </member>
1881- <member name="M:Spring.Objects.Factory.Support.ManagedSet.Resolve(System.String,Spring.Objects.Factory.Config.IObjectDefinition,System.String,Spring.Objects.Factory.Support.ManagedCollectionElementResolver)">
1882- <summary>
1883- Resolves this managed collection at runtime.
1884- </summary>
1885- <param name="objectName">
1886- The name of the top level object that is having the value of one of it's
1887- collection properties resolved.
1888- </param>
1889- <param name="definition">
1890- The definition of the named top level object.
1891- </param>
1892- <param name="propertyName">
1893- The name of the property the value of which is being resolved.
1894- </param>
1895- <param name="resolver">
1896- The callback that will actually do the donkey work of resolving
1897- this managed collection.
1898- </param>
1899- <returns>A fully resolved collection.</returns>
1900- </member>
1901- <member name="M:Spring.Objects.Factory.Support.ManagedSet.Merge(System.Object)">
1902- <summary>
1903- Merges the current value set with that of the supplied object.
1904- </summary>
1905- <remarks>The supplied object is considered the parent, and values in the
1906- callee's value set must override those of the supplied object.
1907- </remarks>
1908- <param name="parent">The parent object to merge with</param>
1909- <returns>The result of the merge operation</returns>
1910- <exception cref="T:System.ArgumentNullException">If the supplied parent is <code>null</code></exception>
1911- <exception cref="T:System.InvalidOperationException">If merging is not enabled for this instance,
1912- (i.e. <code>MergeEnabled</code> equals <code>false</code>.</exception>
1913- </member>
1914- <member name="P:Spring.Objects.Factory.Support.ManagedSet.ElementTypeName">
1915- <summary>
1916- Gets or sets the unresolved name for the <see cref="T:System.Type"/>
1917- of the elements of this managed set.
1918- </summary>
1919- <value>The unresolved name for the type of the elements of this managed set.</value>
1920- </member>
1921- <member name="P:Spring.Objects.Factory.Support.ManagedSet.MergeEnabled">
1922- <summary>
1923- Gets a value indicating whether this instance is merge enabled for this instance
1924- </summary>
1925- <value>
1926- <c>true</c> if this instance is merge enabled; otherwise, <c>false</c>.
1927- </value>
1928- </member>
1929 <member name="T:Spring.Objects.Factory.Support.MethodInjectingInstantiationStrategy">
1930 <summary>
1931 An <see cref="T:Spring.Objects.Factory.Support.IInstantiationStrategy"/>
1932@@ -33104,7 +33334,7 @@
1933 </item>
1934 <item>
1935 <p>
1936- An <see cref="T:Spring.Objects.Factory.Support.IManagedCollection"/>. This is a
1937+ An <see cref="T:Spring.Objects.Factory.Config.IManagedCollection"/>. This is a
1938 special placeholder collection that may contain
1939 <see cref="T:Spring.Objects.Factory.Config.RuntimeObjectReference"/>s or
1940 collections that will need to be resolved.
1941@@ -33135,11 +33365,18 @@
1942 <summary>
1943 TODO
1944 </summary>
1945- <param name="name"></param>
1946- <param name="definition"></param>
1947- <param name="argumentName"></param>
1948- <param name="argumentValue"></param>
1949- <returns></returns>
1950+ <param name="name">
1951+ The name of the object that is having the value of one of its properties resolved.
1952+ </param>
1953+ <param name="definition">
1954+ The definition of the named object.
1955+ </param>
1956+ <param name="argumentName">
1957+ The name of the property the value of which is being resolved.
1958+ </param>
1959+ <param name="argumentValue">
1960+ The value of the property that is being resolved.
1961+ </param>
1962 </member>
1963 <member name="M:Spring.Objects.Factory.Support.ObjectDefinitionValueResolver.ResolveTargetType(Spring.Objects.Factory.Config.TypedStringValue)">
1964 <summary>
1965@@ -40476,9 +40713,7 @@
1966 Calls target method directly.
1967 </summary>
1968 <param name="il">The IL generator to use.</param>
1969- <param name="interfaceMethod">
1970- The interface definition of the method, if applicable.
1971- </param>
1972+ <param name="targetMethod">The method to invoke.</param>
1973 </member>
1974 <member name="M:Spring.Proxy.AbstractProxyMethodBuilder.CallAssertUnderstands(System.Reflection.Emit.ILGenerator,System.Reflection.MethodInfo,System.Reflection.Emit.LocalBuilder,System.String)">
1975 <summary>
1976@@ -42904,6 +43139,12 @@
1977 <param name="collection">the collection to be checked.</param>
1978 <returns>true if the collection has a length and contains only non-null elements.</returns>
1979 </member>
1980+ <member name="M:Spring.Util.ArrayUtils.Sort(System.Array,System.Collections.IComparer)">
1981+ <summary>
1982+ Use this sort method instead of <see cref="M:System.Array.Sort(System.Array,System.Collections.IComparer)"/> to overcome
1983+ bugs in Mono.
1984+ </summary>
1985+ </member>
1986 <member name="M:Spring.Util.ArrayUtils.HasLength(System.Collections.ICollection)">
1987 <summary>
1988 Checks if the given array or collection is null or has no elements.
1989@@ -43525,6 +43766,11 @@
1990 <param name="enforce">bypasses the check if the current system has already been initialized</param>
1991 <returns>the previous config system, if any</returns>
1992 </member>
1993+ <member name="M:Spring.Util.ConfigurationUtils.ResetConfigurationSystem">
1994+ <summary>
1995+ Resets the global configuration system instance. Use for unit testing only!
1996+ </summary>
1997+ </member>
1998 <member name="T:Spring.Util.ConfigXmlAttribute">
1999 <summary>
2000 An <see cref="T:System.Xml.XmlAttribute"/> holding information about its original text source location.
2001@@ -43611,6 +43857,20 @@
2002 <param name="resourceName">the name of the resource</param>
2003 <param name="xml">The XML source </param>
2004 </member>
2005+ <member name="M:Spring.Util.ConfigXmlDocument.Load(System.String)">
2006+ <summary>
2007+ Load the document from the given <see cref="T:System.Xml.XmlReader"/>.
2008+ </summary>
2009+ <param name="filePath">The XML source </param>
2010+ </member>
2011+ <member name="M:Spring.Util.ConfigXmlDocument.Load(System.String,System.String)">
2012+ <summary>
2013+ Load the document from the given <see cref="T:System.Xml.XmlReader"/>.
2014+ Child nodes will store <paramref name="resourceName"/> as their <see cref="P:Spring.Util.ITextPosition.Filename"/> property.
2015+ </summary>
2016+ <param name="resourceName">the name of the resource</param>
2017+ <param name="filePath">The XML source </param>
2018+ </member>
2019 <member name="M:Spring.Util.ConfigXmlDocument.Load(System.String,System.IO.Stream)">
2020 <summary>
2021 Load the document from the given <see cref="T:System.Xml.XmlReader"/>.
2022@@ -43909,6 +44169,11 @@
2023 </summary>
2024 <author>Rick Evans</author>
2025 </member>
2026+ <member name="M:Spring.Util.EventRaiser.#ctor">
2027+ <summary>
2028+ Create a new EventRaiser instance
2029+ </summary>
2030+ </member>
2031 <member name="M:Spring.Util.EventRaiser.Raise(System.Delegate,System.Object[])">
2032 <summary>
2033 Raises the event encapsulated by the supplied
2034@@ -43917,14 +44182,16 @@
2035 </summary>
2036 <param name="source">The event to be raised.</param>
2037 <param name="arguments">The arguments to the event.</param>
2038+ <returns>a map of sink/exception entries that occurred during event raising</returns>
2039 </member>
2040- <member name="M:Spring.Util.EventRaiser.Invoke(System.Delegate,System.Object[])">
2041+ <member name="M:Spring.Util.EventRaiser.Invoke(System.Delegate,System.Object[],Spring.Util.EventRaiser.EventExceptionsCollector)">
2042 <summary>
2043 Invokes the supplied <paramref name="sink"/>, passing the supplied
2044 <paramref name="arguments"/> to the sink.
2045 </summary>
2046 <param name="sink">The sink to be invoked.</param>
2047 <param name="arguments">The arguments to the sink.</param>
2048+ <param name="exceptions">the map of sink/exception entries to add any exception to</param>
2049 </member>
2050 <member name="T:Spring.Util.DefensiveEventRaiser">
2051 <summary>
2052@@ -43939,13 +44206,14 @@
2053 </remarks>
2054 <author>Rick Evans</author>
2055 </member>
2056- <member name="M:Spring.Util.DefensiveEventRaiser.Invoke(System.Delegate,System.Object[])">
2057+ <member name="M:Spring.Util.DefensiveEventRaiser.Invoke(System.Delegate,System.Object[],Spring.Util.EventRaiser.EventExceptionsCollector)">
2058 <summary>
2059 <b>Defensively</b> invokes the supplied <paramref name="sink"/>, passing the
2060 supplied <paramref name="arguments"/> to the sink.
2061 </summary>
2062 <param name="sink">The sink to be invoked.</param>
2063 <param name="arguments">The arguments to the sink.</param>
2064+ <param name="exceptions">the map of sink/exception entries to add any exception to</param>
2065 </member>
2066 <member name="T:Spring.Util.IChainableConfigSystem">
2067 <summary>
2068@@ -43959,6 +44227,21 @@
2069 </summary>
2070 <param name="innerConfigSystem"></param>
2071 </member>
2072+ <member name="T:Spring.Util.IErrorHandler">
2073+ <summary>
2074+ A strategy for handling errors. This is especially useful for handling
2075+ errors that occur during asynchronous execution as in such cases it may not be
2076+ possible to throw the error to the original caller.
2077+ </summary>
2078+ <author>Mark Fisher</author>
2079+ <author>Mark Pollack (.NET)</author>
2080+ </member>
2081+ <member name="M:Spring.Util.IErrorHandler.HandleError(System.Exception)">
2082+ <summary>
2083+ Handles the error.
2084+ </summary>
2085+ <param name="exception">The exception.</param>
2086+ </member>
2087 <member name="T:Spring.Util.IOUtils">
2088 <summary>
2089 Utility methods for IO handling
2090@@ -44573,32 +44856,6 @@
2091 <returns> whether the String matches any of the given patterns
2092 </returns>
2093 </member>
2094- <member name="M:Spring.Util.PatternMatchUtils.IsObjectNameMatch(System.Type,System.String,System.Collections.IList,Spring.Util.PatternMatchUtils.ObjectNameMatchPredicate,System.String)">
2095- <summary>
2096- Convenience method that may be used by derived classes. Iterates over the list of <paramref name="objectNamePatterns"/> to match <paramref name="objectName"/> against.
2097- </summary>
2098- <param name="objType">the object's type. Must not be <c>null</c>.</param>
2099- <param name="objectName">the name of the object Must not be <c>null</c>.</param>
2100- <param name="objectNamePatterns">the list of patterns, that <paramref name="objectName"/> shall be matched against. Must not be <c>null</c>.</param>
2101- <param name="isMatchPredicate">
2102- the <see cref="T:Spring.Util.PatternMatchUtils.ObjectNameMatchPredicate"/> used for
2103- matching <paramref name="objectName"/> against each pattern in <paramref name="objectNamePatterns"/>. Must not be <c>null</c>.
2104- </param>
2105- <param name="factoryObjectPrefix">the prefix to be used for dereferencing factory object names.</param>
2106- <returns>
2107- If <paramref name="objectNamePatterns"/> is <c>null</c>, will always return <c>true</c>, otherwise
2108- if <paramref name="objectName"/> matches any of the patterns specified in <paramref name="objectNamePatterns"/>.
2109- </returns>
2110- </member>
2111- <member name="T:Spring.Util.PatternMatchUtils.ObjectNameMatchPredicate">
2112- <summary>
2113- Signature of callbacks that may be used for matching object names.
2114- </summary>
2115- <param name="objectName">the object name to check.</param>
2116- <param name="namePattern">the pattern to match <paramref name="objectName"/> against.</param>
2117- <returns>true, if the <paramref name="objectName"/> matches <paramref name="namePattern"/></returns>
2118- <see cref="M:Spring.Util.PatternMatchUtils.IsObjectNameMatch(System.Type,System.String,System.Collections.IList,Spring.Util.PatternMatchUtils.ObjectNameMatchPredicate,System.String)"/>
2119- </member>
2120 <member name="T:Spring.Util.Properties">
2121 <summary>
2122 An implementation of the Java Properties class.
2123
2124=== modified file 'lib/Spring.Net/Spring.Data.NHibernate12.dll'
2125Binary files lib/Spring.Net/Spring.Data.NHibernate12.dll 2010-07-13 10:45:23 +0000 and lib/Spring.Net/Spring.Data.NHibernate12.dll 2010-07-26 17:53:42 +0000 differ
2126=== modified file 'lib/Spring.Net/Spring.Data.NHibernate12.xml'
2127--- lib/Spring.Net/Spring.Data.NHibernate12.xml 2010-07-13 10:45:23 +0000
2128+++ lib/Spring.Net/Spring.Data.NHibernate12.xml 2010-07-26 17:53:42 +0000
2129@@ -2214,6 +2214,15 @@
2130 Initializes a new instance of the <see cref="T:Spring.Data.NHibernate.HibernateOptimisticLockingFailureException"/> class.
2131 </summary>
2132 </member>
2133+ <member name="M:Spring.Data.NHibernate.HibernateOptimisticLockingFailureException.#ctor(System.String)">
2134+ <summary>
2135+ Creates a new instance of the
2136+ <see cref="T:Spring.Data.NHibernate.HibernateOptimisticLockingFailureException"/> class.
2137+ </summary>
2138+ <param name="message">
2139+ A message about the exception.
2140+ </param>
2141+ </member>
2142 <member name="M:Spring.Data.NHibernate.HibernateOptimisticLockingFailureException.#ctor(NHibernate.StaleObjectStateException)">
2143 <summary>
2144 Initializes a new instance of the <see cref="T:Spring.Data.NHibernate.HibernateOptimisticLockingFailureException"/> class.
2145@@ -2370,6 +2379,16 @@
2146 the corresponding DataAccessException instance
2147 </returns>
2148 </member>
2149+ <member name="P:Spring.Data.NHibernate.LocalSessionFactoryObject.ApplicationContext">
2150+ <summary>
2151+ Setting the Application Context determines were resources are loaded from
2152+ </summary>
2153+ </member>
2154+ <member name="P:Spring.Data.NHibernate.LocalSessionFactoryObject.ResourceLoader">
2155+ <summary>
2156+ Gets or sets the <see cref="T:Spring.Core.IO.IResourceLoader"/> to use for loading mapping assemblies etc.
2157+ </summary>
2158+ </member>
2159 <member name="P:Spring.Data.NHibernate.LocalSessionFactoryObject.MappingAssemblies">
2160 <summary>
2161 Sets the assemblies to load that contain mapping files.
2162@@ -3539,6 +3558,18 @@
2163 The root exception from the underlying data access API - ADO.NET
2164 </param>
2165 </member>
2166+ <member name="M:Spring.Data.NHibernate.HibernateAdoException.#ctor(System.String,System.Exception)">
2167+ <summary>
2168+ Creates a new instance of the HibernateSystemException class with the specified message
2169+ and root cause.
2170+ </summary>
2171+ <param name="message">
2172+ A message about the exception.
2173+ </param>
2174+ <param name="rootCause">
2175+ The root exception that is being wrapped.
2176+ </param>
2177+ </member>
2178 <member name="M:Spring.Data.NHibernate.HibernateAdoException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
2179 <summary>
2180 Creates a new instance of the
2181@@ -3632,12 +3663,33 @@
2182 Initializes a new instance of the <see cref="T:Spring.Data.NHibernate.HibernateQueryException"/> class.
2183 </summary>
2184 </member>
2185+ <member name="M:Spring.Data.NHibernate.HibernateQueryException.#ctor(System.String)">
2186+ <summary>
2187+ Creates a new instance of the
2188+ <see cref="T:Spring.Data.NHibernate.HibernateQueryException"/> class.
2189+ </summary>
2190+ <param name="message">
2191+ A message about the exception.
2192+ </param>
2193+ </member>
2194 <member name="M:Spring.Data.NHibernate.HibernateQueryException.#ctor(NHibernate.QueryException)">
2195 <summary>
2196 Initializes a new instance of the <see cref="T:Spring.Data.NHibernate.HibernateQueryException"/> class.
2197 </summary>
2198 <param name="ex">The ex.</param>
2199 </member>
2200+ <member name="M:Spring.Data.NHibernate.HibernateQueryException.#ctor(System.String,System.Exception)">
2201+ <summary>
2202+ Creates a new instance of the HibernateQueryException class with the specified message
2203+ and root cause.
2204+ </summary>
2205+ <param name="message">
2206+ A message about the exception.
2207+ </param>
2208+ <param name="rootCause">
2209+ The root exception that is being wrapped.
2210+ </param>
2211+ </member>
2212 <member name="M:Spring.Data.NHibernate.HibernateQueryException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
2213 <summary>
2214 Creates a new instance of the
2215@@ -3671,6 +3723,24 @@
2216 Initializes a new instance of the <see cref="T:Spring.Data.NHibernate.HibernateSystemException"/> class.
2217 </summary>
2218 </member>
2219+ <member name="M:Spring.Data.NHibernate.HibernateSystemException.#ctor(System.String)">
2220+ <summary>
2221+ Initializes a new instance of the <see cref="T:Spring.Data.NHibernate.HibernateSystemException"/> class.
2222+ </summary>
2223+ <param name="message">The message.</param>
2224+ </member>
2225+ <member name="M:Spring.Data.NHibernate.HibernateSystemException.#ctor(System.String,System.Exception)">
2226+ <summary>
2227+ Creates a new instance of the HibernateSystemException class with the specified message
2228+ and root cause.
2229+ </summary>
2230+ <param name="message">
2231+ A message about the exception.
2232+ </param>
2233+ <param name="rootCause">
2234+ The root exception that is being wrapped.
2235+ </param>
2236+ </member>
2237 <member name="M:Spring.Data.NHibernate.HibernateSystemException.#ctor(NHibernate.HibernateException)">
2238 <summary>
2239 Initializes a new instance of the <see cref="T:Spring.Data.NHibernate.HibernateSystemException"/> class.
2240
2241=== modified file 'lib/Spring.Net/Spring.Data.NHibernate20.dll'
2242Binary files lib/Spring.Net/Spring.Data.NHibernate20.dll 2010-07-13 10:45:23 +0000 and lib/Spring.Net/Spring.Data.NHibernate20.dll 2010-07-26 17:53:42 +0000 differ
2243=== modified file 'lib/Spring.Net/Spring.Data.NHibernate20.xml'
2244--- lib/Spring.Net/Spring.Data.NHibernate20.xml 2010-07-13 10:45:23 +0000
2245+++ lib/Spring.Net/Spring.Data.NHibernate20.xml 2010-07-26 17:53:42 +0000
2246@@ -108,6 +108,12 @@
2247 Initializes a new instance of the <see cref="T:Spring.Data.NHibernate.HibernateObjectRetrievalFailureException"/> class.
2248 </summary>
2249 </member>
2250+ <member name="M:Spring.Data.NHibernate.HibernateObjectRetrievalFailureException.#ctor(System.String)">
2251+ <summary>
2252+ Initializes a new instance of the <see cref="T:Spring.Data.NHibernate.HibernateObjectRetrievalFailureException"/> class.
2253+ </summary>
2254+ <param name="message">The message.</param>
2255+ </member>
2256 <member name="M:Spring.Data.NHibernate.HibernateObjectRetrievalFailureException.#ctor(NHibernate.UnresolvableObjectException)">
2257 <summary>
2258 Initializes a new instance of the <see cref="T:Spring.Data.NHibernate.HibernateObjectRetrievalFailureException"/> class.
2259@@ -132,6 +138,18 @@
2260 </summary>
2261 <param name="ex">The ex.</param>
2262 </member>
2263+ <member name="M:Spring.Data.NHibernate.HibernateObjectRetrievalFailureException.#ctor(System.String,System.Exception)">
2264+ <summary>
2265+ Creates a new instance of the HibernateObjectRetrievalFailureException class with the specified message
2266+ and root cause.
2267+ </summary>
2268+ <param name="message">
2269+ A message about the exception.
2270+ </param>
2271+ <param name="rootCause">
2272+ The root exception that is being wrapped.
2273+ </param>
2274+ </member>
2275 <member name="M:Spring.Data.NHibernate.HibernateObjectRetrievalFailureException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
2276 <summary>
2277 Creates a new instance of the
2278@@ -162,6 +180,15 @@
2279 Initializes a new instance of the <see cref="T:Spring.Data.NHibernate.HibernateOptimisticLockingFailureException"/> class.
2280 </summary>
2281 </member>
2282+ <member name="M:Spring.Data.NHibernate.HibernateOptimisticLockingFailureException.#ctor(System.String)">
2283+ <summary>
2284+ Creates a new instance of the
2285+ <see cref="T:Spring.Data.NHibernate.HibernateOptimisticLockingFailureException"/> class.
2286+ </summary>
2287+ <param name="message">
2288+ A message about the exception.
2289+ </param>
2290+ </member>
2291 <member name="M:Spring.Data.NHibernate.HibernateOptimisticLockingFailureException.#ctor(NHibernate.StaleObjectStateException)">
2292 <summary>
2293 Initializes a new instance of the <see cref="T:Spring.Data.NHibernate.HibernateOptimisticLockingFailureException"/> class.
2294@@ -174,6 +201,18 @@
2295 </summary>
2296 <param name="ex">The StaleStateException.</param>
2297 </member>
2298+ <member name="M:Spring.Data.NHibernate.HibernateOptimisticLockingFailureException.#ctor(System.String,System.Exception)">
2299+ <summary>
2300+ Creates a new instance of the HibernateOptimisticLockingFailureException class with the specified message
2301+ and root cause.
2302+ </summary>
2303+ <param name="message">
2304+ A message about the exception.
2305+ </param>
2306+ <param name="rootCause">
2307+ The root exception that is being wrapped.
2308+ </param>
2309+ </member>
2310 <member name="M:Spring.Data.NHibernate.HibernateOptimisticLockingFailureException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
2311 <summary>
2312 Creates a new instance of the
2313@@ -389,7 +428,7 @@
2314 the corresponding DataAccessException instance
2315 </returns>
2316 </member>
2317- <member name="P:Spring.Data.NHibernate.LocalSessionFactoryObject.Spring#Context#IApplicationContextAware#ApplicationContext">
2318+ <member name="P:Spring.Data.NHibernate.LocalSessionFactoryObject.ApplicationContext">
2319 <summary>
2320 Setting the Application Context determines were resources are loaded from
2321 </summary>
2322@@ -1299,6 +1338,18 @@
2323 The root exception from the underlying data access API - ADO.NET
2324 </param>
2325 </member>
2326+ <member name="M:Spring.Data.NHibernate.HibernateAdoException.#ctor(System.String,System.Exception)">
2327+ <summary>
2328+ Creates a new instance of the HibernateSystemException class with the specified message
2329+ and root cause.
2330+ </summary>
2331+ <param name="message">
2332+ A message about the exception.
2333+ </param>
2334+ <param name="rootCause">
2335+ The root exception that is being wrapped.
2336+ </param>
2337+ </member>
2338 <member name="M:Spring.Data.NHibernate.HibernateAdoException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
2339 <summary>
2340 Creates a new instance of the
2341@@ -1339,12 +1390,33 @@
2342 Initializes a new instance of the <see cref="T:Spring.Data.NHibernate.HibernateQueryException"/> class.
2343 </summary>
2344 </member>
2345+ <member name="M:Spring.Data.NHibernate.HibernateQueryException.#ctor(System.String)">
2346+ <summary>
2347+ Creates a new instance of the
2348+ <see cref="T:Spring.Data.NHibernate.HibernateQueryException"/> class.
2349+ </summary>
2350+ <param name="message">
2351+ A message about the exception.
2352+ </param>
2353+ </member>
2354 <member name="M:Spring.Data.NHibernate.HibernateQueryException.#ctor(NHibernate.QueryException)">
2355 <summary>
2356 Initializes a new instance of the <see cref="T:Spring.Data.NHibernate.HibernateQueryException"/> class.
2357 </summary>
2358 <param name="ex">The ex.</param>
2359 </member>
2360+ <member name="M:Spring.Data.NHibernate.HibernateQueryException.#ctor(System.String,System.Exception)">
2361+ <summary>
2362+ Creates a new instance of the HibernateQueryException class with the specified message
2363+ and root cause.
2364+ </summary>
2365+ <param name="message">
2366+ A message about the exception.
2367+ </param>
2368+ <param name="rootCause">
2369+ The root exception that is being wrapped.
2370+ </param>
2371+ </member>
2372 <member name="M:Spring.Data.NHibernate.HibernateQueryException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
2373 <summary>
2374 Creates a new instance of the
2375@@ -1378,6 +1450,24 @@
2376 Initializes a new instance of the <see cref="T:Spring.Data.NHibernate.HibernateSystemException"/> class.
2377 </summary>
2378 </member>
2379+ <member name="M:Spring.Data.NHibernate.HibernateSystemException.#ctor(System.String)">
2380+ <summary>
2381+ Initializes a new instance of the <see cref="T:Spring.Data.NHibernate.HibernateSystemException"/> class.
2382+ </summary>
2383+ <param name="message">The message.</param>
2384+ </member>
2385+ <member name="M:Spring.Data.NHibernate.HibernateSystemException.#ctor(System.String,System.Exception)">
2386+ <summary>
2387+ Creates a new instance of the HibernateSystemException class with the specified message
2388+ and root cause.
2389+ </summary>
2390+ <param name="message">
2391+ A message about the exception.
2392+ </param>
2393+ <param name="rootCause">
2394+ The root exception that is being wrapped.
2395+ </param>
2396+ </member>
2397 <member name="M:Spring.Data.NHibernate.HibernateSystemException.#ctor(NHibernate.HibernateException)">
2398 <summary>
2399 Initializes a new instance of the <see cref="T:Spring.Data.NHibernate.HibernateSystemException"/> class.
2400
2401=== modified file 'lib/Spring.Net/Spring.Data.NHibernate21.dll'
2402Binary files lib/Spring.Net/Spring.Data.NHibernate21.dll 2010-07-13 10:45:23 +0000 and lib/Spring.Net/Spring.Data.NHibernate21.dll 2010-07-26 17:53:42 +0000 differ
2403=== modified file 'lib/Spring.Net/Spring.Data.NHibernate21.xml'
2404--- lib/Spring.Net/Spring.Data.NHibernate21.xml 2010-07-13 10:45:23 +0000
2405+++ lib/Spring.Net/Spring.Data.NHibernate21.xml 2010-07-26 17:53:42 +0000
2406@@ -890,6 +890,18 @@
2407 The root exception from the underlying data access API - ADO.NET
2408 </param>
2409 </member>
2410+ <member name="M:Spring.Data.NHibernate.HibernateAdoException.#ctor(System.String,System.Exception)">
2411+ <summary>
2412+ Creates a new instance of the HibernateSystemException class with the specified message
2413+ and root cause.
2414+ </summary>
2415+ <param name="message">
2416+ A message about the exception.
2417+ </param>
2418+ <param name="rootCause">
2419+ The root exception that is being wrapped.
2420+ </param>
2421+ </member>
2422 <member name="M:Spring.Data.NHibernate.HibernateAdoException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
2423 <summary>
2424 Creates a new instance of the
2425@@ -930,12 +942,33 @@
2426 Initializes a new instance of the <see cref="T:Spring.Data.NHibernate.HibernateQueryException"/> class.
2427 </summary>
2428 </member>
2429+ <member name="M:Spring.Data.NHibernate.HibernateQueryException.#ctor(System.String)">
2430+ <summary>
2431+ Creates a new instance of the
2432+ <see cref="T:Spring.Data.NHibernate.HibernateQueryException"/> class.
2433+ </summary>
2434+ <param name="message">
2435+ A message about the exception.
2436+ </param>
2437+ </member>
2438 <member name="M:Spring.Data.NHibernate.HibernateQueryException.#ctor(NHibernate.QueryException)">
2439 <summary>
2440 Initializes a new instance of the <see cref="T:Spring.Data.NHibernate.HibernateQueryException"/> class.
2441 </summary>
2442 <param name="ex">The ex.</param>
2443 </member>
2444+ <member name="M:Spring.Data.NHibernate.HibernateQueryException.#ctor(System.String,System.Exception)">
2445+ <summary>
2446+ Creates a new instance of the HibernateQueryException class with the specified message
2447+ and root cause.
2448+ </summary>
2449+ <param name="message">
2450+ A message about the exception.
2451+ </param>
2452+ <param name="rootCause">
2453+ The root exception that is being wrapped.
2454+ </param>
2455+ </member>
2456 <member name="M:Spring.Data.NHibernate.HibernateQueryException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
2457 <summary>
2458 Creates a new instance of the
2459@@ -969,6 +1002,24 @@
2460 Initializes a new instance of the <see cref="T:Spring.Data.NHibernate.HibernateSystemException"/> class.
2461 </summary>
2462 </member>
2463+ <member name="M:Spring.Data.NHibernate.HibernateSystemException.#ctor(System.String)">
2464+ <summary>
2465+ Initializes a new instance of the <see cref="T:Spring.Data.NHibernate.HibernateSystemException"/> class.
2466+ </summary>
2467+ <param name="message">The message.</param>
2468+ </member>
2469+ <member name="M:Spring.Data.NHibernate.HibernateSystemException.#ctor(System.String,System.Exception)">
2470+ <summary>
2471+ Creates a new instance of the HibernateSystemException class with the specified message
2472+ and root cause.
2473+ </summary>
2474+ <param name="message">
2475+ A message about the exception.
2476+ </param>
2477+ <param name="rootCause">
2478+ The root exception that is being wrapped.
2479+ </param>
2480+ </member>
2481 <member name="M:Spring.Data.NHibernate.HibernateSystemException.#ctor(NHibernate.HibernateException)">
2482 <summary>
2483 Initializes a new instance of the <see cref="T:Spring.Data.NHibernate.HibernateSystemException"/> class.
2484@@ -5621,6 +5672,12 @@
2485 Initializes a new instance of the <see cref="T:Spring.Data.NHibernate.HibernateObjectRetrievalFailureException"/> class.
2486 </summary>
2487 </member>
2488+ <member name="M:Spring.Data.NHibernate.HibernateObjectRetrievalFailureException.#ctor(System.String)">
2489+ <summary>
2490+ Initializes a new instance of the <see cref="T:Spring.Data.NHibernate.HibernateObjectRetrievalFailureException"/> class.
2491+ </summary>
2492+ <param name="message">The message.</param>
2493+ </member>
2494 <member name="M:Spring.Data.NHibernate.HibernateObjectRetrievalFailureException.#ctor(NHibernate.UnresolvableObjectException)">
2495 <summary>
2496 Initializes a new instance of the <see cref="T:Spring.Data.NHibernate.HibernateObjectRetrievalFailureException"/> class.
2497@@ -5645,6 +5702,18 @@
2498 </summary>
2499 <param name="ex">The ex.</param>
2500 </member>
2501+ <member name="M:Spring.Data.NHibernate.HibernateObjectRetrievalFailureException.#ctor(System.String,System.Exception)">
2502+ <summary>
2503+ Creates a new instance of the HibernateObjectRetrievalFailureException class with the specified message
2504+ and root cause.
2505+ </summary>
2506+ <param name="message">
2507+ A message about the exception.
2508+ </param>
2509+ <param name="rootCause">
2510+ The root exception that is being wrapped.
2511+ </param>
2512+ </member>
2513 <member name="M:Spring.Data.NHibernate.HibernateObjectRetrievalFailureException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
2514 <summary>
2515 Creates a new instance of the
2516@@ -5675,6 +5744,15 @@
2517 Initializes a new instance of the <see cref="T:Spring.Data.NHibernate.HibernateOptimisticLockingFailureException"/> class.
2518 </summary>
2519 </member>
2520+ <member name="M:Spring.Data.NHibernate.HibernateOptimisticLockingFailureException.#ctor(System.String)">
2521+ <summary>
2522+ Creates a new instance of the
2523+ <see cref="T:Spring.Data.NHibernate.HibernateOptimisticLockingFailureException"/> class.
2524+ </summary>
2525+ <param name="message">
2526+ A message about the exception.
2527+ </param>
2528+ </member>
2529 <member name="M:Spring.Data.NHibernate.HibernateOptimisticLockingFailureException.#ctor(NHibernate.StaleObjectStateException)">
2530 <summary>
2531 Initializes a new instance of the <see cref="T:Spring.Data.NHibernate.HibernateOptimisticLockingFailureException"/> class.
2532@@ -5687,6 +5765,18 @@
2533 </summary>
2534 <param name="ex">The StaleStateException.</param>
2535 </member>
2536+ <member name="M:Spring.Data.NHibernate.HibernateOptimisticLockingFailureException.#ctor(System.String,System.Exception)">
2537+ <summary>
2538+ Creates a new instance of the HibernateOptimisticLockingFailureException class with the specified message
2539+ and root cause.
2540+ </summary>
2541+ <param name="message">
2542+ A message about the exception.
2543+ </param>
2544+ <param name="rootCause">
2545+ The root exception that is being wrapped.
2546+ </param>
2547+ </member>
2548 <member name="M:Spring.Data.NHibernate.HibernateOptimisticLockingFailureException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
2549 <summary>
2550 Creates a new instance of the
2551@@ -5914,7 +6004,7 @@
2552 the corresponding DataAccessException instance
2553 </returns>
2554 </member>
2555- <member name="P:Spring.Data.NHibernate.LocalSessionFactoryObject.Spring#Context#IApplicationContextAware#ApplicationContext">
2556+ <member name="P:Spring.Data.NHibernate.LocalSessionFactoryObject.ApplicationContext">
2557 <summary>
2558 Setting the Application Context determines were resources are loaded from
2559 </summary>
2560@@ -6098,6 +6188,13 @@
2561 </summary>
2562 <value>The ADO exception translator.</value>
2563 </member>
2564+ <member name="P:Spring.Data.NHibernate.LocalSessionFactoryObject.BytecodeProvider">
2565+ <summary>
2566+ Sets custom byte code provider implementation to be used. This corresponds to setting
2567+ the <see cref="P:NHibernate.Cfg.Environment.BytecodeProvider"/> property before NHibernate session factory
2568+ configuration.
2569+ </summary>
2570+ </member>
2571 <member name="P:Spring.Data.NHibernate.LocalSessionFactoryObject.ObjectType">
2572 <summary>
2573 Return the type <see cref="T:NHibernate.ISessionFactory"/> or subclass.
2574
2575=== modified file 'lib/Spring.Net/Spring.Data.dll'
2576Binary files lib/Spring.Net/Spring.Data.dll 2010-07-13 10:45:23 +0000 and lib/Spring.Net/Spring.Data.dll 2010-07-26 17:53:42 +0000 differ
2577=== modified file 'lib/Spring.Net/Spring.Data.xml'
2578--- lib/Spring.Net/Spring.Data.xml 2010-07-13 10:45:23 +0000
2579+++ lib/Spring.Net/Spring.Data.xml 2010-07-26 17:53:42 +0000
2580@@ -2477,6 +2477,12 @@
2581 </note>
2582 </remarks>
2583 </member>
2584+ <member name="M:Spring.Data.Common.DbProviderFactoryObject.CreateProviderInstance">
2585+ <summary>
2586+ Create the actual provider instance as specified by this factory's configuration properties.
2587+ </summary>
2588+ <returns>the fully configured provider</returns>
2589+ </member>
2590 <member name="M:Spring.Data.Common.DbProviderFactoryObject.AfterPropertiesSet">
2591 <summary>
2592 Validates that the provider name is specified.
2593@@ -2671,7 +2677,7 @@
2594 Initializes a new instance of the <see cref="T:Spring.Data.Common.ErrorCodes"/> class.
2595 </summary>
2596 </member>
2597- <member name="T:Spring.Data.MultiDelegatingDbProvider">
2598+ <member name="T:Spring.Data.Common.MultiDelegatingDbProvider">
2599 <summary>
2600 A wrapper implementation for IDbProvider such that multiple DbProvider instances can be
2601 selected at runtime, say based on web request criteria.
2602@@ -2684,51 +2690,51 @@
2603 </remarks>
2604 <author>Mark Pollack</author>
2605 </member>
2606- <member name="M:Spring.Data.MultiDelegatingDbProvider.#ctor">
2607+ <member name="M:Spring.Data.Common.MultiDelegatingDbProvider.#ctor">
2608 <summary>
2609- Initializes a new instance of the <see cref="T:Spring.Data.MultiDelegatingDbProvider"/> class.
2610+ Initializes a new instance of the <see cref="T:Spring.Data.Common.MultiDelegatingDbProvider"/> class.
2611 </summary>
2612 </member>
2613- <member name="M:Spring.Data.MultiDelegatingDbProvider.#ctor(System.Collections.IDictionary)">
2614+ <member name="M:Spring.Data.Common.MultiDelegatingDbProvider.#ctor(System.Collections.IDictionary)">
2615 <summary>
2616- Initializes a new instance of the <see cref="T:Spring.Data.MultiDelegatingDbProvider"/> class.
2617+ Initializes a new instance of the <see cref="T:Spring.Data.Common.MultiDelegatingDbProvider"/> class.
2618 </summary>
2619 <param name="targetDbProviders">The target db providers.</param>
2620 </member>
2621- <member name="M:Spring.Data.MultiDelegatingDbProvider.AfterPropertiesSet">
2622+ <member name="M:Spring.Data.Common.MultiDelegatingDbProvider.AfterPropertiesSet">
2623 <summary>
2624 Ensures that the there are values in the TargetDbProviders dictionary and that the
2625 key is of the type string and value is of the type IDbProvider.
2626 </summary>
2627 <exception cref="T:System.ArgumentException">If the above conditions are not met.</exception>
2628 </member>
2629- <member name="M:Spring.Data.MultiDelegatingDbProvider.CreateCommand">
2630+ <member name="M:Spring.Data.Common.MultiDelegatingDbProvider.CreateCommand">
2631 <summary>
2632 Returns a new command object for executing SQL statments/Stored Procedures
2633 against the database.
2634 </summary>
2635 <returns>An new <see cref="T:System.Data.IDbCommand"/></returns>
2636 </member>
2637- <member name="M:Spring.Data.MultiDelegatingDbProvider.CreateConnection">
2638+ <member name="M:Spring.Data.Common.MultiDelegatingDbProvider.CreateConnection">
2639 <summary>
2640 Returns a new connection object to communicate with the database.
2641 </summary>
2642 <returns>A new <see cref="T:System.Data.IDbConnection"/></returns>
2643 </member>
2644- <member name="M:Spring.Data.MultiDelegatingDbProvider.CreateParameter">
2645+ <member name="M:Spring.Data.Common.MultiDelegatingDbProvider.CreateParameter">
2646 <summary>
2647 Returns a new parameter object for binding values to parameter
2648 placeholders in SQL statements or Stored Procedure variables.
2649 </summary>
2650 <returns>A new <see cref="T:System.Data.IDbDataParameter"/></returns>
2651 </member>
2652- <member name="M:Spring.Data.MultiDelegatingDbProvider.CreateDataAdapter">
2653+ <member name="M:Spring.Data.Common.MultiDelegatingDbProvider.CreateDataAdapter">
2654 <summary>
2655 Returns a new adapter objects for use with offline DataSets.
2656 </summary>
2657 <returns>A new <see cref="T:System.Data.IDbDataAdapter"/></returns>
2658 </member>
2659- <member name="M:Spring.Data.MultiDelegatingDbProvider.CreateCommandBuilder">
2660+ <member name="M:Spring.Data.Common.MultiDelegatingDbProvider.CreateCommandBuilder">
2661 <summary>
2662 Returns a new instance of the providers CommandBuilder class.
2663 </summary>
2664@@ -2737,7 +2743,7 @@
2665 for command builders, hence the return signature is object to
2666 be portable (but more loosely typed) across .NET 1.1/2.0</remarks>
2667 </member>
2668- <member name="M:Spring.Data.MultiDelegatingDbProvider.CreateParameterName(System.String)">
2669+ <member name="M:Spring.Data.Common.MultiDelegatingDbProvider.CreateParameterName(System.String)">
2670 <summary>
2671 Creates the name of the parameter in the format appropriate to use inside IDbCommand.CommandText.
2672 </summary>
2673@@ -2747,7 +2753,7 @@
2674 </returns>
2675 <remarks>In most cases this adds the parameter prefix to the name passed into this method.</remarks>
2676 </member>
2677- <member name="M:Spring.Data.MultiDelegatingDbProvider.CreateParameterNameForCollection(System.String)">
2678+ <member name="M:Spring.Data.Common.MultiDelegatingDbProvider.CreateParameterNameForCollection(System.String)">
2679 <summary>
2680 Creates the name ofthe parameter in the format appropriate for an IDataParameter, i.e. to be
2681 part of a IDataParameterCollection.
2682@@ -2757,14 +2763,14 @@
2683 The parameter name formatted for an IDataParameter
2684 </returns>
2685 </member>
2686- <member name="M:Spring.Data.MultiDelegatingDbProvider.ExtractError(System.Exception)">
2687+ <member name="M:Spring.Data.Common.MultiDelegatingDbProvider.ExtractError(System.Exception)">
2688 <summary>
2689 Extracts the provider specific error code as a string.
2690 </summary>
2691 <param name="e">The data access exception.</param>
2692 <returns>The provider specific error code</returns>
2693 </member>
2694- <member name="M:Spring.Data.MultiDelegatingDbProvider.IsDataAccessException(System.Exception)">
2695+ <member name="M:Spring.Data.Common.MultiDelegatingDbProvider.IsDataAccessException(System.Exception)">
2696 <summary>
2697 Determines whether the provided exception is in fact related
2698 to database access. This can be provider dependent in .NET 1.1 since
2699@@ -2777,7 +2783,7 @@
2700 exception; otherwise, <c>false</c>.
2701 </returns>
2702 </member>
2703- <member name="M:Spring.Data.MultiDelegatingDbProvider.IsDataAccessExceptionBCL11(System.Exception)">
2704+ <member name="M:Spring.Data.Common.MultiDelegatingDbProvider.IsDataAccessExceptionBCL11(System.Exception)">
2705 <summary>
2706 Determines whether is data access exception in .NET 1.1 for the specified exception.
2707 </summary>
2708@@ -2786,37 +2792,37 @@
2709 <c>true</c> if is data access exception in .NET 1.1 for the specified exception; otherwise, <c>false</c>.
2710 </returns>
2711 </member>
2712- <member name="M:Spring.Data.MultiDelegatingDbProvider.GetTargetProvider">
2713+ <member name="M:Spring.Data.Common.MultiDelegatingDbProvider.GetTargetProvider">
2714 <summary>
2715 Gets the target provider based on the thread local name "dbProviderName"
2716 </summary>
2717 <returns>The corresonding IDbProvider.</returns>
2718 </member>
2719- <member name="P:Spring.Data.MultiDelegatingDbProvider.DefaultDbProvider">
2720+ <member name="P:Spring.Data.Common.MultiDelegatingDbProvider.DefaultDbProvider">
2721 <summary>
2722 Sets the default IDbProvider. This will be returned if no DbProvider is found in thread local storage.
2723 </summary>
2724 <value>The default db provider.</value>
2725 </member>
2726- <member name="P:Spring.Data.MultiDelegatingDbProvider.TargetDbProviders">
2727+ <member name="P:Spring.Data.Common.MultiDelegatingDbProvider.TargetDbProviders">
2728 <summary>
2729 Sets the target db providers.
2730 </summary>
2731 <value>The target db providers.</value>
2732 </member>
2733- <member name="P:Spring.Data.MultiDelegatingDbProvider.DbMetadata">
2734+ <member name="P:Spring.Data.Common.MultiDelegatingDbProvider.DbMetadata">
2735 <summary>
2736 Return metadata information about the database provider
2737 </summary>
2738 <value></value>
2739 </member>
2740- <member name="P:Spring.Data.MultiDelegatingDbProvider.ConnectionString">
2741+ <member name="P:Spring.Data.Common.MultiDelegatingDbProvider.ConnectionString">
2742 <summary>
2743 Connection string used to create connections.
2744 </summary>
2745 <value></value>
2746 </member>
2747- <member name="P:Spring.Data.MultiDelegatingDbProvider.CurrentDbProviderName">
2748+ <member name="P:Spring.Data.Common.MultiDelegatingDbProvider.CurrentDbProviderName">
2749 <summary>
2750 Convenience method to sets the name of the DbProvider that will be used for the
2751 the current thread's procesing.
2752@@ -2900,6 +2906,26 @@
2753 </summary>
2754 <param name="command"></param>
2755 </member>
2756+ <member name="M:Spring.Data.Core.AdoAccessor.DisposeCommand(System.Data.IDbCommand)">
2757+ <summary>
2758+ Dispose the command, if any
2759+ </summary>
2760+ </member>
2761+ <member name="M:Spring.Data.Core.AdoAccessor.DisposeDataAdapterCommands(System.Data.IDbDataAdapter)">
2762+ <summary>
2763+ Dispose the command, if any
2764+ </summary>
2765+ </member>
2766+ <member name="M:Spring.Data.Core.AdoAccessor.GetCommandText(System.Object)">
2767+ <summary>
2768+ Extract the command text from the given <see cref="T:Spring.Data.ICommandTextProvider"/>, if any.
2769+ </summary>
2770+ </member>
2771+ <member name="M:Spring.Data.Core.AdoAccessor.GetConnectionTxPair(Spring.Data.Common.IDbProvider)">
2772+ <summary>
2773+ Obtain a connection/transaction pair
2774+ </summary>
2775+ </member>
2776 <member name="M:Spring.Data.Core.AdoAccessor.AfterPropertiesSet">
2777 <summary>
2778 Invoked by an <see cref="T:Spring.Objects.Factory.IObjectFactory"/>
2779@@ -7862,11 +7888,6 @@
2780 <author>Juergen Hoeller</author>
2781 <author>Mark Pollack (.NET)</author>
2782 </member>
2783- <member name="F:Spring.Transaction.Config.AttributeDrivenObjectDefinitionParser.TRANSACTION_INTERCEPTOR">
2784- <summary>
2785- Object property name for injection the TransactionInterceptor
2786- </summary>
2787- </member>
2788 <member name="F:Spring.Transaction.Config.AttributeDrivenObjectDefinitionParser.PROXY_TARGET_TYPE">
2789 <summary>
2790 The '<code>proxy-target-type</code>' attribute
2791@@ -8107,6 +8128,26 @@
2792 if none was found.
2793 </returns>
2794 </member>
2795+ <member name="M:Spring.Transaction.Interceptor.AbstractTransactionAttributeSourcePointcut.Matches(System.Reflection.MethodInfo,System.Type)">
2796+ <summary>
2797+ Does the supplied <paramref name="method"/> satisfy this matcher?
2798+ </summary>
2799+ <remarks>
2800+ <p>
2801+ Must be implemented by a derived class in order to specify matching
2802+ rules.
2803+ </p>
2804+ </remarks>
2805+ <param name="method">The candidate method.</param>
2806+ <param name="targetType">
2807+ The target <see cref="T:System.Type"/> (may be <see langword="null"/>,
2808+ in which case the candidate <see cref="T:System.Type"/> must be taken
2809+ to be the <paramref name="method"/>'s declaring class).
2810+ </param>
2811+ <returns>
2812+ <see langword="true"/> if this this method matches statically.
2813+ </returns>
2814+ </member>
2815 <member name="T:Spring.Transaction.Interceptor.AttributesTransactionAttributeSource">
2816 <summary>
2817 Implementation of <see cref="T:Spring.Transaction.Interceptor.ITransactionAttributeSource"/> that uses
2818@@ -8824,6 +8865,21 @@
2819 <see cref="T:Spring.Transaction.Interceptor.NameMatchTransactionAttributeSource"/> class.
2820 </summary>
2821 </member>
2822+ <member name="M:Spring.Transaction.Interceptor.NameMatchTransactionAttributeSource.GetEnumerator">
2823+ <summary>
2824+ Enumerate the string/<see cref="T:Spring.Transaction.Interceptor.ITransactionAttribute"/> mapping entries.
2825+ </summary>
2826+ </member>
2827+ <member name="M:Spring.Transaction.Interceptor.NameMatchTransactionAttributeSource.Add(System.String,Spring.Transaction.Interceptor.ITransactionAttribute)">
2828+ <summary>
2829+ Add a mapping.
2830+ </summary>
2831+ </member>
2832+ <member name="M:Spring.Transaction.Interceptor.NameMatchTransactionAttributeSource.Add(System.String,System.String)">
2833+ <summary>
2834+ Add a mapping.
2835+ </summary>
2836+ </member>
2837 <member name="M:Spring.Transaction.Interceptor.NameMatchTransactionAttributeSource.IsMatch(System.String,System.String)">
2838 <summary>
2839 Does the supplied <paramref name="methodName"/> match the supplied <paramref name="mappedName"/>?
2840@@ -9045,6 +9101,11 @@
2841 The <see cref="T:System.Exception"/> class that will trigger a rollback.
2842 </param>
2843 </member>
2844+ <member name="P:Spring.Transaction.Interceptor.ObjectFactoryTransactionAttributeSourceAdvisor.Pointcut">
2845+ <summary>
2846+ The <see cref="T:Spring.Aop.IPointcut"/> that drives this advisor.
2847+ </summary>
2848+ </member>
2849 <member name="T:Spring.Transaction.Interceptor.RuleBasedTransactionAttribute">
2850 <summary>
2851 <see cref="T:Spring.Transaction.Interceptor.ITransactionAttribute"/> implementation
2852@@ -9566,9 +9627,9 @@
2853 </member>
2854 <member name="T:Spring.Transaction.Interceptor.TransactionAttributeSourceAdvisor">
2855 <summary>
2856- Advisor driven by a <see cref="T:Spring.Transaction.Interceptor.ITransactionAttributeSource"/>, used to exclude
2857- a <see cref="T:Spring.Transaction.Interceptor.TransactionInterceptor"/> from methods that
2858- are non-transactional.
2859+ Advisor driven by a <see cref="T:Spring.Transaction.Interceptor.ITransactionAttributeSource"/>, used to include
2860+ a <see cref="T:Spring.Transaction.Interceptor.TransactionInterceptor"/> for methods that
2861+ are transactional.
2862 </summary>
2863 <remarks>
2864 <p>
2865
2866=== modified file 'lib/Spring.Net/Spring.Messaging.Ems.dll'
2867Binary files lib/Spring.Net/Spring.Messaging.Ems.dll 2010-07-13 10:45:23 +0000 and lib/Spring.Net/Spring.Messaging.Ems.dll 2010-07-26 17:53:42 +0000 differ
2868=== modified file 'lib/Spring.Net/Spring.Messaging.Ems.xml'
2869--- lib/Spring.Net/Spring.Messaging.Ems.xml 2010-07-13 10:45:23 +0000
2870+++ lib/Spring.Net/Spring.Messaging.Ems.xml 2010-07-26 17:53:42 +0000
2871@@ -4,6 +4,337 @@
2872 <name>Spring.Messaging.Ems</name>
2873 </assembly>
2874 <members>
2875+ <member name="T:Spring.Messaging.Ems.Common.EmsConnection">
2876+ <summary>
2877+ A Connection object is a client's active connection to TIBCO EMS Server.
2878+ </summary>
2879+ </member>
2880+ <member name="T:Spring.Messaging.Ems.Common.IConnection">
2881+ <summary>
2882+ An interface containing all methods and properties on the TIBCO.EMS.Connection class.
2883+ Refer to the TIBCO EMS API documentation for more information.
2884+ </summary>
2885+ <author>Mark Pollack</author>
2886+ </member>
2887+ <member name="M:Spring.Messaging.Ems.Common.IConnection.Close">
2888+ <summary>
2889+ Closes the connection and reclaims resources.
2890+ </summary>
2891+ </member>
2892+ <member name="M:Spring.Messaging.Ems.Common.IConnection.CreateSession(System.Boolean,System.Int32)">
2893+ <summary>
2894+ Creates the session.
2895+ </summary>
2896+ <param name="transacted">if set to <c>true</c> the session has transaction semantcis.</param>
2897+ <param name="acknowledgeMode">Indicates whether and how the consumer is to acknowledge received messages.
2898+ This version of CreateSession accepts an integer value associated with the acknowledge mode described by a Session member and should only be used for backward compatibility.
2899+ This parameter is ignored if the session is transacted.</param>
2900+ <returns>A newly created session.</returns>
2901+ </member>
2902+ <member name="M:Spring.Messaging.Ems.Common.IConnection.CreateSession(System.Boolean,TIBCO.EMS.SessionMode)">
2903+ <summary>
2904+ Creates the session.
2905+ </summary>
2906+ <param name="transacted">if set to <c>true</c> [transacted].</param>
2907+ <param name="acknowledgeMode">The acknowledge mode.
2908+ When true, the new session has transaction semantics.
2909+ Indicates whether and how the consumer is to acknowledge received messages.
2910+ Legal values are listed under SessionMode.
2911+ This parameter is ignored if the session is transacted.
2912+ </param>
2913+ <returns>A newly created session.</returns>
2914+ </member>
2915+ <member name="M:Spring.Messaging.Ems.Common.IConnection.Start">
2916+ <summary>
2917+ Starts (or restarts) a connection's delivery of incoming messages.
2918+ </summary>
2919+ </member>
2920+ <member name="M:Spring.Messaging.Ems.Common.IConnection.Stop">
2921+ <summary>
2922+ Temporarily stops a connection's delivery of incoming messages.
2923+ </summary>
2924+ </member>
2925+ <member name="M:Spring.Messaging.Ems.Common.IConnection.ToString">
2926+ <summary>
2927+ A String representation of the connection object
2928+ </summary>
2929+ <returns>
2930+ A <see cref="T:System.String"/> that represents this instance.
2931+ </returns>
2932+ </member>
2933+ <member name="P:Spring.Messaging.Ems.Common.IConnection.NativeConnection">
2934+ <summary>
2935+ Gets the native TIBCO EMS connection.
2936+ </summary>
2937+ <value>The native connection.</value>
2938+ </member>
2939+ <member name="E:Spring.Messaging.Ems.Common.IConnection.EMSExceptionHandler">
2940+ <summary>
2941+ Occurs when the client library detects a problem with the connection.
2942+ </summary>
2943+ </member>
2944+ <member name="P:Spring.Messaging.Ems.Common.IConnection.ActiveURL">
2945+ <summary>
2946+ Gets the URL of the server this connection is currently connected to
2947+ </summary>
2948+ <value>The active URL.</value>
2949+ </member>
2950+ <member name="P:Spring.Messaging.Ems.Common.IConnection.ClientID">
2951+ <summary>
2952+ Gets or sets the client ID.
2953+ </summary>
2954+ <value>The client ID.</value>
2955+ </member>
2956+ <member name="P:Spring.Messaging.Ems.Common.IConnection.ConnID">
2957+ <summary>
2958+ Gets the connection ID.
2959+ </summary>
2960+ <value>The connection ID.</value>
2961+ </member>
2962+ <member name="P:Spring.Messaging.Ems.Common.IConnection.ExceptionListener">
2963+ <summary>
2964+ Gets or sets the exception listener.
2965+ </summary>
2966+ <value>The exception listener.</value>
2967+ </member>
2968+ <member name="P:Spring.Messaging.Ems.Common.IConnection.IsClosed">
2969+ <summary>
2970+ Gets a value indicating whether the connection is closed.
2971+ </summary>
2972+ <value><c>true</c> if the connection is closed; otherwise, <c>false</c>.</value>
2973+ </member>
2974+ <member name="P:Spring.Messaging.Ems.Common.IConnection.IsSecure">
2975+ <summary>
2976+ Gets a value indicating whether the connection communicates with a secure protocol
2977+ </summary>
2978+ <value><c>true</c> if the connection communicates with a secure protocol; otherwise, <c>false</c>.</value>
2979+ </member>
2980+ <member name="P:Spring.Messaging.Ems.Common.IConnection.MetaData">
2981+ <summary>
2982+ Gets the metadata for this connection
2983+ </summary>
2984+ <value>The metadata for this connection.</value>
2985+ </member>
2986+ <member name="M:Spring.Messaging.Ems.Common.EmsConnection.#ctor(TIBCO.EMS.Connection)">
2987+ <summary>
2988+ Initializes a new instance of the <see cref="T:Spring.Messaging.Ems.Common.EmsConnection"/> class.
2989+ </summary>
2990+ <param name="connection">The underlying TIBCO EMS connection.</param>
2991+ </member>
2992+ <member name="M:Spring.Messaging.Ems.Common.EmsConnection.Close">
2993+ <summary>
2994+ Closes the connection and reclaims resources.
2995+ </summary>
2996+ </member>
2997+ <member name="M:Spring.Messaging.Ems.Common.EmsConnection.CreateSession(System.Boolean,System.Int32)">
2998+ <summary>
2999+ Creates the session.
3000+ </summary>
3001+ <param name="transacted">if set to <c>true</c> the session has transaction semantcis.</param>
3002+ <param name="acknowledgeMode">Indicates whether and how the consumer is to acknowledge received messages.
3003+ This version of CreateSession accepts an integer value associated with the acknowledge mode described by a Session member and should only be used for backward compatibility.
3004+ This parameter is ignored if the session is transacted.</param>
3005+ <returns>A newly created session.</returns>
3006+ </member>
3007+ <member name="M:Spring.Messaging.Ems.Common.EmsConnection.CreateSession(System.Boolean,TIBCO.EMS.SessionMode)">
3008+ <summary>
3009+ Creates the session.
3010+ </summary>
3011+ <param name="transacted">if set to <c>true</c> [transacted].</param>
3012+ <param name="acknowledgeMode">The acknowledge mode.
3013+ When true, the new session has transaction semantics.
3014+ Indicates whether and how the consumer is to acknowledge received messages.
3015+ Legal values are listed under SessionMode.
3016+ This parameter is ignored if the session is transacted.</param>
3017+ <returns>A newly created session.</returns>
3018+ </member>
3019+ <member name="M:Spring.Messaging.Ems.Common.EmsConnection.Start">
3020+ <summary>
3021+ Starts (or restarts) a connection's delivery of incoming messages.
3022+ </summary>
3023+ </member>
3024+ <member name="M:Spring.Messaging.Ems.Common.EmsConnection.Stop">
3025+ <summary>
3026+ Temporarily stops a connection's delivery of incoming messages.
3027+ </summary>
3028+ </member>
3029+ <member name="P:Spring.Messaging.Ems.Common.EmsConnection.NativeConnection">
3030+ <summary>
3031+ Gets the native TIBCO EMS connection.
3032+ </summary>
3033+ <value>The native connection.</value>
3034+ </member>
3035+ <member name="E:Spring.Messaging.Ems.Common.EmsConnection.EMSExceptionHandler">
3036+ <summary>
3037+ Occurs when the client library detects a problem with the connection.
3038+ </summary>
3039+ </member>
3040+ <member name="P:Spring.Messaging.Ems.Common.EmsConnection.ActiveURL">
3041+ <summary>
3042+ Gets the URL of the server this connection is currently connected to
3043+ </summary>
3044+ <value>The active URL.</value>
3045+ </member>
3046+ <member name="P:Spring.Messaging.Ems.Common.EmsConnection.ClientID">
3047+ <summary>
3048+ Gets or sets the client ID.
3049+ </summary>
3050+ <value>The client ID.</value>
3051+ </member>
3052+ <member name="P:Spring.Messaging.Ems.Common.EmsConnection.ConnID">
3053+ <summary>
3054+ Gets the connection ID.
3055+ </summary>
3056+ <value>The connection ID.</value>
3057+ </member>
3058+ <member name="P:Spring.Messaging.Ems.Common.EmsConnection.ExceptionListener">
3059+ <summary>
3060+ Gets or sets the exception listener.
3061+ </summary>
3062+ <value>The exception listener.</value>
3063+ </member>
3064+ <member name="P:Spring.Messaging.Ems.Common.EmsConnection.IsClosed">
3065+ <summary>
3066+ Gets a value indicating whether the connection is closed.
3067+ </summary>
3068+ <value>
3069+ <c>true</c> if the connection is closed; otherwise, <c>false</c>.
3070+ </value>
3071+ </member>
3072+ <member name="P:Spring.Messaging.Ems.Common.EmsConnection.IsSecure">
3073+ <summary>
3074+ Gets a value indicating whether the connection communicates with a secure protocol
3075+ </summary>
3076+ <value>
3077+ <c>true</c> if the connection communicates with a secure protocol; otherwise, <c>false</c>.
3078+ </value>
3079+ </member>
3080+ <member name="P:Spring.Messaging.Ems.Common.EmsConnection.MetaData">
3081+ <summary>
3082+ Gets the metadata for this connection
3083+ </summary>
3084+ <value>The metadata for this connection.</value>
3085+ </member>
3086+ <member name="T:Spring.Messaging.Ems.Common.IConnectionFactory">
3087+ <summary>
3088+ An interface containing all methods and properties on the TIBCO.EMS.ConnectionFactory class.
3089+ Refer to the TIBCO EMS API documentation for more information.
3090+ </summary>
3091+ <remarks>
3092+ All the 'GetXXX()' methods in the TIBCO.EMS.ConnectionFactory were translated to .NET properties
3093+ </remarks>
3094+ <author>Mark Pollack</author>
3095+ </member>
3096+ <member name="M:Spring.Messaging.Ems.Common.IConnectionFactory.CreateConnection">
3097+ <summary>
3098+ Creates the connection.
3099+ </summary>
3100+ <returns>The newly created connection</returns>
3101+ </member>
3102+ <member name="M:Spring.Messaging.Ems.Common.IConnectionFactory.CreateConnection(System.String,System.String)">
3103+ <summary>
3104+ Creates the connection with the given username and password
3105+ </summary>
3106+ <param name="userName">Name of the user.</param>
3107+ <param name="password">The password.</param>
3108+ <returns></returns>
3109+ </member>
3110+ <member name="P:Spring.Messaging.Ems.Common.IConnectionFactory.NativeConnectionFactory">
3111+ <summary>
3112+ Gets the native TIBCO EMS connection factory.
3113+ </summary>
3114+ <value>The native connection factory.</value>
3115+ </member>
3116+ <member name="P:Spring.Messaging.Ems.Common.IConnectionFactory.CertificateStore">
3117+ <summary>
3118+ Gets the certificate store info object associated with this connection factory.
3119+ </summary>
3120+ <value>The certificate store.</value>
3121+ </member>
3122+ <member name="P:Spring.Messaging.Ems.Common.IConnectionFactory.SSLProxyHost">
3123+ <summary>
3124+ Gets or sets the SSL proxy host.
3125+ </summary>
3126+ <value>The SSL proxy host.</value>
3127+ </member>
3128+ <member name="P:Spring.Messaging.Ems.Common.IConnectionFactory.SSLProxyPort">
3129+ <summary>
3130+ Gets or sets the SSL proxy port.
3131+ </summary>
3132+ <value>The SSL proxy port.</value>
3133+ </member>
3134+ <member name="P:Spring.Messaging.Ems.Common.IConnectionFactory.SSLProxyPassword">
3135+ <summary>
3136+ Gets the SSL proxy password.
3137+ </summary>
3138+ <value>The SSL proxy password.</value>
3139+ </member>
3140+ <member name="P:Spring.Messaging.Ems.Common.IConnectionFactory.SSLProxyUser">
3141+ <summary>
3142+ Gets the SSL proxy user.
3143+ </summary>
3144+ <value>The SSL proxy user.</value>
3145+ </member>
3146+ <member name="P:Spring.Messaging.Ems.Common.IConnectionFactory.CertificateStoreType">
3147+ <summary>
3148+ Sets the type of the certificate store.
3149+ </summary>
3150+ <value>The type of the certificate store.</value>
3151+ </member>
3152+ <member name="P:Spring.Messaging.Ems.Common.IConnectionFactory.ClientID">
3153+ <summary>
3154+ Sets the client ID.
3155+ </summary>
3156+ <value>The client ID.</value>
3157+ </member>
3158+ <member name="P:Spring.Messaging.Ems.Common.IConnectionFactory.ClientTracer">
3159+ <summary>
3160+ Sets the client tracer to a given output stream
3161+ </summary>
3162+ <value>The client tracer.</value>
3163+ </member>
3164+ <member name="P:Spring.Messaging.Ems.Common.IConnectionFactory.ConnAttemptCount">
3165+ <summary>
3166+ Sets the number of connection attempts
3167+ </summary>
3168+ <value>The number of connection attempts.</value>
3169+ </member>
3170+ <member name="P:Spring.Messaging.Ems.Common.IConnectionFactory.ConnAttemptDelay">
3171+ <summary>
3172+ Sets delay between connection attempts
3173+ </summary>
3174+ <value>The delay between connection attempts.</value>
3175+ </member>
3176+ <member name="P:Spring.Messaging.Ems.Common.IConnectionFactory.ConnAttemptTimeout">
3177+ <summary>
3178+ Sets the connection attempt timeout.
3179+ </summary>
3180+ <value>The connection attempt timeout.</value>
3181+ </member>
3182+ <member name="P:Spring.Messaging.Ems.Common.IConnectionFactory.HostNameVerifier">
3183+ <summary>
3184+ Sets the custom host name verifier. Set to null to remove custom host name verifier.
3185+ </summary>
3186+ <value>The host name verifier.</value>
3187+ </member>
3188+ <member name="P:Spring.Messaging.Ems.Common.IConnectionFactory.MetricAsInt">
3189+ <summary>
3190+ Sets the load balance metric as an integer.
3191+ </summary>
3192+ <value>The load balance metric as int.</value>
3193+ </member>
3194+ <member name="P:Spring.Messaging.Ems.Common.IConnectionFactory.MulticastDaemon">
3195+ <summary>
3196+ Sets the port on which the client will connect to the multicast daemon.
3197+ </summary>
3198+ <value>The multicast daemon port.</value>
3199+ </member>
3200+ <member name="P:Spring.Messaging.Ems.Common.IConnectionFactory.MulticastEnabled">
3201+ <summary>
3202+ Sets whether MessageConsumers subscribed to a multicast-enabled topic will receive messages over multicast.
3203+ </summary>
3204+ <value><c>true</c> to enable multicast; <c>false</c> to disable.</value>
3205+ </member>
3206 <member name="P:Spring.Messaging.Ems.Common.IMessageProducer.TimeToLive">
3207 <summary>
3208 Gets or sets the the default length of time in milliseconds from its dispatch time
3209@@ -293,19 +624,6 @@
3210 <param name="subscription">The name of the durable subscription.</param>
3211 <returns>A message consumer</returns>
3212 </member>
3213- <member name="M:Spring.Messaging.Ems.Connections.CachedSession.DeleteDurableConsumer(System.String)">
3214- <summary>
3215- Deletes the durable consumer.
3216- </summary>
3217- <param name="name">The name.</param>
3218- </member>
3219- <member name="M:Spring.Messaging.Ems.Connections.CachedSession.DeleteDurableConsumer(System.String,System.TimeSpan)">
3220- <summary>
3221- Deletes the durable consumer.
3222- </summary>
3223- <param name="name">The name.</param>
3224- <param name="requestTimeout">The request timeout.</param>
3225- </member>
3226 <member name="M:Spring.Messaging.Ems.Connections.CachedSession.CreateConsumer(TIBCO.EMS.Destination,System.String,System.Boolean,System.String)">
3227 <summary>
3228 Creates the consumer.
3229@@ -2932,6 +3250,194 @@
3230 <throws>EMSException if there is any problem </throws>
3231 <author>Mark Pollack</author>
3232 </member>
3233+ <member name="T:Spring.Messaging.Ems.Jndi.JndiAccessor">
3234+ <summary>
3235+ Convenient superclass to access JndiProperties, JndiContextType or alternatively set the ILookupContext directly.
3236+ </summary>
3237+ <author>Juergen Hoeller</author>
3238+ <author>Mark Pollack</author>
3239+ </member>
3240+ <member name="M:Spring.Messaging.Ems.Jndi.JndiAccessor.AfterPropertiesSet">
3241+ <summary>
3242+ Create the JndiLookupContext if it has not been explicitly set.
3243+ </summary>
3244+ </member>
3245+ <member name="P:Spring.Messaging.Ems.Jndi.JndiAccessor.JndiLookupContext">
3246+ <summary>
3247+ Gets or sets the lookup context.
3248+ </summary>
3249+ <value>The lookup context.</value>
3250+ </member>
3251+ <member name="P:Spring.Messaging.Ems.Jndi.JndiAccessor.JndiProperties">
3252+ <summary>
3253+ Gets or sets the JNDI environment properties.
3254+ </summary>
3255+ <value>The jndi properties.</value>
3256+ </member>
3257+ <member name="P:Spring.Messaging.Ems.Jndi.JndiAccessor.JndiContextType">
3258+ <summary>
3259+ Gets or sets the type of the jndi context. The default is JndiContextType.JMS
3260+ </summary>
3261+ <value>The type of the jndi context.</value>
3262+ </member>
3263+ <member name="T:Spring.Messaging.Ems.Jndi.JndiContextType">
3264+ <summary>
3265+ The various JNDI Context types.
3266+ </summary>
3267+ </member>
3268+ <member name="F:Spring.Messaging.Ems.Jndi.JndiContextType.JMS">
3269+ <summary>
3270+ Create a tibjmsnaming context to lookup administered object inside the tibjmsnaming server.
3271+ </summary>
3272+ </member>
3273+ <member name="F:Spring.Messaging.Ems.Jndi.JndiContextType.LDAP">
3274+ <summary>
3275+ Create a ldap context to lookup administered object in an ldap server.
3276+ </summary>
3277+ </member>
3278+ <member name="T:Spring.Messaging.Ems.Jndi.JndiObjectLocator">
3279+ <summary>
3280+ Convenient superclass for JNDI-based service locators,
3281+ providing configurable lookup of a specific JNDI resource.
3282+ </summary>
3283+ <remarks>
3284+ <para>
3285+ Exposes a JndiName property.
3286+ </para>
3287+ <para>Subclasses may invoke the <code>Lookup</code> method whenever it is appropriate.
3288+ Some classes might do this on initialization, while others might do it
3289+ on demand. The latter strategy is more flexible in that it allows for
3290+ initialization of the locator before the JNDI object is available.
3291+ </para>
3292+ </remarks>
3293+ <author>Juergen Hoeller</author>
3294+ <author>Mark Pollack (.NET)</author>
3295+ </member>
3296+ <member name="M:Spring.Messaging.Ems.Jndi.JndiObjectLocator.AfterPropertiesSet">
3297+ <summary>
3298+ Ensure that the JndiName property is set and create the TIBCO EMS ILookupContext instance.
3299+ </summary>
3300+ </member>
3301+ <member name="M:Spring.Messaging.Ems.Jndi.JndiObjectLocator.Lookup">
3302+ <summary>
3303+ Lookups this instance using the JndiName and ExpectedType properties
3304+ </summary>
3305+ <returns>The object retrieved from Jndi</returns>
3306+ </member>
3307+ <member name="P:Spring.Messaging.Ems.Jndi.JndiObjectLocator.JndiName">
3308+ <summary>
3309+ Gets or sets the Jndi name to lookup.
3310+ </summary>
3311+ <value>The name of the jndi.</value>
3312+ </member>
3313+ <member name="P:Spring.Messaging.Ems.Jndi.JndiObjectLocator.ExpectedType">
3314+ <summary>
3315+ Gets or sets the type that the located JNDI object is supposed
3316+ to be assignable to, if any.
3317+ </summary>
3318+ <value>The expected type.</value>
3319+ </member>
3320+ <member name="M:Spring.Messaging.Ems.Jndi.JndiLookupFactoryObject.GetObject">
3321+ <summary>
3322+ Return the Jndi object
3323+ </summary>
3324+ <returns>The Jndi object</returns>
3325+ </member>
3326+ <member name="P:Spring.Messaging.Ems.Jndi.JndiLookupFactoryObject.DefaultObject">
3327+ <summary>
3328+ Sets the default object to fall back to if the JNDI lookup fails.
3329+ Default is none.
3330+ </summary>
3331+ <remarks>
3332+ <para>This can be an arbitrary bean reference or literal value.
3333+ It is typically used for literal values in scenarios where the JNDI environment
3334+ might define specific config settings but those are not required to be present.
3335+ </para>
3336+ </remarks>
3337+ <value>The default object to use when lookup fails.</value>
3338+ </member>
3339+ <member name="P:Spring.Messaging.Ems.Jndi.JndiLookupFactoryObject.ObjectType">
3340+ <summary>
3341+ Return type of object retrieved from Jndi or the expected type if the Jndi retrieval
3342+ did not succeed.
3343+ </summary>
3344+ <value>Return value of retrieved object</value>
3345+ </member>
3346+ <member name="P:Spring.Messaging.Ems.Jndi.JndiLookupFactoryObject.IsSingleton">
3347+ <summary>
3348+ Returns true
3349+ </summary>
3350+ </member>
3351+ <member name="T:Spring.Messaging.Ems.Jndi.LookupContextFactoryObject">
3352+ <summary>
3353+ A Spring FactoryObject that returns TIBCO.EMS.ILookupContext. Use the returned
3354+ ILookupContext to do you lookups at runtime.
3355+ </summary>
3356+ <remarks>
3357+ <para>
3358+ Important properties to set are JndiProperties and JndiContexType. JndiContextType is set to
3359+ LookupContextFactory.TIBJMS_NAMING_CONT by default.
3360+ </para>
3361+ <para>To lookup objects at startup time and cache their values, as well as provide a
3362+ default value if lookup fail, <see cref="T:Spring.Messaging.Ems.Jndi.JndiLookupFactoryObject"/>
3363+ </para>
3364+ </remarks>
3365+ <author>Mark Pollack</author>
3366+ </member>
3367+ <member name="M:Spring.Messaging.Ems.Jndi.LookupContextFactoryObject.GetObject">
3368+ <summary>
3369+ Returns the TIBCO.EMS.ILookupContext
3370+ </summary>
3371+ <returns>TIBCO.EMS.ILookupContext</returns>
3372+ </member>
3373+ <member name="P:Spring.Messaging.Ems.Jndi.LookupContextFactoryObject.ObjectType">
3374+ <summary>
3375+ Return typeof(TIBCO.EMS.ILookupContext)
3376+ </summary>
3377+ </member>
3378+ <member name="P:Spring.Messaging.Ems.Jndi.LookupContextFactoryObject.IsSingleton">
3379+ <summary>
3380+ Returns true
3381+ </summary>
3382+ </member>
3383+ <member name="T:Spring.Objects.Factory.TypeMismatchNamingException">
3384+ <summary>
3385+ Exception thrown if a type mismatch is encountered for an object
3386+ located in a JNDI environment.
3387+ </summary>
3388+ <author>Juergen Hoeller</author>
3389+ <author>Mark Pollack (.NET)</author>
3390+ </member>
3391+ <member name="M:Spring.Objects.Factory.TypeMismatchNamingException.#ctor(System.String)">
3392+ <summary>
3393+ Creates a new instance of the
3394+ <see cref="T:Spring.Objects.Factory.ObjectCreationException"/> class.
3395+ </summary>
3396+ <param name="message">
3397+ A message about the exception.
3398+ </param>
3399+ </member>
3400+ <member name="M:Spring.Objects.Factory.TypeMismatchNamingException.#ctor(System.String,System.Type,System.Type)">
3401+ <summary>
3402+ Initializes a new instance of the <see cref="T:Spring.Objects.Factory.TypeMismatchNamingException"/> class
3403+ building an explanation text from the given arguments.
3404+ </summary>
3405+ <param name="jndiName">The Jndi name.</param>
3406+ <param name="requiredType">Type required type of the lookup.</param>
3407+ <param name="actualType">The actual type that the lookup returned.</param>
3408+ </member>
3409+ <member name="P:Spring.Objects.Factory.TypeMismatchNamingException.ActualType">
3410+ <summary>
3411+ Gets the actual type that the lookup returned, if available.
3412+ </summary>
3413+ <value>The actual type that the lookup.</value>
3414+ </member>
3415+ <member name="P:Spring.Objects.Factory.TypeMismatchNamingException.RequiredType">
3416+ <summary>
3417+ Gets the required type for the lookup, if available.
3418+ </summary>
3419+ <value>The equired type for the lookup</value>
3420+ </member>
3421 <member name="T:Spring.Messaging.Ems.Listener.Adapter.ListenerExecutionFailedException">
3422 <summary>
3423 Exception to be thrown when the execution of a listener method failed.
3424@@ -3707,6 +4213,14 @@
3425 </summary>
3426 <value>The exception listener.</value>
3427 </member>
3428+ <member name="P:Spring.Messaging.Ems.Listener.AbstractMessageListenerContainer.ErrorHandler">
3429+ <summary>
3430+ Sets an ErrorHandler to be invoked in case of any uncaught exceptions thrown
3431+ while processing a Message. By default there will be no ErrorHandler
3432+ so that error-level logging is the only result.
3433+ </summary>
3434+ <value>The error handler.</value>
3435+ </member>
3436 <member name="P:Spring.Messaging.Ems.Listener.AbstractMessageListenerContainer.ExposeListenerSession">
3437 <summary>
3438 Gets or sets a value indicating whether to expose listener session to a registered
3439
3440=== modified file 'lib/Spring.Net/Spring.Messaging.Nms.dll'
3441Binary files lib/Spring.Net/Spring.Messaging.Nms.dll 2010-07-13 10:45:23 +0000 and lib/Spring.Net/Spring.Messaging.Nms.dll 2010-07-26 17:53:42 +0000 differ
3442=== modified file 'lib/Spring.Net/Spring.Messaging.Nms.xml'
3443--- lib/Spring.Net/Spring.Messaging.Nms.xml 2010-07-13 10:45:23 +0000
3444+++ lib/Spring.Net/Spring.Messaging.Nms.xml 2010-07-26 17:53:42 +0000
3445@@ -302,14 +302,6 @@
3446 <param name="destination">The destination.</param>
3447 <returns>A message producer.</returns>
3448 </member>
3449- <member name="M:Spring.Messaging.Nms.Connections.CachedSession.CreateProducer(Apache.NMS.IDestination,System.TimeSpan)">
3450- <summary>
3451- Creates the producer given the destinaton and requst timeout, potentially returning a cached instance.
3452- </summary>
3453- <param name="destination">The destination.</param>
3454- <param name="requestTimeout">The request timeout.</param>
3455- <returns>The message producer</returns>
3456- </member>
3457 <member name="M:Spring.Messaging.Nms.Connections.CachedSession.Close">
3458 <summary>
3459 If have not yet reached session cache size, cache the session, otherwise
3460@@ -323,14 +315,6 @@
3461 <param name="destination">The destination.</param>
3462 <returns>A message consumer</returns>
3463 </member>
3464- <member name="M:Spring.Messaging.Nms.Connections.CachedSession.CreateConsumer(Apache.NMS.IDestination,System.TimeSpan)">
3465- <summary>
3466- Creates the consumer for the given destinaton and request timeout, potentially returning a cached instance.
3467- </summary>
3468- <param name="destination">The destination.</param>
3469- <param name="requestTimeout">The request timeout.</param>
3470- <returns>A message consumer</returns>
3471- </member>
3472 <member name="M:Spring.Messaging.Nms.Connections.CachedSession.CreateConsumer(Apache.NMS.IDestination,System.String)">
3473 <summary>
3474 Creates the consumer, potentially returning a cached instance.
3475@@ -339,15 +323,6 @@
3476 <param name="selector">The selector.</param>
3477 <returns>A message consumer</returns>
3478 </member>
3479- <member name="M:Spring.Messaging.Nms.Connections.CachedSession.CreateConsumer(Apache.NMS.IDestination,System.String,System.TimeSpan)">
3480- <summary>
3481- Creates the consumer, potentially returning a cached instance.
3482- </summary>
3483- <param name="destination">The destination.</param>
3484- <param name="selector">The selector.</param>
3485- <param name="requestTimeout">The request timeout.</param>
3486- <returns>A message consumer.</returns>
3487- </member>
3488 <member name="M:Spring.Messaging.Nms.Connections.CachedSession.CreateConsumer(Apache.NMS.IDestination,System.String,System.Boolean)">
3489 <summary>
3490 Creates the consumer, potentially returning a cached instance.
3491@@ -357,16 +332,6 @@
3492 <param name="noLocal">if set to <c>true</c> [no local].</param>
3493 <returns>A message consumer.</returns>
3494 </member>
3495- <member name="M:Spring.Messaging.Nms.Connections.CachedSession.CreateConsumer(Apache.NMS.IDestination,System.String,System.Boolean,System.TimeSpan)">
3496- <summary>
3497- Creates the consumer, potentially returning a cached instance.
3498- </summary>
3499- <param name="destination">The destination.</param>
3500- <param name="selector">The selector.</param>
3501- <param name="noLocal">if set to <c>true</c> [no local].</param>
3502- <param name="requestTimeout">The request timeout.</param>
3503- <returns>A message consumer</returns>
3504- </member>
3505 <member name="M:Spring.Messaging.Nms.Connections.CachedSession.CreateDurableConsumer(Apache.NMS.ITopic,System.String,System.String,System.Boolean)">
3506 <summary>
3507 Creates the durable consumer, potentially returning a cached instance.
3508@@ -377,29 +342,11 @@
3509 <param name="noLocal">if set to <c>true</c> [no local].</param>
3510 <returns>A message consumer</returns>
3511 </member>
3512- <member name="M:Spring.Messaging.Nms.Connections.CachedSession.CreateDurableConsumer(Apache.NMS.ITopic,System.String,System.String,System.Boolean,System.TimeSpan)">
3513- <summary>
3514- Creates the durable consumer, potentially returning a cached instance.
3515- </summary>
3516- <param name="destination">The destination.</param>
3517- <param name="name">The name.</param>
3518- <param name="selector">The selector.</param>
3519- <param name="noLocal">if set to <c>true</c> [no local].</param>
3520- <param name="requestTimeout">The request timeout.</param>
3521- <returns>A message consumer</returns>
3522- </member>
3523 <member name="M:Spring.Messaging.Nms.Connections.CachedSession.DeleteDurableConsumer(System.String)">
3524 <summary>
3525 Deletes the durable consumer.
3526 </summary>
3527- <param name="name">The name.</param>
3528- </member>
3529- <member name="M:Spring.Messaging.Nms.Connections.CachedSession.DeleteDurableConsumer(System.String,System.TimeSpan)">
3530- <summary>
3531- Deletes the durable consumer.
3532- </summary>
3533- <param name="name">The name.</param>
3534- <param name="requestTimeout">The request timeout.</param>
3535+ <param name="durableSubscriptionName">The name of the durable subscription.</param>
3536 </member>
3537 <member name="M:Spring.Messaging.Nms.Connections.CachedSession.CreateConsumer(Apache.NMS.IDestination,System.String,System.Boolean,System.String)">
3538 <summary>
3539@@ -408,7 +355,7 @@
3540 <param name="destination">The destination.</param>
3541 <param name="selector">The selector.</param>
3542 <param name="noLocal">if set to <c>true</c> [no local].</param>
3543- <param name="subscription">The subscription.</param>
3544+ <param name="durableSubscriptionName">The durable subscription name.</param>
3545 <returns></returns>
3546 </member>
3547 <member name="M:Spring.Messaging.Nms.Connections.CachedSession.GetQueue(System.String)">
3548@@ -691,18 +638,6 @@
3549 <returns>the Session to use, or <code>null</code> to indicate
3550 creation of a raw standard Session</returns>
3551 </member>
3552- <member name="M:Spring.Messaging.Nms.Connections.SingleConnectionFactory.GetSession(Apache.NMS.IConnection,Apache.NMS.AcknowledgementMode,System.TimeSpan)">
3553- <summary>
3554- Template method for obtaining a (potentially cached) Session.
3555- </summary>
3556- <param name="con">The connection to operate on.</param>
3557- <param name="mode">The session ack mode.</param>
3558- <param name="requestTimeout">The request timeout.</param>
3559- <returns>
3560- the Session to use, or <code>null</code> to indicate
3561- creation of a raw standard Session
3562- </returns>
3563- </member>
3564 <member name="M:Spring.Messaging.Nms.Connections.SingleConnectionFactory.DoCreateConnection">
3565 <summary>
3566 reate a JMS Connection via this template's ConnectionFactory.
3567@@ -828,18 +763,6 @@
3568 <returns>The Session to use
3569 </returns>
3570 </member>
3571- <member name="M:Spring.Messaging.Nms.Connections.CachingConnectionFactory.GetSession(Apache.NMS.IConnection,Apache.NMS.AcknowledgementMode,System.TimeSpan)">
3572- <summary>
3573- Template method for obtaining a (potentially cached) Session.
3574- </summary>
3575- <param name="con">The connection to operate on.</param>
3576- <param name="mode">The session ack mode.</param>
3577- <param name="requestTimeout">The request timeout.</param>
3578- <returns>
3579- the Session to use, or <code>null</code> to indicate
3580- creation of a raw standard Session
3581- </returns>
3582- </member>
3583 <member name="M:Spring.Messaging.Nms.Connections.CachingConnectionFactory.GetCachedSessionWrapper(Apache.NMS.ISession,Spring.Collections.LinkedList)">
3584 <summary>
3585 Wraps the given Session so that it delegates every method call to the target session but
3586@@ -2119,12 +2042,17 @@
3587 <value><c>true</c> if Publish/Subscribe domain; otherwise, <c>false</c>
3588 for the Point-to-Point domain.</value>
3589 </member>
3590- <member name="F:Spring.Messaging.Nms.Core.NmsTemplate.DEFAULT_RECEIVE_TIMEOUT">
3591+ <member name="F:Spring.Messaging.Nms.Core.NmsTemplate.RECEIVE_TIMEOUT_NO_WAIT">
3592 <summary>
3593 Timeout value indicating that a receive operation should
3594 check if a message is immediately available without blocking.
3595 </summary>
3596 </member>
3597+ <member name="F:Spring.Messaging.Nms.Core.NmsTemplate.RECEIVE_TIMEOUT_INDEFINITE_WAIT">
3598+ <summary>
3599+ Timeout value indicating a blocking receive without timeout.
3600+ </summary>
3601+ </member>
3602 <member name="M:Spring.Messaging.Nms.Core.NmsTemplate.#ctor">
3603 <summary> Create a new NmsTemplate.</summary>
3604 <remarks>
3605@@ -2734,7 +2662,7 @@
3606 </member>
3607 <member name="P:Spring.Messaging.Nms.Core.NmsTemplate.ReceiveTimeout">
3608 <summary>
3609- Gets or sets the receive timeout to use for recieve calls.
3610+ Gets or sets the receive timeout to use for recieve calls (in milliseconds)
3611 </summary>
3612 <remarks>The default is -1, which means no timeout.</remarks>
3613 <value>The receive timeout.</value>
3614@@ -2786,6 +2714,96 @@
3615 ResourceFactory implementation that delegates to this template's callback methods.
3616 </summary>
3617 </member>
3618+ <member name="T:Spring.Messaging.Nms.Core.NmsTrace">
3619+ <summary>
3620+ Implemention of NMS ITrace interface that will log NMS messages to Common.Logging.
3621+ </summary>
3622+ <remarks>Registering of this class is done by default in NmsTemplate and SimpleMessageListenerContainer if the value
3623+ of Apache.NMS.Tracer.Trace is null, indicating it was not set.
3624+ </remarks>
3625+ <author>Mark Pollack</author>
3626+ </member>
3627+ <member name="M:Spring.Messaging.Nms.Core.NmsTrace.#ctor">
3628+ <summary>
3629+ Initializes a new instance of the <see cref="T:Spring.Messaging.Nms.Core.NmsTrace"/> class. The log name used is typeof(NmsTrace).
3630+ </summary>
3631+ </member>
3632+ <member name="M:Spring.Messaging.Nms.Core.NmsTrace.#ctor(Common.Logging.ILog)">
3633+ <summary>
3634+ Initializes a new instance of the <see cref="T:Spring.Messaging.Nms.Core.NmsTrace"/> class.
3635+ </summary>
3636+ <param name="log">The log instance to use for logging.</param>
3637+ </member>
3638+ <member name="M:Spring.Messaging.Nms.Core.NmsTrace.Debug(System.String)">
3639+ <summary>
3640+ Logs message at Debug Level.
3641+ </summary>
3642+ <param name="message">The message.</param>
3643+ </member>
3644+ <member name="M:Spring.Messaging.Nms.Core.NmsTrace.Info(System.String)">
3645+ <summary>
3646+ Logs message at Info Level.
3647+ </summary>
3648+ <param name="message">The message.</param>
3649+ </member>
3650+ <member name="M:Spring.Messaging.Nms.Core.NmsTrace.Warn(System.String)">
3651+ <summary>
3652+ Logs message at Warn Level.
3653+ </summary>
3654+ <param name="message">The message.</param>
3655+ </member>
3656+ <member name="M:Spring.Messaging.Nms.Core.NmsTrace.Error(System.String)">
3657+ <summary>
3658+ Logs message at Error Level.
3659+ </summary>
3660+ <param name="message">The message.</param>
3661+ </member>
3662+ <member name="M:Spring.Messaging.Nms.Core.NmsTrace.Fatal(System.String)">
3663+ <summary>
3664+ Logs message at Fatal Level.
3665+ </summary>
3666+ <param name="message">The message.</param>
3667+ </member>
3668+ <member name="P:Spring.Messaging.Nms.Core.NmsTrace.IsDebugEnabled">
3669+ <summary>
3670+ Gets a value indicating whether the debug log level is enabled.
3671+ </summary>
3672+ <value>
3673+ <c>true</c> if this instance is debug enabled; otherwise, <c>false</c>.
3674+ </value>
3675+ </member>
3676+ <member name="P:Spring.Messaging.Nms.Core.NmsTrace.IsInfoEnabled">
3677+ <summary>
3678+ Gets a value indicating whether the info log level is enabled.
3679+ </summary>
3680+ <value>
3681+ <c>true</c> if this instance is info enabled; otherwise, <c>false</c>.
3682+ </value>
3683+ </member>
3684+ <member name="P:Spring.Messaging.Nms.Core.NmsTrace.IsWarnEnabled">
3685+ <summary>
3686+ Gets a value indicating whether the warn log level is enabled.
3687+ </summary>
3688+ <value>
3689+ <c>true</c> if this instance is warn enabled; otherwise, <c>false</c>.
3690+ </value>
3691+ </member>
3692+ <member name="P:Spring.Messaging.Nms.Core.NmsTrace.IsErrorEnabled">
3693+ <summary>
3694+ Gets a value indicating whether the error log level is enabled.
3695+ </summary>
3696+ <value>
3697+ <c>true</c> if this instance is error enabled; otherwise, <c>false</c>.
3698+ </value>
3699+ </member>
3700+ <member name="P:Spring.Messaging.Nms.Core.NmsTrace.IsFatalEnabled">
3701+ <summary>
3702+ Gets a value indicating whether the fatal log level is enabled.
3703+ </summary>
3704+ <value>
3705+ <c>true</c> if this instance is fatal enabled; otherwise, <c>false</c>.
3706+ </value>
3707+ </member>
3708 <member name="T:Spring.Messaging.Nms.Core.ProducerDelegate">
3709 <summary> Perform operations on the given Session and MessageProducer.
3710 The message producer is not associated with any destination.
3711@@ -3500,6 +3518,12 @@
3712 </remarks>
3713 <param name="ex">The exceptin to handle</param>
3714 </member>
3715+ <member name="M:Spring.Messaging.Nms.Listener.AbstractMessageListenerContainer.InvokeErrorHandler(System.Exception)">
3716+ <summary>
3717+ Invokes the error handler.
3718+ </summary>
3719+ <param name="exception">The exception.</param>
3720+ </member>
3721 <member name="M:Spring.Messaging.Nms.Listener.AbstractMessageListenerContainer.InvokeExceptionListener(System.Exception)">
3722 <summary>
3723 Invokes the registered exception listener, if any.
3724@@ -3587,6 +3611,14 @@
3725 </summary>
3726 <value>The exception listener.</value>
3727 </member>
3728+ <member name="P:Spring.Messaging.Nms.Listener.AbstractMessageListenerContainer.ErrorHandler">
3729+ <summary>
3730+ Sets an ErrorHandler to be invoked in case of any uncaught exceptions thrown
3731+ while processing a Message. By default there will be no ErrorHandler
3732+ so that error-level logging is the only result.
3733+ </summary>
3734+ <value>The error handler.</value>
3735+ </member>
3736 <member name="P:Spring.Messaging.Nms.Listener.AbstractMessageListenerContainer.ExposeListenerSession">
3737 <summary>
3738 Gets or sets a value indicating whether to expose listener session to a registered
3739@@ -3658,6 +3690,11 @@
3740 </summary>
3741 <author>Mark Pollack</author>
3742 </member>
3743+ <member name="M:Spring.Messaging.Nms.Listener.RecoveryTimeExceededException.#ctor">
3744+ <summary>
3745+ Initializes a new instance of the <see cref="T:Spring.Messaging.Nms.Listener.RecoveryTimeExceededException"/> class.
3746+ </summary>
3747+ </member>
3748 <member name="M:Spring.Messaging.Nms.Listener.RecoveryTimeExceededException.#ctor(System.String)">
3749 <summary>
3750 Initializes a new instance of the <see cref="T:Spring.Messaging.Nms.Listener.RecoveryTimeExceededException"/> class, with the specified message
3751
3752=== modified file 'lib/Spring.Net/Spring.Messaging.dll'
3753Binary files lib/Spring.Net/Spring.Messaging.dll 2010-07-13 10:45:23 +0000 and lib/Spring.Net/Spring.Messaging.dll 2010-07-26 17:53:42 +0000 differ
3754=== modified file 'lib/Spring.Net/Spring.Messaging.xml'
3755--- lib/Spring.Net/Spring.Messaging.xml 2010-07-13 10:45:23 +0000
3756+++ lib/Spring.Net/Spring.Messaging.xml 2010-07-26 17:53:42 +0000
3757@@ -909,6 +909,41 @@
3758 </para>
3759 </remarks>
3760 </member>
3761+ <member name="T:Spring.Messaging.Core.QueueUtils">
3762+ <summary>
3763+ Utility methods to support Spring's MSMQ functionality
3764+ </summary>
3765+ </member>
3766+ <member name="M:Spring.Messaging.Core.QueueUtils.RegisterDefaultMessageConverter(Spring.Context.IApplicationContext)">
3767+ <summary>
3768+ Registers the default message converter with the application context.
3769+ </summary>
3770+ <param name="applicationContext">The application context.</param>
3771+ <returns>The name of the message converter to use for lookups with
3772+ <see cref="T:Spring.Messaging.Core.DefaultMessageQueueFactory"/>.
3773+ </returns>
3774+ </member>
3775+ <member name="M:Spring.Messaging.Core.QueueUtils.GetMessageQueueTransaction(Spring.Messaging.Core.IResourceFactory)">
3776+ <summary>
3777+ Gets the message queue transaction from thread local storage
3778+ </summary>
3779+ <param name="resourceFactory">The resource factory.</param>
3780+ <returns>null if not found in thread local storage</returns>
3781+ </member>
3782+ <member name="T:Spring.Messaging.Core.IResourceFactory">
3783+ <summary> Callback interface for resource creation.
3784+ Serving as argument for the <code>GetMessageQueueTransaction</code> method.
3785+ </summary>
3786+ </member>
3787+ <member name="P:Spring.Messaging.Core.IResourceFactory.SynchedLocalTransactionAllowed">
3788+ <summary>
3789+ Return whether to allow for a local transaction that is synchronized with
3790+ a Spring-managed transaction (where the main transaction might be a ADO.NET-based
3791+ one for a specific IDbProvider, for example), with the MSMQ transaction
3792+ committing right after the main transaction.
3793+ Returns whether to allow for synchronizing a local MSMQ transaction
3794+ </summary>
3795+ </member>
3796 <member name="T:Spring.Messaging.Listener.AbstractListenerContainer">
3797 <summary>
3798 Provides basic lifecyle management methods for implementing a message listener container.
3799@@ -2548,41 +2583,6 @@
3800 </p>
3801 </remarks>
3802 </member>
3803- <member name="T:Spring.Messaging.Core.QueueUtils">
3804- <summary>
3805- Utility methods to support Spring's MSMQ functionality
3806- </summary>
3807- </member>
3808- <member name="M:Spring.Messaging.Core.QueueUtils.RegisterDefaultMessageConverter(Spring.Context.IApplicationContext)">
3809- <summary>
3810- Registers the default message converter with the application context.
3811- </summary>
3812- <param name="applicationContext">The application context.</param>
3813- <returns>The name of the message converter to use for lookups with
3814- <see cref="T:Spring.Messaging.Core.DefaultMessageQueueFactory"/>.
3815- </returns>
3816- </member>
3817- <member name="M:Spring.Messaging.Core.QueueUtils.GetMessageQueueTransaction(Spring.Messaging.Core.IResourceFactory)">
3818- <summary>
3819- Gets the message queue transaction from thread local storage
3820- </summary>
3821- <param name="resourceFactory">The resource factory.</param>
3822- <returns>null if not found in thread local storage</returns>
3823- </member>
3824- <member name="T:Spring.Messaging.Core.IResourceFactory">
3825- <summary> Callback interface for resource creation.
3826- Serving as argument for the <code>GetMessageQueueTransaction</code> method.
3827- </summary>
3828- </member>
3829- <member name="P:Spring.Messaging.Core.IResourceFactory.SynchedLocalTransactionAllowed">
3830- <summary>
3831- Return whether to allow for a local transaction that is synchronized with
3832- a Spring-managed transaction (where the main transaction might be a ADO.NET-based
3833- one for a specific IDbProvider, for example), with the MSMQ transaction
3834- committing right after the main transaction.
3835- Returns whether to allow for synchronizing a local MSMQ transaction
3836- </summary>
3837- </member>
3838 <member name="T:Spring.Messaging.MessagingException">
3839 <summary>
3840 Base exception class for exceptions thrown by Spring in Spring.Messaging
3841
3842=== modified file 'lib/Spring.Net/Spring.Scheduling.Quartz.dll'
3843Binary files lib/Spring.Net/Spring.Scheduling.Quartz.dll 2010-07-13 10:45:23 +0000 and lib/Spring.Net/Spring.Scheduling.Quartz.dll 2010-07-26 17:53:42 +0000 differ
3844=== modified file 'lib/Spring.Net/Spring.Services.dll'
3845Binary files lib/Spring.Net/Spring.Services.dll 2010-07-13 10:45:23 +0000 and lib/Spring.Net/Spring.Services.dll 2010-07-26 17:53:42 +0000 differ
3846=== modified file 'lib/Spring.Net/Spring.Services.xml'
3847--- lib/Spring.Net/Spring.Services.xml 2010-07-13 10:45:23 +0000
3848+++ lib/Spring.Net/Spring.Services.xml 2010-07-26 17:53:42 +0000
3849@@ -1255,6 +1255,442 @@
3850 The type of object to be created.
3851 </summary>
3852 </member>
3853+ <member name="T:Spring.ServiceModel.Activation.ServiceHostFactory">
3854+ <summary>
3855+ Factory that provides instances of <see cref="T:Spring.ServiceModel.SpringServiceHost"/>
3856+ to host objects created by Spring's IoC container.
3857+ </summary>
3858+ <author>Bruno Baia</author>
3859+ </member>
3860+ <member name="M:Spring.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost(System.String,System.Uri[])">
3861+ <summary>
3862+ Creates a <see cref="T:Spring.ServiceModel.SpringServiceHost"/> for
3863+ a specified Spring-managed object with a specific base address.
3864+ </summary>
3865+ <param name="reference">
3866+ A reference to a Spring-managed object or to a service type.
3867+ </param>
3868+ <param name="baseAddresses">
3869+ The <see cref="T:System.Array"/> of type <see cref="T:System.Uri"/> that contains
3870+ the base addresses for the service hosted.
3871+ </param>
3872+ <returns>
3873+ A <see cref="T:Spring.ServiceModel.SpringServiceHost"/> for the Spring-managed object.
3874+ </returns>
3875+ <exception cref="T:System.ArgumentException">
3876+ If the Service attribute in the ServiceHost directive was not provided.
3877+ </exception>
3878+ </member>
3879+ <member name="T:Spring.ServiceModel.Activation.ServiceHostFactoryObject">
3880+ <summary>
3881+ Factory that provides instances of <see cref="T:System.ServiceModel.ServiceHost"/>
3882+ to host objects created with Spring's IoC container.
3883+ </summary>
3884+ <author>Bruno Baia</author>
3885+ </member>
3886+ <member name="F:Spring.ServiceModel.Activation.ServiceHostFactoryObject.objectFactory">
3887+ <summary>
3888+ The owning factory.
3889+ </summary>
3890+ </member>
3891+ <member name="F:Spring.ServiceModel.Activation.ServiceHostFactoryObject.springServiceHost">
3892+ <summary>
3893+ The <see cref="T:Spring.ServiceModel.SpringServiceHost"/> instance managed by this factory.
3894+ </summary>
3895+ </member>
3896+ <member name="M:Spring.ServiceModel.Activation.ServiceHostFactoryObject.#ctor">
3897+ <summary>
3898+ Creates a new instance of the
3899+ <see cref="T:Spring.ServiceModel.Activation.ServiceHostFactoryObject"/> class.
3900+ </summary>
3901+ </member>
3902+ <member name="M:Spring.ServiceModel.Activation.ServiceHostFactoryObject.GetObject">
3903+ <summary>
3904+ Return a <see cref="T:Spring.ServiceModel.SpringServiceHost"/> instance
3905+ managed by this factory.
3906+ </summary>
3907+ <returns>
3908+ An instance of <see cref="T:Spring.ServiceModel.SpringServiceHost"/>
3909+ managed by this factory.
3910+ </returns>
3911+ </member>
3912+ <member name="M:Spring.ServiceModel.Activation.ServiceHostFactoryObject.AfterPropertiesSet">
3913+ <summary>
3914+ Publish the object.
3915+ </summary>
3916+ </member>
3917+ <member name="M:Spring.ServiceModel.Activation.ServiceHostFactoryObject.Dispose">
3918+ <summary>
3919+ Close the SpringServiceHost
3920+ </summary>
3921+ </member>
3922+ <member name="M:Spring.ServiceModel.Activation.ServiceHostFactoryObject.ValidateConfiguration">
3923+ <summary>
3924+ Validates the configuration.
3925+ </summary>
3926+ </member>
3927+ <member name="P:Spring.ServiceModel.Activation.ServiceHostFactoryObject.TargetName">
3928+ <summary>
3929+ Gets or sets the name of the target object that should be exposed as a service.
3930+ </summary>
3931+ <value>
3932+ The name of the target object that should be exposed as a service.
3933+ </value>
3934+ </member>
3935+ <member name="P:Spring.ServiceModel.Activation.ServiceHostFactoryObject.BaseAddresses">
3936+ <summary>
3937+ Gets or sets the base addresses for the hosted service.
3938+ </summary>
3939+ <value>
3940+ The base addresses for the hosted service.
3941+ </value>
3942+ </member>
3943+ <member name="P:Spring.ServiceModel.Activation.ServiceHostFactoryObject.UseServiceProxyTypeCache">
3944+ <summary>
3945+ Controls, whether the underlying <see cref="T:Spring.ServiceModel.SpringServiceHost"/> should cache
3946+ the generated proxy types. Defaults to <c>true</c>.
3947+ </summary>
3948+ </member>
3949+ <member name="P:Spring.ServiceModel.Activation.ServiceHostFactoryObject.ObjectFactory">
3950+ <summary>
3951+ Callback that supplies the owning factory to an object instance.
3952+ </summary>
3953+ <value>
3954+ Owning <see cref="T:Spring.Objects.Factory.IObjectFactory"/>
3955+ (may not be <see langword="null"/>). The object can immediately
3956+ call methods on the factory.
3957+ </value>
3958+ <remarks>
3959+ <p>
3960+ Invoked after population of normal object properties but before an init
3961+ callback like <see cref="T:Spring.Objects.Factory.IInitializingObject"/>'s
3962+ <see cref="M:Spring.Objects.Factory.IInitializingObject.AfterPropertiesSet"/>
3963+ method or a custom init-method.
3964+ </p>
3965+ </remarks>
3966+ <exception cref="T:Spring.Objects.ObjectsException">
3967+ In case of initialization errors.
3968+ </exception>
3969+ </member>
3970+ <member name="P:Spring.ServiceModel.Activation.ServiceHostFactoryObject.ObjectType">
3971+ <summary>
3972+ Return the <see cref="T:System.Type"/> of object that this
3973+ <see cref="T:Spring.Objects.Factory.IFactoryObject"/> creates.
3974+ </summary>
3975+ </member>
3976+ <member name="P:Spring.ServiceModel.Activation.ServiceHostFactoryObject.IsSingleton">
3977+ <summary>
3978+ Always returns <see langword="false"/>
3979+ </summary>
3980+ </member>
3981+ <member name="T:Spring.ServiceModel.Support.ServiceProxyTypeBuilder">
3982+ <summary>
3983+ Builds a WCF service type.
3984+ </summary>
3985+ <author>Bruno Baia</author>
3986+ </member>
3987+ <member name="F:Spring.ServiceModel.Support.ServiceProxyTypeBuilder.objectFactoryField">
3988+ <summary>
3989+ Target instance calls should be delegated to.
3990+ </summary>
3991+ </member>
3992+ <member name="M:Spring.ServiceModel.Support.ServiceProxyTypeBuilder.#ctor(System.String,System.Type,System.Boolean)">
3993+ <summary>
3994+ Creates a new instance of the
3995+ <see cref="T:Spring.ServiceModel.Support.ServiceProxyTypeBuilder"/> class.
3996+ </summary>
3997+ <param name="targetName">The name of the service within Spring's IoC container.</param>
3998+ <param name="targetType">The type of the service.</param>
3999+ <param name="useServiceProxyTypeCache">Whether to cache the generated service proxy type.</param>
4000+ </member>
4001+ <member name="M:Spring.ServiceModel.Support.ServiceProxyTypeBuilder.#ctor(System.String,System.Type,System.String,System.Boolean)">
4002+ <summary>
4003+ Creates a new instance of the
4004+ <see cref="T:Spring.ServiceModel.Support.ServiceProxyTypeBuilder"/> class.
4005+ </summary>
4006+ <param name="targetName">The name of the service within Spring's IoC container.</param>
4007+ <param name="targetType">The type of the service.</param>
4008+ <param name="serviceTypeName">The name of the generated WCF service <see cref="T:System.Type"/>.</param>
4009+ <param name="useServiceProxyTypeCache">Whether to cache the generated service proxy type.</param>
4010+ </member>
4011+ <member name="M:Spring.ServiceModel.Support.ServiceProxyTypeBuilder.BuildProxyType(Spring.Objects.Factory.IObjectFactory)">
4012+ <summary>
4013+ Creates a proxy that delegates calls to an instance of the target object
4014+ and caches the <see cref="T:System.Type"/> instance.
4015+ </summary>
4016+ <param name="objectFactory">
4017+ The <see cref="T:Spring.Objects.Factory.IObjectFactory"/> to use to get the target object.
4018+ </param>
4019+ <exception cref="T:System.ArgumentException">
4020+ If the <see cref="P:Spring.Proxy.IProxyTypeBuilder.TargetType"/>
4021+ does not implement any interfaces.
4022+ </exception>
4023+ </member>
4024+ <member name="M:Spring.ServiceModel.Support.ServiceProxyTypeBuilder.ImplementConstructors(System.Reflection.Emit.TypeBuilder)">
4025+ <summary>
4026+ Implements constructors for the proxy class.
4027+ </summary>
4028+ <remarks>
4029+ This implementation generates a constructor
4030+ that gets instance of the target object using
4031+ <see cref="M:Spring.Objects.Factory.IObjectFactory.GetObject(System.String)"/>.
4032+ </remarks>
4033+ <param name="builder">
4034+ The <see cref="T:System.Type"/> builder to use.
4035+ </param>
4036+ </member>
4037+ <member name="M:Spring.ServiceModel.Support.ServiceProxyTypeBuilder.CreateTypeBuilder(System.String,System.Type)">
4038+ <summary>
4039+ Creates an appropriate type builder. Add a field to hold a reference to the application context.
4040+ </summary>
4041+ <param name="name">The name to use for the proxy type name.</param>
4042+ <param name="baseType">The type to extends if provided.</param>
4043+ <returns>The type builder to use.</returns>
4044+ </member>
4045+ <member name="T:Spring.ServiceModel.ServiceExporter">
4046+ <summary>
4047+ Exports an object as a WCF service.
4048+ </summary>
4049+ <author>Bruno Baia</author>
4050+ </member>
4051+ <member name="F:Spring.ServiceModel.ServiceExporter.objectName">
4052+ <summary>
4053+ The name of the object in the factory.
4054+ </summary>
4055+ </member>
4056+ <member name="F:Spring.ServiceModel.ServiceExporter.objectFactory">
4057+ <summary>
4058+ The owning factory.
4059+ </summary>
4060+ </member>
4061+ <member name="F:Spring.ServiceModel.ServiceExporter.proxyType">
4062+ <summary>
4063+ The generated WCF service wrapper type.
4064+ </summary>
4065+ </member>
4066+ <member name="M:Spring.ServiceModel.ServiceExporter.#ctor">
4067+ <summary>
4068+ Creates a new instance of the <see cref="T:Spring.ServiceModel.ServiceExporter"/> class.
4069+ </summary>
4070+ </member>
4071+ <member name="M:Spring.ServiceModel.ServiceExporter.AfterPropertiesSet">
4072+ <summary>
4073+ Publish the object
4074+ </summary>
4075+ </member>
4076+ <member name="M:Spring.ServiceModel.ServiceExporter.GetObject">
4077+ <summary>
4078+ Return an instance (possibly shared or independent) of the object
4079+ managed by this factory.
4080+ </summary>
4081+ <remarks>
4082+ <note type="caution">
4083+ If this method is being called in the context of an enclosing IoC container and
4084+ returns <see langword="null"/>, the IoC container will consider this factory
4085+ object as not being fully initialized and throw a corresponding (and most
4086+ probably fatal) exception.
4087+ </note>
4088+ </remarks>
4089+ <returns>
4090+ An instance (possibly shared or independent) of the object managed by
4091+ this factory.
4092+ </returns>
4093+ </member>
4094+ <member name="M:Spring.ServiceModel.ServiceExporter.ValidateConfiguration">
4095+ <summary>
4096+ Validates the configuration.
4097+ </summary>
4098+ </member>
4099+ <member name="M:Spring.ServiceModel.ServiceExporter.GenerateProxy">
4100+ <summary>
4101+ Generates the WCF service wrapper type.
4102+ </summary>
4103+ </member>
4104+ <member name="P:Spring.ServiceModel.ServiceExporter.TargetName">
4105+ <summary>
4106+ Gets or sets the name of the target object definition.
4107+ </summary>
4108+ </member>
4109+ <member name="P:Spring.ServiceModel.ServiceExporter.ContractInterface">
4110+ <summary>
4111+ Gets or sets the service contract interface type.
4112+ </summary>
4113+ <remarks>
4114+ If not set, uses the unique interface implemented or inherited by the target type.
4115+ An error will be thrown if the target type implements more than one interface.
4116+ </remarks>
4117+ <value>The service contract interface type.</value>
4118+ </member>
4119+ <member name="P:Spring.ServiceModel.ServiceExporter.TypeAttributes">
4120+ <summary>
4121+ Gets or sets a list of custom attributes
4122+ that should be applied to the WCF service class.
4123+ </summary>
4124+ </member>
4125+ <member name="P:Spring.ServiceModel.ServiceExporter.MemberAttributes">
4126+ <summary>
4127+ Gets or sets a dictionary of custom attributes
4128+ that should be applied to the WCF service members.
4129+ </summary>
4130+ <remarks>
4131+ Dictionary key is an expression that members can be matched against.
4132+ Value is a list of attributes that should be applied
4133+ to each member that matches expression.
4134+ </remarks>
4135+ </member>
4136+ <member name="P:Spring.ServiceModel.ServiceExporter.UseServiceProxyTypeCache">
4137+ <summary>
4138+ Controls, whether the underlying <see cref="T:Spring.ServiceModel.ServiceExporter"/> should cache
4139+ the generated proxy types. Defaults to <c>true</c>.
4140+ </summary>
4141+ </member>
4142+ <member name="P:Spring.ServiceModel.ServiceExporter.Name">
4143+ <summary>
4144+ Gets or sets the name for the &lt;portType&gt; element in
4145+ Web Services Description Language (WSDL).
4146+ </summary>
4147+ <value>
4148+ The default value is the name of the class or interface to which the
4149+ System.ServiceModel.ServiceContractAttribute is applied.
4150+ </value>
4151+ </member>
4152+ <member name="P:Spring.ServiceModel.ServiceExporter.Namespace">
4153+ <summary>
4154+ Gets or sets the namespace of the &lt;portType&gt; element in
4155+ Web Services Description Language (WSDL).
4156+ </summary>
4157+ <value>
4158+ The WSDL namespace of the &lt;portType&gt; element. The default value is "http://tempuri.org".
4159+ </value>
4160+ </member>
4161+ <member name="P:Spring.ServiceModel.ServiceExporter.ConfigurationName">
4162+ <summary>
4163+ Gets or sets the name used to locate the service in an application configuration file.
4164+ </summary>
4165+ <value>
4166+ The name used to locate the service element in an application configuration file.
4167+ The default is the name of the service implementation class.
4168+ </value>
4169+ </member>
4170+ <member name="P:Spring.ServiceModel.ServiceExporter.CallbackContract">
4171+ <summary>
4172+ Gets or sets the type of callback contract when the contract is a duplex contract.
4173+ </summary>
4174+ <value>
4175+ A <see cref="T:System.Type"/> that indicates the callback contract. The default is null.
4176+ </value>
4177+ </member>
4178+ <member name="P:Spring.ServiceModel.ServiceExporter.ProtectionLevel">
4179+ <summary>
4180+ Specifies whether the binding for the contract must support the value of
4181+ the ProtectionLevel property.
4182+ </summary>
4183+ <value>
4184+ One of the <see cref="T:System.Net.Security.ProtectionLevel"/> values.
4185+ The default is <see cref="F:System.Net.Security.ProtectionLevel.None"/>.
4186+ </value>
4187+ </member>
4188+ <member name="P:Spring.ServiceModel.ServiceExporter.SessionMode">
4189+ <summary>
4190+ Gets or sets whether sessions are allowed, not allowed or required.
4191+ </summary>
4192+ <value>
4193+ A <see cref="T:System.ServiceModel.SessionMode"/> that indicates whether sessions are allowed,
4194+ not allowed, or required.
4195+ </value>
4196+ </member>
4197+ <member name="P:Spring.ServiceModel.ServiceExporter.ObjectFactory">
4198+ <summary>
4199+ Callback that supplies the owning factory to an object instance.
4200+ </summary>
4201+ <value>
4202+ Owning <see cref="T:Spring.Objects.Factory.IObjectFactory"/>
4203+ (may not be <see langword="null"/>). The object can immediately
4204+ call methods on the factory.
4205+ </value>
4206+ <remarks>
4207+ <p>
4208+ Invoked after population of normal object properties but before an init
4209+ callback like <see cref="T:Spring.Objects.Factory.IInitializingObject"/>'s
4210+ <see cref="M:Spring.Objects.Factory.IInitializingObject.AfterPropertiesSet"/>
4211+ method or a custom init-method.
4212+ </p>
4213+ </remarks>
4214+ <exception cref="T:Spring.Objects.ObjectsException">
4215+ In case of initialization errors.
4216+ </exception>
4217+ </member>
4218+ <member name="P:Spring.ServiceModel.ServiceExporter.ObjectType">
4219+ <summary>
4220+ Return the <see cref="T:System.Type"/> of object that this
4221+ <see cref="T:Spring.Objects.Factory.IFactoryObject"/> creates, or
4222+ <see langword="null"/> if not known in advance.
4223+ </summary>
4224+ </member>
4225+ <member name="P:Spring.ServiceModel.ServiceExporter.IsSingleton">
4226+ <summary>
4227+ Is the object managed by this factory a singleton or a prototype?
4228+ </summary>
4229+ </member>
4230+ <member name="P:Spring.ServiceModel.ServiceExporter.ObjectName">
4231+ <summary>
4232+ Set the name of the object in the object factory that created this object.
4233+ </summary>
4234+ <value>
4235+ The name of the object in the factory.
4236+ </value>
4237+ <remarks>
4238+ <p>
4239+ Invoked after population of normal object properties but before an init
4240+ callback like <see cref="M:Spring.Objects.Factory.IInitializingObject.AfterPropertiesSet"/>'s
4241+ <see cref="T:Spring.Objects.Factory.IInitializingObject"/>
4242+ method or a custom init-method.
4243+ </p>
4244+ </remarks>
4245+ </member>
4246+ <member name="T:Spring.ServiceModel.ServiceExporter.ConfigurableServiceProxyTypeBuilder">
4247+ <summary>
4248+ Builds a WCF service type.
4249+ </summary>
4250+ </member>
4251+ <member name="T:Spring.ServiceModel.SpringServiceHost">
4252+ <summary>
4253+ Provides a host for Spring-managed services.
4254+ </summary>
4255+ <author>Bruno Baia</author>
4256+ </member>
4257+ <member name="M:Spring.ServiceModel.SpringServiceHost.#ctor(System.String,System.Uri[])">
4258+ <summary>
4259+ Creates a new instance of the <see cref="T:Spring.ServiceModel.SpringServiceHost"/> class.
4260+ </summary>
4261+ <param name="serviceName">The name of the service within Spring's IoC container.</param>
4262+ <param name="baseAddresses">The base addresses for the hosted service.</param>
4263+ </member>
4264+ <member name="M:Spring.ServiceModel.SpringServiceHost.#ctor(System.String,System.String,System.Uri[])">
4265+ <summary>
4266+ Creates a new instance of the <see cref="T:Spring.ServiceModel.SpringServiceHost"/> class.
4267+ </summary>
4268+ <param name="serviceName">The name of the service within Spring's IoC container.</param>
4269+ <param name="contextName">The name of the Spring context to use.</param>
4270+ <param name="baseAddresses">The base addresses for the hosted service.</param>
4271+ </member>
4272+ <member name="M:Spring.ServiceModel.SpringServiceHost.#ctor(System.String,Spring.Objects.Factory.IObjectFactory,System.Uri[])">
4273+ <summary>
4274+ Creates a new instance of the <see cref="T:Spring.ServiceModel.SpringServiceHost"/> class.
4275+ </summary>
4276+ <param name="serviceName">The name of the service within Spring's IoC container.</param>
4277+ <param name="objectFactory">The <see cref="T:Spring.Objects.Factory.IObjectFactory"/> to use.</param>
4278+ <param name="baseAddresses">The base addresses for the hosted service.</param>
4279+ </member>
4280+ <member name="M:Spring.ServiceModel.SpringServiceHost.#ctor(System.String,Spring.Objects.Factory.IObjectFactory,System.Boolean,System.Uri[])">
4281+ <summary>
4282+ Creates a new instance of the <see cref="T:Spring.ServiceModel.SpringServiceHost"/> class.
4283+ </summary>
4284+ <param name="serviceName">The name of the service within Spring's IoC container.</param>
4285+ <param name="objectFactory">The <see cref="T:Spring.Objects.Factory.IObjectFactory"/> to use.</param>
4286+ <param name="useServiceProxyTypeCache">Whether to cache the generated service proxy type.</param>
4287+ <param name="baseAddresses">The base addresses for the hosted service.</param>
4288+ </member>
4289 <member name="T:Spring.Web.Services.WebServiceProxyFactory">
4290 <summary>
4291 Factory Object that dynamically implements service interface for web service.
4292
4293=== modified file 'lib/Spring.Net/Spring.Template.Velocity.dll'
4294Binary files lib/Spring.Net/Spring.Template.Velocity.dll 2010-07-13 10:45:23 +0000 and lib/Spring.Net/Spring.Template.Velocity.dll 2010-07-26 17:53:42 +0000 differ
4295=== modified file 'lib/Spring.Net/Spring.Template.Velocity.xml'
4296--- lib/Spring.Net/Spring.Template.Velocity.xml 2010-07-13 10:45:23 +0000
4297+++ lib/Spring.Net/Spring.Template.Velocity.xml 2010-07-26 17:53:42 +0000
4298@@ -265,6 +265,11 @@
4299 </summary>
4300 <author>Erez Mazor</author>
4301 </member>
4302+ <member name="F:Spring.Template.Velocity.CommonsLoggingLogSystem.log">
4303+ <summary>
4304+ Shared logger instance.
4305+ </summary>
4306+ </member>
4307 <member name="M:Spring.Template.Velocity.CommonsLoggingLogSystem.Init(NVelocity.Runtime.IRuntimeServices)">
4308 <summary>
4309 Initializes the specified runtime services. No-op in current implementatin
4310@@ -328,6 +333,11 @@
4311 A comma delimited list of paths used by the spring IResourceLoader implementation
4312 </summary>
4313 </member>
4314+ <member name="F:Spring.Template.Velocity.SpringResourceLoader.log">
4315+ <summary>
4316+ Shared logger instance.
4317+ </summary>
4318+ </member>
4319 <member name="M:Spring.Template.Velocity.SpringResourceLoader.Init(Commons.Collections.ExtendedProperties)">
4320 <summary>
4321 Initialize the template loader with a resources class.
4322@@ -360,6 +370,51 @@
4323 <param name="resource">The resource.</param>
4324 <returns></returns>
4325 </member>
4326+ <member name="T:Spring.Template.Velocity.VelocityConstants">
4327+ <summary>
4328+ Common Velocity constants.
4329+ </summary>
4330+ </member>
4331+ <member name="F:Spring.Template.Velocity.VelocityConstants.File">
4332+ <summary>
4333+ File.
4334+ </summary>
4335+ </member>
4336+ <member name="F:Spring.Template.Velocity.VelocityConstants.Type">
4337+ <summary>
4338+ Type.
4339+ </summary>
4340+ </member>
4341+ <member name="F:Spring.Template.Velocity.VelocityConstants.Assembly">
4342+ <summary>
4343+ Assembly.
4344+ </summary>
4345+ </member>
4346+ <member name="F:Spring.Template.Velocity.VelocityConstants.Class">
4347+ <summary>
4348+ Class.
4349+ </summary>
4350+ </member>
4351+ <member name="F:Spring.Template.Velocity.VelocityConstants.Name">
4352+ <summary>
4353+ Name.
4354+ </summary>
4355+ </member>
4356+ <member name="F:Spring.Template.Velocity.VelocityConstants.Description">
4357+ <summary>
4358+ Description.
4359+ </summary>
4360+ </member>
4361+ <member name="F:Spring.Template.Velocity.VelocityConstants.Path">
4362+ <summary>
4363+ Path.
4364+ </summary>
4365+ </member>
4366+ <member name="F:Spring.Template.Velocity.VelocityConstants.Separator">
4367+ <summary>
4368+ Separator.
4369+ </summary>
4370+ </member>
4371 <member name="T:Spring.Template.Velocity.VelocityEngineFactory">
4372 <summary>
4373 Factory that configures a VelocityEngine. Can be used standalone,
4374@@ -393,6 +448,11 @@
4375 <see cref="T:Spring.Template.Velocity.CommonsLoggingLogSystem"/>
4376 <author>Erez Mazor</author>
4377 </member>
4378+ <member name="F:Spring.Template.Velocity.VelocityEngineFactory.log">
4379+ <summary>
4380+ Shared logger instance.
4381+ </summary>
4382+ </member>
4383 <member name="M:Spring.Template.Velocity.VelocityEngineFactory.CreateVelocityEngine">
4384 <summary>
4385 Create and initialize the VelocityEngine instance and return it
4386@@ -436,6 +496,7 @@
4387 <br/>Called by <code>CreateVelocityEngine()</code>.
4388 </summary>
4389 <param name="velocityEngine">velocityEngine the VelocityEngine to configure</param>
4390+ <param name="extendedProperties"></param>
4391 <param name="paths">paths the path list to load Velocity resources from</param>
4392 <see cref="T:NVelocity.Runtime.Resource.Loader.FileResourceLoader"/>
4393 <see cref="T:Spring.Template.Velocity.SpringResourceLoader"/>
4394@@ -454,6 +515,7 @@
4395 of the tranditional "ClassFullName, AssemblyName" to work.
4396 </summary>
4397 <param name="velocityEngine">velocityEngine the VelocityEngine to configure</param>
4398+ <param name="extendedProperties"></param>
4399 <param name="resourceLoaderPathString">resourceLoaderPath the path to load Velocity resources from</param>
4400 <see cref="T:Spring.Template.Velocity.SpringResourceLoader"/>
4401 <see cref="M:Spring.Template.Velocity.VelocityEngineFactory.InitVelocityResourceLoader(NVelocity.App.VelocityEngine,Commons.Collections.ExtendedProperties,System.Collections.IList)"/>
4402@@ -604,6 +666,11 @@
4403 </summary>
4404 <author>Erez Mazor</author>
4405 </member>
4406+ <member name="F:Spring.Template.Velocity.VelocityEngineUtils.log">
4407+ <summary>
4408+ Shared logger instance.
4409+ </summary>
4410+ </member>
4411 <member name="M:Spring.Template.Velocity.VelocityEngineUtils.MergeTemplate(NVelocity.App.VelocityEngine,System.String,System.String,System.Collections.Hashtable,System.IO.TextWriter)">
4412 <summary>
4413 Merge the specified Velocity template with the given model and write
4414
4415=== modified file 'lib/Spring.Net/Spring.Testing.Microsoft.dll'
4416Binary files lib/Spring.Net/Spring.Testing.Microsoft.dll 2010-07-13 10:45:23 +0000 and lib/Spring.Net/Spring.Testing.Microsoft.dll 2010-07-26 17:53:42 +0000 differ
4417=== modified file 'lib/Spring.Net/Spring.Testing.NUnit.dll'
4418Binary files lib/Spring.Net/Spring.Testing.NUnit.dll 2010-07-13 10:45:23 +0000 and lib/Spring.Net/Spring.Testing.NUnit.dll 2010-07-26 17:53:42 +0000 differ
4419=== modified file 'lib/Spring.Net/Spring.Web.Extensions.dll'
4420Binary files lib/Spring.Net/Spring.Web.Extensions.dll 2010-07-13 10:45:23 +0000 and lib/Spring.Net/Spring.Web.Extensions.dll 2010-07-26 17:53:42 +0000 differ
4421=== modified file 'lib/Spring.Net/Spring.Web.dll'
4422Binary files lib/Spring.Net/Spring.Web.dll 2010-07-13 10:45:23 +0000 and lib/Spring.Net/Spring.Web.dll 2010-07-26 17:53:42 +0000 differ
4423=== modified file 'lib/Spring.Net/Spring.Web.xml'
4424--- lib/Spring.Net/Spring.Web.xml 2010-07-13 10:45:23 +0000
4425+++ lib/Spring.Net/Spring.Web.xml 2010-07-26 17:53:42 +0000
4426@@ -203,7 +203,7 @@
4427 <member name="T:Spring.Context.Support.WebApplicationContext">
4428 <summary>
4429 Web application context, taking the context definition files
4430- from the file system or from URLs.
4431+ from the file system or from URLs.
4432
4433 Treats resource paths as web resources, when using
4434 IApplicationContext.GetResource. Resource paths are considered relative
4435
4436=== modified file 'main.build'
4437--- main.build 2010-07-22 15:06:53 +0000
4438+++ main.build 2010-07-26 17:53:42 +0000
4439@@ -154,6 +154,11 @@
4440 </fileset>
4441 </copy>
4442
4443+ <copy todir="${build_results}/Daemon/Config" flatten="true">
4444+ <fileset basedir="src/Canonical.UbuntuOne.ProcessDispatcher/bin/${enviroment}/Config">
4445+ <include name="*.config" />
4446+ </fileset>
4447+ </copy>
4448 <!-- wix compiler -->
4449 <exec basedir="tools/Wix/bin"
4450 managed="true"
4451
4452=== modified file 'src/Canonical.UbuntuOne.Common.Tests/Canonical.UbuntuOne.Common.Tests.csproj'
4453--- src/Canonical.UbuntuOne.Common.Tests/Canonical.UbuntuOne.Common.Tests.csproj 2010-07-21 10:07:22 +0000
4454+++ src/Canonical.UbuntuOne.Common.Tests/Canonical.UbuntuOne.Common.Tests.csproj 2010-07-26 17:53:42 +0000
4455@@ -34,7 +34,11 @@
4456 <ItemGroup>
4457 <Compile Include="Aop\DebugLogAfterCallInterceptorFixture.cs" />
4458 <Compile Include="Aop\DebugLogAfterThrowInterceptorFixture.cs" />
4459+ <Compile Include="Container\DictionaryContainerFixture.cs" />
4460+ <Compile Include="Container\ObjectsContainerFixture.cs" />
4461+ <Compile Include="ProcessManagementExceptionFixture.cs" />
4462 <Compile Include="Properties\AssemblyInfo.cs" />
4463+ <Compile Include="SyncDaemonExceptionFixture.cs" />
4464 <Compile Include="Update\UpdaterFixture.cs" />
4465 <Compile Include="Validation\ArgumentValidationFixture.cs" />
4466 <Compile Include="Validation\EqualityExtensionsValidation.cs" />
4467
4468=== added directory 'src/Canonical.UbuntuOne.Common.Tests/Container'
4469=== added file 'src/Canonical.UbuntuOne.Common.Tests/Container/DictionaryContainerFixture.cs'
4470--- src/Canonical.UbuntuOne.Common.Tests/Container/DictionaryContainerFixture.cs 1970-01-01 00:00:00 +0000
4471+++ src/Canonical.UbuntuOne.Common.Tests/Container/DictionaryContainerFixture.cs 2010-07-26 17:53:42 +0000
4472@@ -0,0 +1,110 @@
4473+/**
4474+ * Copyright 2010 Canonical Ltd.
4475+ *
4476+ * This file is part of UbuntuOne on Windows.
4477+ *
4478+ * UbuntuOne on Windows is free software: you can redistribute it and/or modify
4479+ * it under the terms of the GNU Lesser General Public License version
4480+ * as published by the Free Software Foundation.
4481+ *
4482+ * Ubuntu One on Windows is distributed in the hope that it will be useful,
4483+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
4484+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4485+ * GNU Lesser General Public License for more details.
4486+ *
4487+ * You should have received a copy of the GNU Lesser General Public License
4488+ * along with UbuntuOne for Windows. If not, see <http://www.gnu.org/licenses/>.
4489+ *
4490+ * Authors: Manuel de la Peña <manuel.delapena@canonical.com>
4491+ */
4492+
4493+using System.Collections.Generic;
4494+using Canonical.UbuntuOne.Common.Container;
4495+using Rhino.Mocks;
4496+using NUnit.Framework;
4497+
4498+namespace Canonical.UbuntuOne.Common.Tests.Container
4499+{
4500+ [TestFixture]
4501+ public class DictionaryContainerFixture
4502+ {
4503+
4504+ #region Variables
4505+
4506+ private DictionaryContainer _container;
4507+ private IContainer _iContainer;
4508+ private MockRepository _mocks;
4509+
4510+ #endregion
4511+
4512+ #region SetUp
4513+
4514+ [SetUp]
4515+ public void Setup()
4516+ {
4517+ _mocks = new MockRepository();
4518+ _iContainer = _mocks.StrictMock<IContainer>();
4519+ _container = new DictionaryContainer();
4520+ }
4521+
4522+ #endregion
4523+
4524+ #region Tests
4525+
4526+ [Test]
4527+ public void TestRegister()
4528+ {
4529+ // we test that the object is registered and that it can be retrieved.
4530+
4531+ _container.Register(_iContainer);
4532+ // we try to get the instance to make sure that it was added
4533+ var instance = _container.GetImplementationOf<IContainer>();
4534+ Assert.AreEqual(instance, _iContainer);
4535+
4536+ }
4537+
4538+ [Test]
4539+ public void TestGetImplementationOf()
4540+ {
4541+ // try to get an un registered implementation
4542+ try
4543+ {
4544+ _container.GetImplementationOf<IContainer>();
4545+ }
4546+ catch (KeyNotFoundException)
4547+ {
4548+ // expected
4549+ }
4550+ // register and get it
4551+ _container.Register(_iContainer);
4552+ try
4553+ {
4554+ var instance = _container.GetImplementationOf<IContainer>();
4555+ Assert.AreEqual(instance, _iContainer);
4556+ }
4557+ catch (KeyNotFoundException e)
4558+ {
4559+ Assert.Fail("Exception {0} was not expected", e);
4560+ }
4561+ }
4562+
4563+ [Test]
4564+ public void TestClear()
4565+ {
4566+ // register data and later clear
4567+ _container.Register(_iContainer);
4568+ _container.Clear();
4569+ try
4570+ {
4571+ _container.GetImplementationOf<IContainer>();
4572+ Assert.Fail("Expected to have a KeyNotFoundException");
4573+ }
4574+ catch (KeyNotFoundException)
4575+ {
4576+ // expected
4577+ }
4578+ }
4579+ #endregion
4580+
4581+ }
4582+}
4583
4584=== added file 'src/Canonical.UbuntuOne.Common.Tests/Container/ObjectsContainerFixture.cs'
4585--- src/Canonical.UbuntuOne.Common.Tests/Container/ObjectsContainerFixture.cs 1970-01-01 00:00:00 +0000
4586+++ src/Canonical.UbuntuOne.Common.Tests/Container/ObjectsContainerFixture.cs 2010-07-26 17:53:42 +0000
4587@@ -0,0 +1,144 @@
4588+/**
4589+ * Copyright 2010 Canonical Ltd.
4590+ *
4591+ * This file is part of UbuntuOne on Windows.
4592+ *
4593+ * UbuntuOne on Windows is free software: you can redistribute it and/or modify
4594+ * it under the terms of the GNU Lesser General Public License version
4595+ * as published by the Free Software Foundation.
4596+ *
4597+ * Ubuntu One on Windows is distributed in the hope that it will be useful,
4598+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
4599+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4600+ * GNU Lesser General Public License for more details.
4601+ *
4602+ * You should have received a copy of the GNU Lesser General Public License
4603+ * along with UbuntuOne for Windows. If not, see <http://www.gnu.org/licenses/>.
4604+ *
4605+ * Authors: Manuel de la Peña <manuel.delapena@canonical.com>
4606+ */
4607+
4608+using System;
4609+using Canonical.UbuntuOne.Common.Container;
4610+using NUnit.Framework;
4611+using Rhino.Mocks;
4612+
4613+namespace Canonical.UbuntuOne.Common.Tests.Container
4614+{
4615+ [TestFixture]
4616+ public class ObjectsContainerFixture
4617+ {
4618+
4619+ #region Variables
4620+
4621+ private MockRepository _mocks;
4622+ private IContainer _container;
4623+
4624+ #endregion
4625+
4626+ #region SetUp
4627+
4628+ [SetUp]
4629+ public void Setup()
4630+ {
4631+ _mocks = new MockRepository();
4632+ _container = _mocks.StrictMock<IContainer>();
4633+ ObjectsContainer.Initialize(_container);
4634+ }
4635+
4636+ #endregion
4637+
4638+ #region Tests
4639+
4640+ [Test]
4641+ public void ClearSuccesTest()
4642+ {
4643+ using (_mocks.Record())
4644+ {
4645+ // expect the call the the void method clear
4646+ Expect.Call(() => _container.Clear());
4647+ }
4648+ using (_mocks.Playback())
4649+ {
4650+ ObjectsContainer.Clear();
4651+ }
4652+ }
4653+
4654+ [Test]
4655+ [ExpectedException(typeof(InvalidOperationException))]
4656+ public void GetMapperNoContainerTest()
4657+ {
4658+ // try the metho when no container has been given
4659+ ObjectsContainer.Clear();
4660+
4661+ ObjectsContainer.GetMapper<String, Type>();
4662+ Assert.Fail("Expected InvalidOperationException");
4663+
4664+ }
4665+
4666+ [Test]
4667+ [ExpectedException(typeof(UnsatisfiedDependencyException))]
4668+ public void GetMapperNoMapperTest()
4669+ {
4670+
4671+ ObjectsContainer.Clear();
4672+ _container.Clear();
4673+ ObjectsContainer.Initialize(_container);
4674+ using (_mocks.Record())
4675+ {
4676+ Expect.Call(_container.GetImplementationOf<IMapper<String, Type>>())
4677+ .Throw(new UnsatisfiedDependencyException("Test exception"));
4678+ }
4679+ using (_mocks.Playback())
4680+ {
4681+ ObjectsContainer.GetMapper<String, Type>();
4682+ }
4683+ }
4684+
4685+ [Test]
4686+ [ExpectedException(typeof(InvalidOperationException))]
4687+ public void RegisterNoContainerTest()
4688+ {
4689+ // try the metho when no container has been given
4690+ ObjectsContainer.Clear();
4691+ ObjectsContainer.Register(_container);
4692+
4693+ }
4694+
4695+ [Test]
4696+ public void RegisterTest()
4697+ {
4698+ Expect.Call(() => _container.Register(_container));
4699+ ObjectsContainer.Register(_container);
4700+
4701+ }
4702+
4703+ [Test]
4704+ public void GetImplementationOfTest()
4705+ {
4706+ // register the implementation of something and try to retrieve it
4707+ ObjectsContainer.Register(_container);
4708+ using (_mocks.Record())
4709+ {
4710+ Expect.Call(_container.GetImplementationOf<IContainer>()).Return(_container);
4711+ }
4712+ var implementation = ObjectsContainer.GetImplementationOf<IContainer>();
4713+ // we ensure that the container is the correct one
4714+ Assert.AreEqual(implementation, _container);
4715+
4716+ }
4717+
4718+
4719+ [Test]
4720+ [ExpectedException(typeof(InvalidOperationException))]
4721+ public void ClearFailTest()
4722+ {
4723+ // clear the container and expect an invalid operation exceiotn.
4724+ ObjectsContainer.Clear();
4725+ ObjectsContainer.Register(_container);
4726+ }
4727+
4728+ #endregion
4729+
4730+ }
4731+}
4732
4733=== added file 'src/Canonical.UbuntuOne.Common.Tests/ProcessManagementExceptionFixture.cs'
4734--- src/Canonical.UbuntuOne.Common.Tests/ProcessManagementExceptionFixture.cs 1970-01-01 00:00:00 +0000
4735+++ src/Canonical.UbuntuOne.Common.Tests/ProcessManagementExceptionFixture.cs 2010-07-26 17:53:42 +0000
4736@@ -0,0 +1,51 @@
4737+/**
4738+ * Copyright 2010 Canonical Ltd.
4739+ *
4740+ * This file is part of UbuntuOne on Windows.
4741+ *
4742+ * UbuntuOne on Windows is free software: you can redistribute it and/or modify
4743+ * it under the terms of the GNU Lesser General Public License version
4744+ * as published by the Free Software Foundation.
4745+ *
4746+ * Ubuntu One on Windows is distributed in the hope that it will be useful,
4747+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
4748+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4749+ * GNU Lesser General Public License for more details.
4750+ *
4751+ * You should have received a copy of the GNU Lesser General Public License
4752+ * along with UbuntuOne for Windows. If not, see <http://www.gnu.org/licenses/>.
4753+ *
4754+ * Authors: Manuel de la Peña <manuel.delapena@canonical.com>
4755+ */
4756+
4757+using System;
4758+using NUnit.Framework;
4759+
4760+namespace Canonical.UbuntuOne.Common.Tests
4761+{
4762+ [TestFixture]
4763+ public class ProcessManagementExceptionFixture
4764+ {
4765+ [TestCase("Message 1")]
4766+ [TestCase("Other message")]
4767+ public void MessageConstrcutroTest(string message)
4768+ {
4769+ var exception = new ProcessManagementException(message);
4770+ Assert.AreEqual(message, exception.Message);
4771+ }
4772+
4773+ [TestCase("Message 1", typeof(InvalidOperationException))]
4774+ [TestCase("Other Message", typeof(NullReferenceException))]
4775+ public void MessageExceptionConstructorTest(string message, Type exceptionType)
4776+ {
4777+ var innerException = Activator.CreateInstance(exceptionType) as Exception;
4778+ if (innerException != null)
4779+ {
4780+ var exception = new ProcessManagementException(message, innerException);
4781+ Assert.AreEqual(message, exception.Message);
4782+ Assert.IsNotNull(exception.InnerException);
4783+ Assert.AreSame(innerException, exception.InnerException);
4784+ }
4785+ }
4786+ }
4787+}
4788
4789=== added file 'src/Canonical.UbuntuOne.Common.Tests/SyncDaemonExceptionFixture.cs'
4790--- src/Canonical.UbuntuOne.Common.Tests/SyncDaemonExceptionFixture.cs 1970-01-01 00:00:00 +0000
4791+++ src/Canonical.UbuntuOne.Common.Tests/SyncDaemonExceptionFixture.cs 2010-07-26 17:53:42 +0000
4792@@ -0,0 +1,50 @@
4793+/**
4794+ * Copyright 2010 Canonical Ltd.
4795+ *
4796+ * This file is part of UbuntuOne on Windows.
4797+ *
4798+ * UbuntuOne on Windows is free software: you can redistribute it and/or modify
4799+ * it under the terms of the GNU Lesser General Public License version
4800+ * as published by the Free Software Foundation.
4801+ *
4802+ * Ubuntu One on Windows is distributed in the hope that it will be useful,
4803+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
4804+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4805+ * GNU Lesser General Public License for more details.
4806+ *
4807+ * You should have received a copy of the GNU Lesser General Public License
4808+ * along with UbuntuOne for Windows. If not, see <http://www.gnu.org/licenses/>.
4809+ *
4810+ * Authors: Manuel de la Peña <manuel.delapena@canonical.com>
4811+ */
4812+using System;
4813+using NUnit.Framework;
4814+
4815+namespace Canonical.UbuntuOne.Common.Tests
4816+{
4817+ [TestFixture]
4818+ public class SyncDaemonExceptionFixture
4819+ {
4820+ [TestCase("Message 1")]
4821+ [TestCase("Other message")]
4822+ public void MessageConstrcutroTest(string message)
4823+ {
4824+ var exception = new SyncDaemonException(message);
4825+ Assert.AreEqual(message, exception.Message);
4826+ }
4827+
4828+ [TestCase("Message 1", typeof(InvalidOperationException))]
4829+ [TestCase("Other Message", typeof(NullReferenceException))]
4830+ public void MessageExceptionConstructorTest(string message, Type exceptionType)
4831+ {
4832+ var innerException = Activator.CreateInstance(exceptionType) as Exception;
4833+ if (innerException != null)
4834+ {
4835+ var exception = new SyncDaemonException(message, innerException);
4836+ Assert.AreEqual(message, exception.Message);
4837+ Assert.IsNotNull(exception.InnerException);
4838+ Assert.AreSame(innerException, exception.InnerException);
4839+ }
4840+ }
4841+ }
4842+}
4843
4844=== modified file 'src/Canonical.UbuntuOne.Common.Tests/Validation/EqualityExtensionsValidation.cs'
4845--- src/Canonical.UbuntuOne.Common.Tests/Validation/EqualityExtensionsValidation.cs 2010-07-07 10:41:49 +0000
4846+++ src/Canonical.UbuntuOne.Common.Tests/Validation/EqualityExtensionsValidation.cs 2010-07-26 17:53:42 +0000
4847@@ -17,6 +17,9 @@
4848 *
4849 * Authors: Manuel de la Peña <manuel.delapena@canonical.com>
4850 */
4851+using System;
4852+using System.Collections.Generic;
4853+using System.Text.RegularExpressions;
4854 using Canonical.UbuntuOne.Common.Validation;
4855 using NUnit.Framework;
4856
4857@@ -25,6 +28,26 @@
4858 [TestFixture]
4859 public class EqualityExtensionsValidation
4860 {
4861+ #region Helper class
4862+
4863+ private interface ICurrency : IComparable
4864+ {
4865+ int Amount { get; set; }
4866+ }
4867+
4868+ private class Currency : ICurrency
4869+ {
4870+ public int Amount { get; set; }
4871+ public int CompareTo(object obj)
4872+ {
4873+ var other = obj as Currency;
4874+ if (other != null)
4875+ return Amount.CompareTo(other.Amount);
4876+ throw new ArgumentException();
4877+ }
4878+ }
4879+ #endregion
4880+
4881 #region Tests
4882
4883 [Test]
4884@@ -80,6 +103,139 @@
4885 .Check();
4886 }
4887
4888+ [Test]
4889+ public void IsEqualCollectionTrueTest()
4890+ {
4891+ var currency = new Currency {Amount = 4};
4892+ var collection = new List<Currency>
4893+ {
4894+ new Currency {Amount = 4},
4895+ new Currency {Amount = 3},
4896+ new Currency {Amount = 2},
4897+ new Currency {Amount = 1}
4898+ };
4899+ ValidateArgs.Begin()
4900+ .IsEqual(currency, collection)
4901+ .Check();
4902+ }
4903+
4904+ [Test]
4905+ [ExpectedException(typeof(ValidationException))]
4906+ public void IsEqualCollectionFalseTest()
4907+ {
4908+ var currency = new Currency { Amount = 8 };
4909+ var collection = new List<Currency>
4910+ {
4911+ new Currency {Amount = 4},
4912+ new Currency {Amount = 3},
4913+ new Currency {Amount = 2},
4914+ new Currency {Amount = 1}
4915+ };
4916+ ValidateArgs.Begin()
4917+ .IsEqual(currency, collection)
4918+ .Check();
4919+ }
4920+
4921+ [TestCase(2)]
4922+ [TestCase(25)]
4923+ public void IsEqualIComparableTrueTest(int amount)
4924+ {
4925+ var firstCurrency = new Currency {Amount = amount};
4926+ var secondCurrency = new Currency { Amount = amount };
4927+ ValidateArgs.Begin()
4928+ .IsEqual<ICurrency>(firstCurrency, secondCurrency)
4929+ .Check();
4930+ }
4931+
4932+ [TestCase(3, 5)]
4933+ [TestCase(34, 77)]
4934+ [ExpectedException(typeof(ValidationException))]
4935+ public void IsEqualIComparableFalseTest(int firstAmount, int secondAmount)
4936+ {
4937+ var firstCurrency = new Currency { Amount = firstAmount };
4938+ var secondCurrency = new Currency { Amount = secondAmount };
4939+ ValidateArgs.Begin()
4940+ .IsEqual<ICurrency>(firstCurrency, secondCurrency)
4941+ .Check();
4942+ }
4943+
4944+ [TestCase(2)]
4945+ [TestCase(25)]
4946+ [ExpectedException(typeof(ValidationException))]
4947+ public void IsNotEqualFalseTest(int amount)
4948+ {
4949+ var firstCurrency = new Currency { Amount = amount };
4950+ var secondCurrency = new Currency { Amount = amount };
4951+ ValidateArgs.Begin()
4952+ .IsNotEqual<ICurrency>(firstCurrency, secondCurrency)
4953+ .Check();
4954+ }
4955+
4956+ [TestCase(3, 5)]
4957+ [TestCase(34, 77)]
4958+ public void IsNotEqualTrueTest(int firstAmount, int secondAmount)
4959+ {
4960+ var firstCurrency = new Currency { Amount = firstAmount };
4961+ var secondCurrency = new Currency { Amount = secondAmount };
4962+ ValidateArgs.Begin()
4963+ .IsNotEqual<ICurrency>(firstCurrency, secondCurrency)
4964+ .Check();
4965+ }
4966+
4967+ [Test]
4968+ public void IsNotEqualCollectionTrueTest()
4969+ {
4970+ var currency = new Currency { Amount = 8 };
4971+ var collection = new List<Currency>
4972+ {
4973+ new Currency {Amount = 4},
4974+ new Currency {Amount = 3},
4975+ new Currency {Amount = 2},
4976+ new Currency {Amount = 1}
4977+ };
4978+ ValidateArgs.Begin()
4979+ .IsNotEqual(currency, collection)
4980+ .Check();
4981+ }
4982+
4983+ [Test]
4984+ [ExpectedException(typeof(ValidationException))]
4985+ public void IsNotEqualCollectionFalseTest()
4986+ {
4987+ var currency = new Currency { Amount = 4 };
4988+ var collection = new List<Currency>
4989+ {
4990+ new Currency {Amount = 4},
4991+ new Currency {Amount = 3},
4992+ new Currency {Amount = 2},
4993+ new Currency {Amount = 1}
4994+ };
4995+ ValidateArgs.Begin()
4996+ .IsNotEqual(currency, collection)
4997+ .Check();
4998+ }
4999+
5000+ [TestCase("Manuel", "M.*")]
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to all changes: