|
From: <jer...@us...> - 2009-12-26 05:46:06
|
Revision: 296
http://structuremap.svn.sourceforge.net/structuremap/?rev=296&view=rev
Author: jeremydmiller
Date: 2009-12-26 05:45:56 +0000 (Sat, 26 Dec 2009)
Log Message:
-----------
Big R# code cleanup after the big re-architecture
Modified Paths:
--------------
trunk/Source/StructureMap/Attributes/PluggableAttribute.cs
trunk/Source/StructureMap/Attributes/PluginFamilyAttribute.cs
trunk/Source/StructureMap/BuildSession.cs
trunk/Source/StructureMap/CloseGenericTypeExpression.cs
trunk/Source/StructureMap/Configuration/DSL/Expressions/CreatePluginFamilyExpression.cs
trunk/Source/StructureMap/Configuration/DSL/Expressions/GenericFamilyExpression.cs
trunk/Source/StructureMap/Configuration/DSL/Expressions/InstanceExpression.cs
trunk/Source/StructureMap/Configuration/DSL/Expressions/ProfileExpression.cs
trunk/Source/StructureMap/Configuration/DSL/Registry.cs
trunk/Source/StructureMap/Configuration/DSL/SetterConvention.cs
trunk/Source/StructureMap/Configuration/GraphBuilder.cs
trunk/Source/StructureMap/Configuration/XmlConstants.cs
trunk/Source/StructureMap/ConfigurationExpression.cs
trunk/Source/StructureMap/Construction/InstanceBuilder.cs
trunk/Source/StructureMap/Container.cs
trunk/Source/StructureMap/Diagnostics/Doctor.cs
trunk/Source/StructureMap/Diagnostics/GraphLog.cs
trunk/Source/StructureMap/Diagnostics/InstanceToken.cs
trunk/Source/StructureMap/Exceptions/StructureMapException.cs
trunk/Source/StructureMap/ExplicitArgsExpression.cs
trunk/Source/StructureMap/Extensions.cs
trunk/Source/StructureMap/Graph/AssemblyScanner.cs
trunk/Source/StructureMap/Graph/FindAllTypesFilter.cs
trunk/Source/StructureMap/Graph/GenericsPluginGraph.cs
trunk/Source/StructureMap/Graph/IHeavyweightTypeScanner.cs
trunk/Source/StructureMap/Graph/IPluginFamily.cs
trunk/Source/StructureMap/Graph/Plugin.cs
trunk/Source/StructureMap/Graph/PluginCache.cs
trunk/Source/StructureMap/Graph/PluginFamily.cs
trunk/Source/StructureMap/Graph/PluginGraph.cs
trunk/Source/StructureMap/Graph/SetterProperty.cs
trunk/Source/StructureMap/Graph/SetterPropertyCollection.cs
trunk/Source/StructureMap/Graph/SingleImplementationScanner.cs
trunk/Source/StructureMap/Graph/TypePath.cs
trunk/Source/StructureMap/IContainer.cs
trunk/Source/StructureMap/IContext.cs
trunk/Source/StructureMap/IInstanceFactory.cs
trunk/Source/StructureMap/InitializationExpression.cs
trunk/Source/StructureMap/InstanceCache.cs
trunk/Source/StructureMap/InstanceFactory.cs
trunk/Source/StructureMap/InstanceMemento.cs
trunk/Source/StructureMap/Interceptors/FilteredInstanceInterceptor.cs
trunk/Source/StructureMap/MementoSource.cs
trunk/Source/StructureMap/MemoryInstanceMemento.cs
trunk/Source/StructureMap/Model.cs
trunk/Source/StructureMap/ObjectFactory.cs
trunk/Source/StructureMap/Pipeline/BuildFrame.cs
trunk/Source/StructureMap/Pipeline/BuildStack.cs
trunk/Source/StructureMap/Pipeline/ConditionalInstance.cs
trunk/Source/StructureMap/Pipeline/ConfiguredInstance.Expressions.cs
trunk/Source/StructureMap/Pipeline/ConfiguredInstance.cs
trunk/Source/StructureMap/Pipeline/ConstructorInstance.cs
trunk/Source/StructureMap/Pipeline/DefaultInstance.cs
trunk/Source/StructureMap/Pipeline/EnumerableInstance.cs
trunk/Source/StructureMap/Pipeline/ExplicitArguments.cs
trunk/Source/StructureMap/Pipeline/IEnumerableCoercion.cs
trunk/Source/StructureMap/Pipeline/IObjectCache.cs
trunk/Source/StructureMap/Pipeline/Instance.cs
trunk/Source/StructureMap/Pipeline/LambdaInstance.cs
trunk/Source/StructureMap/Pipeline/NulloObjectCache.cs
trunk/Source/StructureMap/Pipeline/ObjectBuilder.cs
trunk/Source/StructureMap/Pipeline/ObjectInstance.cs
trunk/Source/StructureMap/Pipeline/Profile.cs
trunk/Source/StructureMap/Pipeline/ProfileManager.cs
trunk/Source/StructureMap/Pipeline/PropertyExpression.cs
trunk/Source/StructureMap/Pipeline/PrototypeInstance.cs
trunk/Source/StructureMap/Pipeline/ReferencedInstance.cs
trunk/Source/StructureMap/Pipeline/SerializedInstance.cs
trunk/Source/StructureMap/Pipeline/SmartInstance.cs
trunk/Source/StructureMap/Pipeline/ThreadLocalStorageLifecycle.cs
trunk/Source/StructureMap/PipelineGraph.cs
trunk/Source/StructureMap/Properties/AssemblyInfo.cs
trunk/Source/StructureMap/ReflectionHelper.cs
trunk/Source/StructureMap/Source/DirectoryXmlMementoSource.cs
trunk/Source/StructureMap/Source/SingleEmbeddedXmlMementoSource.cs
trunk/Source/StructureMap/Source/TemplatedMementoSource.cs
trunk/Source/StructureMap/Source/XmlAttributeInstanceMemento.cs
trunk/Source/StructureMap/Source/XmlFileMementoSource.cs
trunk/Source/StructureMap/Source/XmlMementoSource.cs
trunk/Source/StructureMap/Source/XmlNodeInstanceMemento.cs
trunk/Source/StructureMap/Source/XmlTemplater.cs
trunk/Source/StructureMap/StructureMapConfiguration.cs
trunk/Source/StructureMap/SystemRegistry.cs
trunk/Source/StructureMap/TypeExtensions.cs
trunk/Source/StructureMap/Util/Cache.cs
trunk/Source/StructureMap.AutoMocking/AutoMockedContainer.cs
trunk/Source/StructureMap.AutoMocking/AutoMocker.cs
trunk/Source/StructureMap.AutoMocking/MoqFactory.cs
trunk/Source/StructureMap.AutoMocking/RhinoAutoMocker.cs
trunk/Source/StructureMap.AutoMocking/RhinoMockRepositoryProxy.cs
trunk/Source/StructureMap.AutoMocking/ServiceLocator.cs
trunk/Source/StructureMap.DebuggerVisualizers/ContainerDetail.cs
trunk/Source/StructureMap.DebuggerVisualizers/ContainerForm.cs
trunk/Source/StructureMap.DebuggerVisualizers/ContainerVisualizer.cs
trunk/Source/StructureMap.DebuggerVisualizers/ContainerVisualizerObjectSource.cs
trunk/Source/StructureMap.DebuggerVisualizers/DisplayHelper.cs
trunk/Source/StructureMap.DebuggerVisualizers/Properties/AssemblyInfo.cs
trunk/Source/StructureMap.DebuggerVisualizers.Testing/Program.cs
trunk/Source/StructureMap.DebuggerVisualizers.Testing/Properties/AssemblyInfo.cs
trunk/Source/StructureMap.DebuggerVisualizers.Testing/SampleTypes.cs
trunk/Source/StructureMap.DebuggerVisualizers.Testing/VisualizerTests.cs
trunk/Source/StructureMap.DeploymentTasks/AddAssembly.cs
trunk/Source/StructureMap.DeploymentTasks/SetOverrideTask.cs
trunk/Source/StructureMap.DeploymentTasks/SubstitutionTask.cs
trunk/Source/StructureMap.DeploymentTasks/Versioning/CheckVersionTask.cs
trunk/Source/StructureMap.DeploymentTasks/Versioning/DeployedDirectory.cs
trunk/Source/StructureMap.DeploymentTasks/Versioning/DeployedFile.cs
trunk/Source/StructureMap.DeploymentTasks/Versioning/DotNetAssembly.cs
trunk/Source/StructureMap.DeploymentTasks/Versioning/GenerateVersionReport.cs
trunk/Source/StructureMap.Testing/AutoMocking/MoqAutoMockerTester.cs
trunk/Source/StructureMap.Testing/AutoWiringExamples.cs
trunk/Source/StructureMap.Testing/Bugs/BuildUpBug.cs
trunk/Source/StructureMap.Testing/Bugs/IDictionaryAndXmlBugTester.cs
trunk/Source/StructureMap.Testing/Bugs/SingletonShouldBeLazy.cs
trunk/Source/StructureMap.Testing/Bugs/SpecifyScopeInConfigureTester.cs
trunk/Source/StructureMap.Testing/Configuration/DSL/AddInstanceTester.cs
trunk/Source/StructureMap.Testing/Configuration/DictionaryAndArrayArgumentTester.cs
trunk/Source/StructureMap.Testing/Diagnostics/DoctorTester.cs
trunk/Source/StructureMap.Testing/Diagnostics/ValidationBuildSessionTester.cs
trunk/Source/StructureMap.Testing/Examples/BuildUp.cs
trunk/Source/StructureMap.Testing/Examples/Interception.cs
trunk/Source/StructureMap.Testing/Examples/RegisteringWithTheAPI.cs
trunk/Source/StructureMap.Testing/Examples.cs
trunk/Source/StructureMap.Testing/GenericsAcceptanceTester.cs
trunk/Source/StructureMap.Testing/GenericsIntegrationTester.cs
trunk/Source/StructureMap.Testing/Graph/ArrayConstructorTester.cs
trunk/Source/StructureMap.Testing/Graph/AssemblyScannerTester.cs
trunk/Source/StructureMap.Testing/Graph/ContainerTester.cs
trunk/Source/StructureMap.Testing/Graph/ConventionBasedSetterInjectionTester.cs
trunk/Source/StructureMap.Testing/Graph/DefaultConventionScanningTester.cs
trunk/Source/StructureMap.Testing/Graph/DynamicInjectionTester.cs
trunk/Source/StructureMap.Testing/Graph/FillDependenciesTester.cs
trunk/Source/StructureMap.Testing/Graph/FullStackFacadeTester.cs
trunk/Source/StructureMap.Testing/Graph/GenericsPluginGraphTester.cs
trunk/Source/StructureMap.Testing/Graph/InstanceFactoryTester.cs
trunk/Source/StructureMap.Testing/Graph/InstanceTarget.cs
trunk/Source/StructureMap.Testing/Graph/Interceptors/CompoundInterceptorTester.cs
trunk/Source/StructureMap.Testing/Graph/Interceptors/TypeInterceptionTester.cs
trunk/Source/StructureMap.Testing/Graph/ParameterInfoCollection.cs
trunk/Source/StructureMap.Testing/Graph/PluginFamilyTester.cs
trunk/Source/StructureMap.Testing/Graph/PluginTester.cs
trunk/Source/StructureMap.Testing/Graph/SetterInjectionEmittingTester.cs
trunk/Source/StructureMap.Testing/Graph/SingleImplementationScannerTester.cs
trunk/Source/StructureMap.Testing/Graph/Source/XmlMementoSourceTester.cs
trunk/Source/StructureMap.Testing/Graph/TestExplicitArguments.cs
trunk/Source/StructureMap.Testing/Graph/TypeFindingTester.cs
trunk/Source/StructureMap.Testing/Graph/TypePathTester.cs
trunk/Source/StructureMap.Testing/InstanceCacheTester.cs
trunk/Source/StructureMap.Testing/InstanceMementoInstanceCreationTester.cs
trunk/Source/StructureMap.Testing/MementoTester.cs
trunk/Source/StructureMap.Testing/ModelQueryTester.cs
trunk/Source/StructureMap.Testing/ObjectFactoryInitializeTester.cs
trunk/Source/StructureMap.Testing/ObjectFactoryTester.cs
trunk/Source/StructureMap.Testing/PerRequestInterceptorTester.cs
trunk/Source/StructureMap.Testing/Pipeline/BuildStackTester.cs
trunk/Source/StructureMap.Testing/Pipeline/BuildStrategiesTester.cs
trunk/Source/StructureMap.Testing/Pipeline/ConditionalInstanceTester.cs
trunk/Source/StructureMap.Testing/Pipeline/ConfiguredInstanceTester.cs
trunk/Source/StructureMap.Testing/Pipeline/ConstructorInstanceTester.cs
trunk/Source/StructureMap.Testing/Pipeline/ContainerDisposalTester.cs
trunk/Source/StructureMap.Testing/Pipeline/ContainerIsInTheContainerTester.cs
trunk/Source/StructureMap.Testing/Pipeline/DefaultInstanceTester.cs
trunk/Source/StructureMap.Testing/Pipeline/EnumerableInstanceTester.cs
trunk/Source/StructureMap.Testing/Pipeline/GenericsHelperExpressionTester.cs
trunk/Source/StructureMap.Testing/Pipeline/HybridBuildLifecycleTester.cs
trunk/Source/StructureMap.Testing/Pipeline/MissingInstanceTester.cs
trunk/Source/StructureMap.Testing/Pipeline/NestedContainerSupportTester.cs
trunk/Source/StructureMap.Testing/Pipeline/ObjectBuilderTester.cs
trunk/Source/StructureMap.Testing/Pipeline/OptionalSetterInjectionTester.cs
trunk/Source/StructureMap.Testing/Pipeline/ProfileManagerTester.cs
trunk/Source/StructureMap.Testing/Pipeline/PrototypeInstanceTester.cs
trunk/Source/StructureMap.Testing/Pipeline/RedirectTester.cs
trunk/Source/StructureMap.Testing/Pipeline/RedirectingTester.cs
trunk/Source/StructureMap.Testing/Pipeline/SmartInstanceTester.cs
trunk/Source/StructureMap.Testing/Pipeline/StubBuildSession.cs
trunk/Source/StructureMap.Testing/Pipeline/ThreadLocalStorageLifecycleTester.cs
trunk/Source/StructureMap.Testing/PrimitiveArrayTester.cs
trunk/Source/StructureMap.Testing/ReadingRegistriesFromXmlTester.cs
trunk/Source/StructureMap.Testing/SpecificationExtensions.cs
trunk/Source/StructureMap.Testing/StructureMapConfigurationTester.cs
trunk/Source/StructureMap.Testing/TestData/DataMother.cs
trunk/Source/StructureMap.Testing/TypeExtensionsTester.cs
trunk/Source/StructureMap.Testing/Util/CacheTester.cs
trunk/Source/StructureMap.Testing/XmlWriting/ElementChecker.cs
trunk/Source/StructureMap.Testing.GenericWidgets/Widgets.cs
trunk/Source/StructureMap.Testing.Widget/ArrayConstruction.cs
trunk/Source/StructureMap.Testing.Widget/Columns.cs
trunk/Source/StructureMap.Testing.Widget/Hierarchy.cs
trunk/Source/StructureMap.Testing.Widget/IWidget.cs
trunk/Source/StructureMap.Testing.Widget/Rule.cs
trunk/Source/StructureMap.Testing.Widget/WidgetMaker.cs
trunk/Source/StructureMap.Testing.Widget3/Gateways.cs
trunk/Source/StructureMap.Testing.Widget3/IService.cs
trunk/Source/StructureMap.Testing.Widget5/AutoFilledGridColumn.cs
trunk/Source/StructureMap.Testing.Widget5/BasicGridColumn.cs
trunk/Source/StructureMap.Testing.Widget5/CannotBeAutoFilledGridColumn.cs
trunk/Source/StructureMap.Testing.Widget5/OtherGridColumn.cs
trunk/Source/StructureMapDoctor/Program.cs
trunk/Source/TableOfContentsBuilder/Program.cs
trunk/Source/TableOfContentsBuilder/Properties/AssemblyInfo.cs
Modified: trunk/Source/StructureMap/Attributes/PluggableAttribute.cs
===================================================================
--- trunk/Source/StructureMap/Attributes/PluggableAttribute.cs 2009-12-26 05:37:13 UTC (rev 295)
+++ trunk/Source/StructureMap/Attributes/PluggableAttribute.cs 2009-12-26 05:45:56 UTC (rev 296)
@@ -26,7 +26,7 @@
/// <returns></returns>
public static bool MarkedAsPluggable(Type objectType)
{
- PluggableAttribute att = GetCustomAttribute(objectType, typeof (PluggableAttribute), false) as PluggableAttribute;
+ var att = GetCustomAttribute(objectType, typeof (PluggableAttribute), false) as PluggableAttribute;
return (att != null);
}
}
Modified: trunk/Source/StructureMap/Attributes/PluginFamilyAttribute.cs
===================================================================
--- trunk/Source/StructureMap/Attributes/PluginFamilyAttribute.cs 2009-12-26 05:37:13 UTC (rev 295)
+++ trunk/Source/StructureMap/Attributes/PluginFamilyAttribute.cs 2009-12-26 05:45:56 UTC (rev 296)
@@ -26,11 +26,7 @@
/// If set, determines the shared "scope" of the instance -- PerRequest, Singleton, ThreadLocal,
/// HttpContext, etc.
/// </summary>
- public InstanceScope Scope
- {
- get { return _scope; }
- set { _scope = value; }
- }
+ public InstanceScope Scope { get { return _scope; } set { _scope = value; } }
public Type SourceType { get; set; }
@@ -38,20 +34,13 @@
/// InstanceKey of the default instance. Used to implicitly define the default without
/// declaring the instance in StructureMap.config
/// </summary>
- public string DefaultKey
- {
- get { return _default; }
- }
+ public string DefaultKey { get { return _default; } }
/// <summary>
/// Declares the target to be built by StructureMap as a Singleton. One object instance will
/// be created for each named instance
/// </summary>
- public bool IsSingleton
- {
- get { return _scope == InstanceScope.Singleton; }
- set { _scope = value ? InstanceScope.Singleton : InstanceScope.PerRequest; }
- }
+ public bool IsSingleton { get { return _scope == InstanceScope.Singleton; } set { _scope = value ? InstanceScope.Singleton : InstanceScope.PerRequest; } }
/// <summary>
Modified: trunk/Source/StructureMap/BuildSession.cs
===================================================================
--- trunk/Source/StructureMap/BuildSession.cs 2009-12-26 05:37:13 UTC (rev 295)
+++ trunk/Source/StructureMap/BuildSession.cs 2009-12-26 05:45:56 UTC (rev 296)
@@ -1,21 +1,20 @@
using System;
-using System.Collections;
using System.Collections.Generic;
+using System.Linq;
using StructureMap.Graph;
using StructureMap.Interceptors;
using StructureMap.Pipeline;
using StructureMap.Util;
-using System.Linq;
namespace StructureMap
{
public class BuildSession : IContext
{
- protected BuildStack _buildStack = new BuildStack();
+ private readonly ObjectBuilder _builder;
private readonly InstanceCache _cache = new InstanceCache();
private readonly Cache<Type, Func<object>> _defaults;
private readonly PipelineGraph _pipelineGraph;
- private readonly ObjectBuilder _builder;
+ protected BuildStack _buildStack = new BuildStack();
public BuildSession(PipelineGraph pipelineGraph, InterceptorLibrary interceptorLibrary, IObjectCache cache)
{
@@ -45,28 +44,13 @@
{
}
- protected void clearBuildStack()
- {
- _buildStack = new BuildStack();
- }
+ protected PipelineGraph pipelineGraph { get { return _pipelineGraph; } }
- protected PipelineGraph pipelineGraph
- {
- get { return _pipelineGraph; }
- }
-
#region IContext Members
- public string RequestedName
- {
- get;
- set;
- }
+ public string RequestedName { get; set; }
- public BuildStack BuildStack
- {
- get { return _buildStack; }
- }
+ public BuildStack BuildStack { get { return _buildStack; } }
public Type ParentType
{
@@ -87,10 +71,7 @@
return (T) CreateInstance(typeof (T), name);
}
- BuildFrame IContext.Root
- {
- get { return _buildStack.Root; }
- }
+ BuildFrame IContext.Root { get { return _buildStack.Root; } }
public virtual void RegisterDefault(Type pluginType, object defaultObject)
{
@@ -122,9 +103,17 @@
return list;
}
+ #endregion
+ public IEnumerable<T> GetAllInstances<T>()
+ {
+ return forType(typeof (T)).AllInstances.Select(x => GetInstance<T>());
+ }
- #endregion
+ protected void clearBuildStack()
+ {
+ _buildStack = new BuildStack();
+ }
public virtual object CreateInstance(Type pluginType, string name)
{
@@ -147,7 +136,7 @@
result = _builder.Resolve(pluginType, instance, this);
// TODO: HACK ATTACK!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- var isUnique = forType(pluginType).Lifecycle is UniquePerRequestLifecycle;
+ bool isUnique = forType(pluginType).Lifecycle is UniquePerRequestLifecycle;
if (!isUnique)
{
_cache.Set(pluginType, instance, result);
@@ -176,11 +165,6 @@
return array;
}
- public IEnumerable<T> GetAllInstances<T>()
- {
- return forType(typeof (T)).AllInstances.Select(x => GetInstance<T>());
- }
-
public IEnumerable<object> GetAllInstances(Type pluginType)
{
return forType(pluginType).AllInstances.Select(x => CreateInstance(pluginType, x));
Modified: trunk/Source/StructureMap/CloseGenericTypeExpression.cs
===================================================================
--- trunk/Source/StructureMap/CloseGenericTypeExpression.cs 2009-12-26 05:37:13 UTC (rev 295)
+++ trunk/Source/StructureMap/CloseGenericTypeExpression.cs 2009-12-26 05:45:56 UTC (rev 296)
@@ -15,10 +15,11 @@
IList<T> As<T>();
}
- public class CloseGenericTypeExpression : OpenGenericTypeSpecificationExpression, OpenGenericTypeListSpecificationExpression
+ public class CloseGenericTypeExpression : OpenGenericTypeSpecificationExpression,
+ OpenGenericTypeListSpecificationExpression
{
+ private readonly IContainer _container;
private readonly object _subject;
- private readonly IContainer _container;
private Type _pluginType;
public CloseGenericTypeExpression(object subject, IContainer container)
@@ -27,7 +28,29 @@
_container = container;
}
+ IList<T> OpenGenericTypeListSpecificationExpression.As<T>()
+ {
+ IList list = _container.With(_subject.GetType(), _subject).GetAllInstances(_pluginType);
+ var returnValue = new List<T>();
+ foreach (object o in list)
+ {
+ returnValue.Add((T) o);
+ }
+
+ return returnValue;
+ }
+
/// <summary>
+ /// specify what type you'd like the service returned as
+ /// </summary>
+ /// <typeparam name="T"></typeparam>
+ /// <returns></returns>
+ T OpenGenericTypeSpecificationExpression.As<T>()
+ {
+ return (T) _container.With(_subject.GetType(), _subject).GetInstance(_pluginType);
+ }
+
+ /// <summary>
/// Specify the open generic type that should have a single generic parameter
/// </summary>
/// <param name="type"></param>
@@ -48,32 +71,10 @@
_pluginType = type.MakeGenericType(_subject.GetType());
}
- /// <summary>
- /// specify what type you'd like the service returned as
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <returns></returns>
- T OpenGenericTypeSpecificationExpression.As<T>()
- {
- return (T) _container.With(_subject.GetType(), _subject).GetInstance(_pluginType);
- }
-
public OpenGenericTypeListSpecificationExpression GetAllClosedTypesOf(Type type)
{
closeType(type);
return this;
}
-
- IList<T> OpenGenericTypeListSpecificationExpression.As<T>()
- {
- IList list = _container.With(_subject.GetType(), _subject).GetAllInstances(_pluginType);
- var returnValue = new List<T>();
- foreach (var o in list)
- {
- returnValue.Add((T) o);
- }
-
- return returnValue;
- }
}
}
\ No newline at end of file
Modified: trunk/Source/StructureMap/Configuration/DSL/Expressions/CreatePluginFamilyExpression.cs
===================================================================
--- trunk/Source/StructureMap/Configuration/DSL/Expressions/CreatePluginFamilyExpression.cs 2009-12-26 05:37:13 UTC (rev 295)
+++ trunk/Source/StructureMap/Configuration/DSL/Expressions/CreatePluginFamilyExpression.cs 2009-12-26 05:45:56 UTC (rev 296)
@@ -33,18 +33,9 @@
/// <summary>
/// Define the Default Instance for this PluginType
/// </summary>
- public IsExpression<PLUGINTYPE> TheDefault
- {
- get { return new InstanceExpression<PLUGINTYPE>(i => registerDefault(i)); }
- }
+ public IsExpression<PLUGINTYPE> TheDefault { get { return new InstanceExpression<PLUGINTYPE>(i => registerDefault(i)); } }
- public InstanceExpression<PLUGINTYPE> MissingNamedInstanceIs
- {
- get
- {
- return new InstanceExpression<PLUGINTYPE>(i => _alterations.Add(family => family.MissingInstance = i));
- }
- }
+ public InstanceExpression<PLUGINTYPE> MissingNamedInstanceIs { get { return new InstanceExpression<PLUGINTYPE>(i => _alterations.Add(family => family.MissingInstance = i)); } }
/// <summary>
/// Add multiple Instance's to this PluginType
@@ -93,7 +84,7 @@
{
throw new StructureMapException(231);
}
-
+
return alterAndContinue(family =>
{
ConfiguredInstance instance =
@@ -113,9 +104,9 @@
// This is *my* team's naming convention for generic parameters
// I know you may not like it, but it's my article so there
var instance = new SmartInstance<CONCRETETYPE>();
-
+
registerDefault(instance);
-
+
return instance;
}
@@ -223,7 +214,8 @@
_children.Add(
graph =>
{
- var typeInterceptor = new PluginTypeInterceptor(typeof(PLUGINTYPE), (c, o) => interceptor.Process(o, c));
+ var typeInterceptor = new PluginTypeInterceptor(typeof (PLUGINTYPE),
+ (c, o) => interceptor.Process(o, c));
graph.InterceptorLibrary.AddInterceptor(typeInterceptor);
});
@@ -243,11 +235,11 @@
{
Func<IContext, object, object> function = (c, o) =>
{
- handler(c, (PLUGINTYPE)o);
+ handler(c, (PLUGINTYPE) o);
return o;
};
- var interceptor = new PluginTypeInterceptor(typeof(PLUGINTYPE), function);
+ var interceptor = new PluginTypeInterceptor(typeof (PLUGINTYPE), function);
graph.InterceptorLibrary.AddInterceptor(interceptor);
});
@@ -290,7 +282,8 @@
_children.Add(
graph =>
{
- var interceptor = new PluginTypeInterceptor(typeof(PLUGINTYPE), (c, o) => handler(c, (PLUGINTYPE)o));
+ var interceptor = new PluginTypeInterceptor(typeof (PLUGINTYPE),
+ (c, o) => handler(c, (PLUGINTYPE) o));
graph.InterceptorLibrary.AddInterceptor(interceptor);
});
@@ -306,7 +299,7 @@
/// <returns></returns>
public CreatePluginFamilyExpression<PLUGINTYPE> AddConcreteType<PLUGGEDTYPE>()
{
- if (!PluginCache.GetPlugin(typeof(PLUGGEDTYPE)).CanBeAutoFilled)
+ if (!PluginCache.GetPlugin(typeof (PLUGGEDTYPE)).CanBeAutoFilled)
{
throw new StructureMapException(231);
}
@@ -363,7 +356,7 @@
/// <returns></returns>
public CreatePluginFamilyExpression<PLUGINTYPE> AlwaysUnique()
{
- return this.LifecycleIs(new UniquePerRequestLifecycle());
+ return LifecycleIs(new UniquePerRequestLifecycle());
}
}
}
\ No newline at end of file
Modified: trunk/Source/StructureMap/Configuration/DSL/Expressions/GenericFamilyExpression.cs
===================================================================
--- trunk/Source/StructureMap/Configuration/DSL/Expressions/GenericFamilyExpression.cs 2009-12-26 05:37:13 UTC (rev 295)
+++ trunk/Source/StructureMap/Configuration/DSL/Expressions/GenericFamilyExpression.cs 2009-12-26 05:45:56 UTC (rev 296)
@@ -80,7 +80,7 @@
return instance;
}
-
+
/// <summary>
/// Shortcut method to add an additional Instance to this Plugin Type
/// as just a Concrete Type. This will only work if the Concrete Type
Modified: trunk/Source/StructureMap/Configuration/DSL/Expressions/InstanceExpression.cs
===================================================================
--- trunk/Source/StructureMap/Configuration/DSL/Expressions/InstanceExpression.cs 2009-12-26 05:37:13 UTC (rev 295)
+++ trunk/Source/StructureMap/Configuration/DSL/Expressions/InstanceExpression.cs 2009-12-26 05:45:56 UTC (rev 296)
@@ -166,7 +166,7 @@
/// <param name="template"></param>
/// <returns></returns>
SerializedInstance SerializedCopyOf(T template);
-
+
/// <summary>
/// Creates an Instance that will load an ASCX user control from the url
/// </summary>
@@ -183,7 +183,7 @@
ConditionalInstance<T> Conditional(Action<ConditionalInstance<T>.ConditionalInstanceExpression> configuration);
}
- public class InstanceExpression<T> : IInstanceExpression<T>, ThenItExpression<T>
+ public class InstanceExpression<T> : IInstanceExpression<T>, ThenItExpression<T>
{
private readonly Action<Instance> _action;
@@ -194,10 +194,7 @@
#region IsExpression<T> Members
- IInstanceExpression<T> IsExpression<T>.Is
- {
- get { return this; }
- }
+ IInstanceExpression<T> IsExpression<T>.Is { get { return this; } }
public void IsThis(Instance instance)
{
@@ -216,12 +213,6 @@
_action(instance);
}
- private INSTANCE returnInstance<INSTANCE>(INSTANCE instance) where INSTANCE : Instance
- {
- Instance(instance);
- return instance;
- }
-
public SmartInstance<PLUGGEDTYPE> OfConcreteType<PLUGGEDTYPE>() where PLUGGEDTYPE : T
{
return returnInstance(new SmartInstance<PLUGGEDTYPE>());
@@ -272,15 +263,19 @@
return returnInstance(new UserControlInstance(url));
}
- public ConditionalInstance<T> Conditional(Action<ConditionalInstance<T>.ConditionalInstanceExpression> configuration)
+ public ConditionalInstance<T> Conditional(
+ Action<ConditionalInstance<T>.ConditionalInstanceExpression> configuration)
{
return returnInstance(new ConditionalInstance<T>(configuration));
}
- IsExpression<T> ThenItExpression<T>.ThenIt
+ IsExpression<T> ThenItExpression<T>.ThenIt { get { return this; } }
+
+ private INSTANCE returnInstance<INSTANCE>(INSTANCE instance) where INSTANCE : Instance
{
- get { return this; }
+ Instance(instance);
+ return instance;
}
}
}
\ No newline at end of file
Modified: trunk/Source/StructureMap/Configuration/DSL/Expressions/ProfileExpression.cs
===================================================================
--- trunk/Source/StructureMap/Configuration/DSL/Expressions/ProfileExpression.cs 2009-12-26 05:37:13 UTC (rev 295)
+++ trunk/Source/StructureMap/Configuration/DSL/Expressions/ProfileExpression.cs 2009-12-26 05:45:56 UTC (rev 296)
@@ -3,8 +3,6 @@
namespace StructureMap.Configuration.DSL.Expressions
{
-
-
/// <summary>
/// Expression class to help define a runtime Profile
/// </summary>
@@ -39,13 +37,9 @@
/// <returns></returns>
public IsExpression<T> Type<T>()
{
- return new InstanceExpression<T>(instance =>
- {
- _registry.addExpression(graph =>
- {
- graph.SetDefault(_profileName, typeof(T), instance);
- });
- });
+ return
+ new InstanceExpression<T>(
+ instance => { _registry.addExpression(graph => { graph.SetDefault(_profileName, typeof (T), instance); }); });
}
/// <summary>
@@ -117,7 +111,6 @@
#region Nested type: InstanceDefaultExpression
-
/// <summary>
/// Expression Builder within defining a Profile
/// </summary>
@@ -194,7 +187,6 @@
var instance = new ConfiguredInstance(typeof (CONCRETETYPE));
return Use(instance);
}
-
}
#endregion
Modified: trunk/Source/StructureMap/Configuration/DSL/Registry.cs
===================================================================
--- trunk/Source/StructureMap/Configuration/DSL/Registry.cs 2009-12-26 05:37:13 UTC (rev 295)
+++ trunk/Source/StructureMap/Configuration/DSL/Registry.cs 2009-12-26 05:45:56 UTC (rev 296)
@@ -8,8 +8,6 @@
namespace StructureMap.Configuration.DSL
{
-
-
/// <summary>
/// A Registry class provides methods and grammars for configuring a Container or ObjectFactory.
/// Using a Registry subclass is the recommended way of configuring a StructureMap Container.
@@ -203,7 +201,7 @@
internal static bool IsPublicRegistry(Type type)
{
- if (type.Assembly == typeof(Registry).Assembly)
+ if (type.Assembly == typeof (Registry).Assembly)
{
return false;
}
@@ -295,30 +293,7 @@
return ForRequestedType<PLUGINTYPE>();
}
- #region Nested type: BuildWithExpression
-
/// <summary>
- /// Define the constructor and setter arguments for the default T
- /// </summary>
- /// <typeparam name="T"></typeparam>
- public class BuildWithExpression<T>
- {
- private readonly SmartInstance<T> _instance;
-
- public BuildWithExpression(SmartInstance<T> instance)
- {
- _instance = instance;
- }
-
- public SmartInstance<T> Configure
- {
- get { return _instance; }
- }
- }
-
- #endregion
-
- /// <summary>
/// Creates automatic "policies" for which public setters are considered mandatory
/// properties by StructureMap that will be "setter injected" as part of the
/// construction process.
@@ -337,7 +312,7 @@
/// <param name="expression"></param>
public void SelectConstructor<T>(Expression<Func<T>> expression)
{
- PluginCache.GetPlugin(typeof(T)).UseConstructor(expression);
+ PluginCache.GetPlugin(typeof (T)).UseConstructor(expression);
}
public void Forward<FROM, TO>() where FROM : class where TO : class
@@ -401,10 +376,32 @@
{
var raw = c.GetInstance<U>();
var t = raw as T;
- if (t == null) throw new ApplicationException(raw.GetType().AssemblyQualifiedName + " could not be cast to " + typeof(T).AssemblyQualifiedName);
+ if (t == null)
+ throw new ApplicationException(raw.GetType().AssemblyQualifiedName + " could not be cast to " +
+ typeof (T).AssemblyQualifiedName);
return t;
- });
+ });
}
+
+ #region Nested type: BuildWithExpression
+
+ /// <summary>
+ /// Define the constructor and setter arguments for the default T
+ /// </summary>
+ /// <typeparam name="T"></typeparam>
+ public class BuildWithExpression<T>
+ {
+ private readonly SmartInstance<T> _instance;
+
+ public BuildWithExpression(SmartInstance<T> instance)
+ {
+ _instance = instance;
+ }
+
+ public SmartInstance<T> Configure { get { return _instance; } }
+ }
+
+ #endregion
}
}
\ No newline at end of file
Modified: trunk/Source/StructureMap/Configuration/DSL/SetterConvention.cs
===================================================================
--- trunk/Source/StructureMap/Configuration/DSL/SetterConvention.cs 2009-12-26 05:37:13 UTC (rev 295)
+++ trunk/Source/StructureMap/Configuration/DSL/SetterConvention.cs 2009-12-26 05:45:56 UTC (rev 296)
@@ -1,7 +1,6 @@
using System;
using System.Reflection;
using StructureMap.Graph;
-using StructureMap;
using StructureMap.TypeRules;
namespace StructureMap.Configuration.DSL
@@ -20,7 +19,7 @@
{
Matching(prop => prop.PropertyType == typeof (T));
}
-
+
/// <summary>
/// Directs StructureMap to tread all public setters with
/// a PropertyType that matches the predicate as a
@@ -59,7 +58,7 @@
/// <typeparam name="T"></typeparam>
public void WithAnyTypeFromNamespaceContainingType<T>()
{
- WithAnyTypeFromNamespace(typeof(T).Namespace);
+ WithAnyTypeFromNamespace(typeof (T).Namespace);
}
/// <summary>
Modified: trunk/Source/StructureMap/Configuration/GraphBuilder.cs
===================================================================
--- trunk/Source/StructureMap/Configuration/GraphBuilder.cs 2009-12-26 05:37:13 UTC (rev 295)
+++ trunk/Source/StructureMap/Configuration/GraphBuilder.cs 2009-12-26 05:45:56 UTC (rev 296)
@@ -14,7 +14,8 @@
private readonly PluginGraph _systemGraph;
- public GraphBuilder(Registry[] registries) : this(registries, new PluginGraph())
+ public GraphBuilder(Registry[] registries)
+ : this(registries, new PluginGraph())
{
}
@@ -40,10 +41,7 @@
_pluginGraph.Seal();
}
- public PluginGraph PluginGraph
- {
- get { return _pluginGraph; }
- }
+ public PluginGraph PluginGraph { get { return _pluginGraph; } }
public void AddAssembly(string assemblyName)
{
@@ -60,10 +58,10 @@
public void AddRegistry(string registryTypeName)
{
- _pluginGraph.Log.Try(()=>
+ _pluginGraph.Log.Try(() =>
{
- var type = new TypePath(registryTypeName).FindType();
- Registry registry = (Registry) Activator.CreateInstance(type);
+ Type type = new TypePath(registryTypeName).FindType();
+ var registry = (Registry) Activator.CreateInstance(type);
registry.ConfigurePluginGraph(_pluginGraph);
}).AndReportErrorAs(290, registryTypeName);
}
Modified: trunk/Source/StructureMap/Configuration/XmlConstants.cs
===================================================================
--- trunk/Source/StructureMap/Configuration/XmlConstants.cs 2009-12-26 05:37:13 UTC (rev 295)
+++ trunk/Source/StructureMap/Configuration/XmlConstants.cs 2009-12-26 05:45:56 UTC (rev 296)
@@ -29,9 +29,9 @@
public const string PLUGIN_NODE = "Plugin";
public const string PLUGIN_TYPE = "PluginType";
public const string PROFILE_NODE = "Profile";
+ public const string REGISTRY = "Registry";
public const string SCOPE = "Scope";
public const string STRUCTUREMAP = "StructureMap";
public const string TYPE_ATTRIBUTE = "Type";
- public const string REGISTRY = "Registry";
}
}
\ No newline at end of file
Modified: trunk/Source/StructureMap/ConfigurationExpression.cs
===================================================================
--- trunk/Source/StructureMap/ConfigurationExpression.cs 2009-12-26 05:37:13 UTC (rev 295)
+++ trunk/Source/StructureMap/ConfigurationExpression.cs 2009-12-26 05:45:56 UTC (rev 296)
@@ -1,6 +1,4 @@
-using System;
using System.Collections.Generic;
-using System.Linq.Expressions;
using System.Xml;
using StructureMap.Configuration;
using StructureMap.Configuration.DSL;
@@ -33,10 +31,7 @@
/// If true, directs StructureMap to look for configuration in the App.config.
/// The default value is false.
/// </summary>
- public bool IncludeConfigurationFromConfigFile
- {
- set { _parserBuilder.UseAndEnforceExistenceOfDefaultFile = value; }
- }
+ public bool IncludeConfigurationFromConfigFile { set { _parserBuilder.UseAndEnforceExistenceOfDefaultFile = value; } }
/// <summary>
/// Creates and adds a Registry object of type T.
@@ -85,11 +80,5 @@
return builder.Build();
}
-
-
}
-
-
-
-
}
\ No newline at end of file
Modified: trunk/Source/StructureMap/Construction/InstanceBuilder.cs
===================================================================
--- trunk/Source/StructureMap/Construction/InstanceBuilder.cs 2009-12-26 05:37:13 UTC (rev 295)
+++ trunk/Source/StructureMap/Construction/InstanceBuilder.cs 2009-12-26 05:45:56 UTC (rev 296)
@@ -1,5 +1,4 @@
using System;
-using StructureMap.Pipeline;
namespace StructureMap.Construction
{
@@ -16,22 +15,19 @@
/// </summary>
public class InstanceBuilder : IInstanceBuilder
{
- private readonly Type _pluggedType;
- private readonly Func<IArguments, object> _constructor;
private readonly Action<IArguments, object> _buildUp;
+ private readonly Func<IArguments, object> _constructor;
+ private readonly Type _pluggedType;
- public InstanceBuilder(Type pluggedType, Func<IArguments, object> constructor, Action<IArguments, object> buildUp)
+ public InstanceBuilder(Type pluggedType, Func<IArguments, object> constructor,
+ Action<IArguments, object> buildUp)
{
_pluggedType = pluggedType;
_constructor = constructor;
_buildUp = buildUp;
}
- public Type PluggedType { get
- {
- return _pluggedType;
- }
- }
+ public Type PluggedType { get { return _pluggedType; } }
public virtual object BuildInstance(IArguments args)
{
Modified: trunk/Source/StructureMap/Container.cs
===================================================================
--- trunk/Source/StructureMap/Container.cs 2009-12-26 05:37:13 UTC (rev 295)
+++ trunk/Source/StructureMap/Container.cs 2009-12-26 05:45:56 UTC (rev 296)
@@ -145,7 +145,6 @@
}
-
/// <summary>
/// Creates or finds the default instance of type T
/// </summary>
@@ -163,7 +162,6 @@
}
-
/// <summary>
/// Creates or resolves all registered instances of type T
/// </summary>
@@ -302,7 +300,6 @@
}
-
/// <summary>
/// Creates or resolves all registered instances of the pluginType
/// </summary>
@@ -475,6 +472,55 @@
#endregion
+ /// <summary>
+ /// Injects the given object into a Container by name for the designated
+ /// pluginType. Mostly used for temporarily setting up return values of the Container
+ /// to introduce mocks or stubs during automated testing scenarios
+ /// </summary>
+ /// <typeparam name="T"></typeparam>
+ /// <param name="name"></param>
+ /// <param name="object"></param>
+ public void Inject<T>(string name, T @object)
+ {
+ ObjectInstance instance = new ObjectInstance(@object).WithName(name);
+ _transientCache.Set(typeof (T), instance, @object);
+ _pipelineGraph.AddInstance<T>(instance);
+ }
+
+ /// <summary>
+ /// Injects the given object into a Container as the default for the designated
+ /// pluginType. Mostly used for temporarily setting up return values of the Container
+ /// to introduce mocks or stubs during automated testing scenarios
+ /// </summary>
+ /// <param name="pluginType"></param>
+ /// <param name="object"></param>
+ public void Inject(Type pluginType, object @object)
+ {
+ if (!@object.GetType().CanBeCastTo(pluginType))
+ {
+ throw new StructureMapException(220, pluginType.FullName,
+ @object.GetType().FullName);
+ }
+
+
+ var instance = new ObjectInstance(@object);
+ _transientCache.Set(pluginType, instance, @object);
+ _pipelineGraph.SetDefault(pluginType, instance);
+ }
+
+ /// <summary>
+ /// Injects the given object into a Container as the default for the designated
+ /// PLUGINTYPE. Mostly used for temporarily setting up return values of the Container
+ /// to introduce mocks or stubs during automated testing scenarios
+ /// </summary>
+ /// <typeparam name="PLUGINTYPE"></typeparam>
+ /// <param name="object"></param>
+ public void Inject<PLUGINTYPE>(PLUGINTYPE @object)
+ {
+ Instance instance = _pipelineGraph.Inject(@object);
+ _transientCache.Set(typeof (PLUGINTYPE), instance, @object);
+ }
+
private object buildInstanceWithArgs(Type pluginType, Instance defaultInstance, ExplicitArguments args,
string requestedName)
{
@@ -534,7 +580,6 @@
}
-
private BuildSession withNewSession(string name)
{
return new BuildSession(_pipelineGraph, _interceptorLibrary, _transientCache)
@@ -543,6 +588,16 @@
};
}
+ /// <summary>
+ /// Sets the default instance for the PluginType
+ /// </summary>
+ /// <param name="pluginType"></param>
+ /// <param name="instance"></param>
+ public void Inject(Type pluginType, Instance instance)
+ {
+ _pipelineGraph.SetDefault(pluginType, instance);
+ }
+
#region Nested type: GetInstanceAsExpression
public interface GetInstanceAsExpression
@@ -588,65 +643,5 @@
}
#endregion
-
-
- /// <summary>
- /// Injects the given object into a Container by name for the designated
- /// pluginType. Mostly used for temporarily setting up return values of the Container
- /// to introduce mocks or stubs during automated testing scenarios
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <param name="name"></param>
- /// <param name="object"></param>
- public void Inject<T>(string name, T @object)
- {
- ObjectInstance instance = new ObjectInstance(@object).WithName(name);
- _transientCache.Set(typeof(T), instance, @object);
- _pipelineGraph.AddInstance<T>(instance);
- }
-
- /// <summary>
- /// Sets the default instance for the PluginType
- /// </summary>
- /// <param name="pluginType"></param>
- /// <param name="instance"></param>
- public void Inject(Type pluginType, Instance instance)
- {
- _pipelineGraph.SetDefault(pluginType, instance);
- }
-
- /// <summary>
- /// Injects the given object into a Container as the default for the designated
- /// pluginType. Mostly used for temporarily setting up return values of the Container
- /// to introduce mocks or stubs during automated testing scenarios
- /// </summary>
- /// <param name="pluginType"></param>
- /// <param name="object"></param>
- public void Inject(Type pluginType, object @object)
- {
- if (!@object.GetType().CanBeCastTo(pluginType))
- {
- throw new StructureMapException(220, pluginType.FullName,
- @object.GetType().FullName);
- }
-
-
- var instance = new ObjectInstance(@object);
- _transientCache.Set(pluginType, instance, @object);
- _pipelineGraph.SetDefault(pluginType, instance);
- }
-
- /// <summary>
- /// Injects the given object into a Container as the default for the designated
- /// PLUGINTYPE. Mostly used for temporarily setting up return values of the Container
- /// to introduce mocks or stubs during automated testing scenarios
- /// </summary>
- /// <typeparam name="PLUGINTYPE"></typeparam>
- /// <param name="object"></param>
- public void Inject<PLUGINTYPE>(PLUGINTYPE @object)
- {
- var instance = _pipelineGraph.Inject(@object);
- _transientCache.Set(typeof(PLUGINTYPE), instance, @object);
- }
}
}
\ No newline at end of file
Modified: trunk/Source/StructureMap/Diagnostics/Doctor.cs
===================================================================
--- trunk/Source/StructureMap/Diagnostics/Doctor.cs 2009-12-26 05:37:13 UTC (rev 295)
+++ trunk/Source/StructureMap/Diagnostics/Doctor.cs 2009-12-26 05:45:56 UTC (rev 296)
@@ -21,7 +21,11 @@
try
{
- var setup = new AppDomainSetup {ApplicationBase = BinaryPath, ConfigurationFile = ConfigFile};
+ var setup = new AppDomainSetup
+ {
+ ApplicationBase = BinaryPath,
+ ConfigurationFile = ConfigFile
+ };
if (BinaryPath != null) setup.PrivateBinPath = BinaryPath;
domain = AppDomain.CreateDomain("StructureMap-Diagnostics", null, setup);
var doctor =
Modified: trunk/Source/StructureMap/Diagnostics/GraphLog.cs
===================================================================
--- trunk/Source/StructureMap/Diagnostics/GraphLog.cs 2009-12-26 05:37:13 UTC (rev 295)
+++ trunk/Source/StructureMap/Diagnostics/GraphLog.cs 2009-12-26 05:45:56 UTC (rev 296)
@@ -14,15 +14,9 @@
private readonly List<string> _sources = new List<string>();
private string _currentSource;
- public int ErrorCount
- {
- get { return _errors.Count; }
- }
+ public int ErrorCount { get { return _errors.Count; } }
- public string[] Sources
- {
- get { return _sources.ToArray(); }
- }
+ public string[] Sources { get { return _sources.ToArray(); } }
public void StartSource(string description)
{
Modified: trunk/Source/StructureMap/Diagnostics/InstanceToken.cs
===================================================================
--- trunk/Source/StructureMap/Diagnostics/InstanceToken.cs 2009-12-26 05:37:13 UTC (rev 295)
+++ trunk/Source/StructureMap/Diagnostics/InstanceToken.cs 2009-12-26 05:45:56 UTC (rev 296)
@@ -14,15 +14,9 @@
}
- public string Name
- {
- get { return _name; }
- }
+ public string Name { get { return _name; } }
- public string Description
- {
- get { return _description; }
- }
+ public string Description { get { return _description; } }
#region IEquatable<InstanceToken> Members
Modified: trunk/Source/StructureMap/Exceptions/StructureMapException.cs
===================================================================
--- trunk/Source/StructureMap/Exceptions/StructureMapException.cs 2009-12-26 05:37:13 UTC (rev 295)
+++ trunk/Source/StructureMap/Exceptions/StructureMapException.cs 2009-12-26 05:45:56 UTC (rev 296)
@@ -14,8 +14,9 @@
private readonly string _msg;
- protected StructureMapException(SerializationInfo info, StreamingContext context) :
- base(info, context)
+ protected StructureMapException(SerializationInfo info, StreamingContext context)
+ :
+ base(info, context)
{
_errorCode = info.GetInt32("errorCode");
_msg = info.GetString("msg");
@@ -37,15 +38,9 @@
_msg += ErrorMessages.GetMessage(ErrorCode, args);
}
- public override string Message
- {
- get { return _msg; }
- }
+ public override string Message { get { return _msg; } }
- public int ErrorCode
- {
- get { return _errorCode; }
- }
+ public int ErrorCode { get { return _errorCode; } }
public override void GetObjectData(SerializationInfo info, StreamingContext context)
Modified: trunk/Source/StructureMap/ExplicitArgsExpression.cs
===================================================================
--- trunk/Source/StructureMap/ExplicitArgsExpression.cs 2009-12-26 05:37:13 UTC (rev 295)
+++ trunk/Source/StructureMap/ExplicitArgsExpression.cs 2009-12-26 05:45:56 UTC (rev 296)
@@ -116,6 +116,5 @@
{
return _container.GetAllInstances(type, _args);
}
-
}
}
\ No newline at end of file
Modified: trunk/Source/StructureMap/Extensions.cs
===================================================================
--- trunk/Source/StructureMap/Extensions.cs 2009-12-26 05:37:13 UTC (rev 295)
+++ trunk/Source/StructureMap/Extensions.cs 2009-12-26 05:45:56 UTC (rev 296)
@@ -1,7 +1,5 @@
-using System;
+using System;
using System.Collections.Generic;
-using System.Linq;
-using System.Text;
namespace StructureMap
{
@@ -33,4 +31,4 @@
return array;
}
}
-}
+}
\ No newline at end of file
Modified: trunk/Source/StructureMap/Graph/AssemblyScanner.cs
===================================================================
--- trunk/Source/StructureMap/Graph/AssemblyScanner.cs 2009-12-26 05:37:13 UTC (rev 295)
+++ trunk/Source/StructureMap/Graph/AssemblyScanner.cs 2009-12-26 05:45:56 UTC (rev 296)
@@ -47,7 +47,7 @@
/// </summary>
/// <param name="path"></param>
void AssembliesFromPath(string path);
-
+
/// <summary>
/// Sweep the designated path and add any Assembly's found in this folder to the
/// scanning operation. The assemblyFilter can be used to filter or limit the
@@ -72,8 +72,6 @@
#endregion
- // ... Other methods
-
#region Adding TypeScanners
/// <summary>
@@ -83,6 +81,7 @@
void With(ITypeScanner scanner);
void With(IHeavyweightTypeScanner heavyweightScanner);
+
/// <summary>
/// Adds the DefaultConventionScanner to the scanning operations. I.e., a concrete
/// class named "Something" that implements "ISomething" will be automatically
@@ -173,8 +172,11 @@
void ExcludeType<T>();
// ... Other methods
+
#endregion
+ // ... Other methods
+
/// <summary>
/// Scans for PluginType's and Concrete Types that close the given open generic type
/// </summary>
@@ -189,9 +191,9 @@
{
private readonly List<Assembly> _assemblies = new List<Assembly>();
private readonly List<Predicate<Type>> _excludes = new List<Predicate<Type>>();
+ private readonly List<IHeavyweightTypeScanner> _heavyweightScanners = new List<IHeavyweightTypeScanner>();
private readonly List<Predicate<Type>> _includes = new List<Predicate<Type>>();
private readonly List<ITypeScanner> _scanners = new List<ITypeScanner>();
- private readonly List<IHeavyweightTypeScanner> _heavyweightScanners = new List<IHeavyweightTypeScanner>();
public AssemblyScanner()
{
@@ -199,81 +201,9 @@
With<PluggableAttributeScanner>();
}
- public int Count
- {
- get { return _assemblies.Count; }
- }
+ public int Count { get { return _assemblies.Count; } }
- internal void ScanForAll(PluginGraph pluginGraph)
- {
- var heavyweightScan = configureHeavyweightScan();
-
- _assemblies.ForEach(assem => scanTypesInAssembly(assem, pluginGraph));
-
- performHeavyweightScan(pluginGraph, heavyweightScan);
- }
-
- private void scanTypesInAssembly(Assembly assembly, PluginGraph graph)
- {
- try
- {
- foreach (var type in assembly.GetExportedTypes())
- {
- if (!isInTheIncludes(type)) continue;
- if (isInTheExcludes(type)) continue;
-
- _scanners.ForEach(scanner => scanner.Process(type, graph));
- }
- }
- catch (Exception ex)
- {
- graph.Log.RegisterError(170, ex, assembly.FullName);
- }
- }
-
- private TypeMapBuilder configureHeavyweightScan()
- {
- var typeMapBuilder = new TypeMapBuilder();
- if (_heavyweightScanners.Count > 0)
- {
- With(typeMapBuilder);
- }
- return typeMapBuilder;
- }
-
- private void performHeavyweightScan(PluginGraph pluginGraph, TypeMapBuilder typeMapBuilder)
- {
- var typeMaps = typeMapBuilder.GetTypeMaps();
- _heavyweightScanners.ForEach(scanner => scanner.Process(pluginGraph, typeMaps));
- typeMapBuilder.Dispose();
- }
-
- private bool isInTheExcludes(Type type)
- {
- if (_excludes.Count == 0) return false;
-
- foreach (var exclude in _excludes)
- {
- if (exclude(type)) return true;
- }
-
- return false;
- }
-
- private bool isInTheIncludes(Type type)
- {
- if (_includes.Count == 0) return true;
-
-
- foreach (var include in _includes)
- {
- if (include(type)) return true;
- }
-
- return false;
- }
-
public void Assembly(Assembly assembly)
{
if (!_assemblies.Contains(assembly))
@@ -287,26 +217,13 @@
Assembly(AppDomain.CurrentDomain.Load(assemblyName));
}
- public bool Contains(string assemblyName)
- {
- foreach (Assembly assembly in _assemblies)
- {
- if (assembly.GetName().Name == assemblyName)
- {
- return true;
- }
- }
-
- return false;
- }
-
public void With(ITypeScanner scanner)
{
if (_scanners.Contains(scanner)) return;
_scanners.Add(scanner);
}
-
+
public void With(IHeavyweightTypeScanner heavyweightScanner)
{
if (_heavyweightScanners.Contains(heavyweightScanner)) return;
@@ -345,25 +262,6 @@
}
}
- private static Assembly findTheCallingAssembly()
- {
- var trace = new StackTrace(false);
-
- Assembly thisAssembly = System.Reflection.Assembly.GetExecutingAssembly();
- Assembly callingAssembly = null;
- for (int i = 0; i < trace.FrameCount; i++)
- {
- StackFrame frame = trace.GetFrame(i);
- Assembly assembly = frame.GetMethod().DeclaringType.Assembly;
- if (assembly != thisAssembly)
- {
- callingAssembly = assembly;
- break;
- }
- }
- return callingAssembly;
- }
-
public void AssemblyContainingType<T>()
{
_assemblies.Add(typeof (T).Assembly);
@@ -441,16 +339,14 @@
public void AssembliesFromApplicationBaseDirectory(Predicate<Assembly> assemblyFilter)
{
- var baseDirectory = AppDomain.CurrentDomain.BaseDirectory;
+ string baseDirectory = AppDomain.CurrentDomain.BaseDirectory;
AssembliesFromPath(baseDirectory, assemblyFilter);
- var binPath = AppDomain.CurrentDomain.SetupInformation.PrivateBinPath;
+ string binPath = AppDomain.CurrentDomain.SetupInformation.PrivateBinPath;
if (Directory.Exists(binPath))
{
AssembliesFromPath(binPath, assemblyFilter);
}
-
-
}
public void AssembliesFromPath(string path)
@@ -460,14 +356,16 @@
public void AssembliesFromPath(string path, Predicate<Assembly> assemblyFilter)
{
- var assemblyPaths = System.IO.Directory.GetFiles(path).Where(file =>
- System.IO.Path.GetExtension(file).Equals(
- ".exe", StringComparison.OrdinalIgnoreCase)
- ||
- System.IO.Path.GetExtension(file).Equals(
- ".dll", StringComparison.OrdinalIgnoreCase));
+ IEnumerable<string> assemblyPaths = Directory.GetFiles(path).Where(file =>
+ Path.GetExtension(file).Equals(
+ ".exe",
+ StringComparison.OrdinalIgnoreCase)
+ ||
+ Path.GetExtension(file).Equals(
+ ".dll",
+ StringComparison.OrdinalIgnoreCase));
- foreach (var assemblyPath in assemblyPaths)
+ foreach (string assemblyPath in assemblyPaths)
{
...
[truncated message content] |