/// <summary> /// Same as Bind<typeparamref name="T"/>() method, however the registered object resolution will be executed at runtime (i.e. upon the object's request from the context). /// </summary> /// <typeparam name="T"></typeparam> /// <param name="isStatic">if set to <c>true</c> [is static].</param> /// <returns></returns> public static ICanBindInterface <T> Bind <T>(bool isStatic) { var parser = new ConditionalBindingDefinitionParser(typeof(T), isStatic); FluentStaticConfiguration.RegisterObjectConfiguration(parser); return(new ConditionalBinder <T>(parser)); }
//public static ICanConfigureCreatedObject<T> RegisterByExpression<T>(Expression<Func<IObjectRegistry, T>> objectCreation) //{ // return RegisterByExpression<T>(objectCreation, typeof (T).FullName); //} //public static ICanConfigureCreatedObject<T> RegisterByExpression<T>(Expression<Func<IObjectRegistry, T>> objectCreation, string identifierName) //{ // ICanContainConfiguration configurationParser = FluentStaticConfiguration.GetConfigurationParser(identifierName); // if (configurationParser == null) // { // configurationParser = new LambdaObjectDefinitionExpressionParser<T>(identifierName); // } // var objectBinder = new ConstructorObjectExpressionBinder<T>((LambdaObjectDefinitionExpressionParser<T>)configurationParser); // objectBinder.AddConstructorDelegate(objectCreation); // FluentStaticConfiguration.RegisterObjectConfiguration(configurationParser); // return objectBinder; //} public static ICanFilterType RegisterConvention() { ConventionConfigurationParser conventionConfigurationParser = new ConventionConfigurationParser(); FluentStaticConfiguration.RegisterConvention(conventionConfigurationParser); return(new TypeFilterBinder(conventionConfigurationParser)); }
public static ICanConfigureObject <T> Register <T>(string identifierName) where T : class { ICanContainConfiguration configurationParser = FluentStaticConfiguration.GetConfigurationParser(identifierName); if (configurationParser == null) { configurationParser = new ObjectDefinitionParser(typeof(T), identifierName); } var objectBinder = new ObjectBinder <T>((ObjectDefinitionParser)configurationParser); FluentStaticConfiguration.RegisterObjectConfiguration(configurationParser); return(objectBinder); }
public static ICanConfigureCreatedObject <T> Register <T>(Func <IApplicationContext, T> objectCreation, string identifierName) { ICanContainConfiguration configurationParser = FluentStaticConfiguration.GetConfigurationParser(identifierName); if (configurationParser == null) { configurationParser = new ConstructorObjectDefinitionParser <T>(identifierName); } var objectBinder = new ConstructorObjectBinder <T>((ConstructorObjectDefinitionParser <T>)configurationParser); objectBinder.AddConstructorDelegate(objectCreation); FluentStaticConfiguration.RegisterObjectConfiguration(configurationParser); return(objectBinder); }
public static void Clear() { FluentStaticConfiguration.Clear(); ConditionalBindingDefinitionParser.Clear(); }
/// <summary> /// Scans the specified assemblies for any class which has fluent configuration. /// A class implementing ICanConfigureApplicationContext interface will be created and the Configure() method call. /// </summary> /// <param name="assemblies">The assemblies.</param> public static void Scan(Func <IEnumerable <Assembly> > assemblies) { FluentStaticConfiguration.RegisterAssembliesToScan(assemblies); }
protected override void LoadObjectDefinitions(DefaultListableObjectFactory objectFactory) { FluentStaticConfiguration.LoadConfiguration(objectFactory); base.LoadObjectDefinitions(objectFactory); }