Пример #1
0
        /// <summary>
        /// Instantiates and composes the composers.
        /// </summary>
        public void Compose()
        {
            // make sure it is there
            _composition.WithCollectionBuilder <ComponentCollectionBuilder>();

            IEnumerable <Type> orderedComposerTypes;

            using (_logger.DebugDuration <Composers>("Preparing composer types.", "Prepared composer types."))
            {
                orderedComposerTypes = PrepareComposerTypes();
            }

            var composers = InstantiateComposers(orderedComposerTypes);

            using (_logger.DebugDuration <Composers>($"Composing composers. (log when >{LogThresholdMilliseconds}ms)", "Composed composers."))
            {
                foreach (var composer in composers)
                {
                    var componentType = composer.GetType();
                    using (_logger.DebugDuration <Composers>($"Composing {componentType.FullName}.", $"Composed {componentType.FullName}.", thresholdMilliseconds: LogThresholdMilliseconds))
                    {
                        composer.Compose(_composition);
                    }
                }
            }
        }
 /// <summary>
 /// Gets the package actions collection builder.
 /// </summary>
 /// <param name="composition">The composition.</param>
 internal static PackageActionCollectionBuilder PackageActions(this Composition composition)
 => composition.WithCollectionBuilder <PackageActionCollectionBuilder>();
 /// <summary>
 /// Gets the mappers collection builder.
 /// </summary>
 /// <param name="composition">The composition.</param>
 public static MapperCollectionBuilder Mappers(this Composition composition)
 => composition.WithCollectionBuilder <MapperCollectionBuilder>();
 /// <summary>
 /// Gets the cache refreshers collection builder.
 /// </summary>
 /// <param name="composition">The composition.</param>
 public static CacheRefresherCollectionBuilder CacheRefreshers(this Composition composition)
 => composition.WithCollectionBuilder <CacheRefresherCollectionBuilder>();
 /// <summary>
 /// Gets the components collection builder.
 /// </summary>
 public static ComponentCollectionBuilder Components(this Composition composition)
 => composition.WithCollectionBuilder <ComponentCollectionBuilder>();
 /// <summary>
 /// Gets the post-migrations collection builder.
 /// </summary>
 /// <param name="composition">The composition.</param>
 internal static PostMigrationCollectionBuilder PostMigrations(this Composition composition)
 => composition.WithCollectionBuilder <PostMigrationCollectionBuilder>();
 /// <summary>
 /// Gets the validators collection builder.
 /// </summary>
 /// <param name="composition">The composition.</param>
 internal static ManifestValueValidatorCollectionBuilder Validators(this Composition composition)
 => composition.WithCollectionBuilder <ManifestValueValidatorCollectionBuilder>();
Пример #8
0
 /// <summary>
 /// Gets the actions collection builder.
 /// </summary>
 /// <param name="composition">The composition.</param>
 /// <returns></returns>
 internal static ActionCollectionBuilder Actions(this Composition composition)
 => composition.WithCollectionBuilder <ActionCollectionBuilder>();
Пример #9
0
 /// <summary>
 /// Gets the url providers collection builder.
 /// </summary>
 /// <param name="composition">The composition.</param>
 internal static UrlProviderCollectionBuilder UrlProviders(this Composition composition)
 => composition.WithCollectionBuilder <UrlProviderCollectionBuilder>();
Пример #10
0
 /// <summary>
 /// Gets the TourFilters collection builder.
 /// </summary>
 public static TourFilterCollectionBuilder TourFilters(this Composition composition)
 => composition.WithCollectionBuilder <TourFilterCollectionBuilder>();
Пример #11
0
 /// <summary>
 /// Gets the health checks collection builder.
 /// </summary>
 /// <param name="composition">The composition.</param>
 public static HealthCheckCollectionBuilder HealthChecks(this Composition composition)
 => composition.WithCollectionBuilder <HealthCheckCollectionBuilder>();
Пример #12
0
 /// <summary>
 /// Gets the filtered controller factories collection builder.
 /// </summary>
 /// <param name="composition">The composition.</param>
 /// <returns></returns>
 public static FilteredControllerFactoryCollectionBuilder FilderedControllerFactory(this Composition composition)
 => composition.WithCollectionBuilder <FilteredControllerFactoryCollectionBuilder>();
Пример #13
0
 /// <summary>
 /// Gets the editor validators collection builder.
 /// </summary>
 /// <param name="composition">The composition.</param>
 /// <returns></returns>
 internal static EditorValidatorCollectionBuilder EditorValidators(this Composition composition)
 => composition.WithCollectionBuilder <EditorValidatorCollectionBuilder>();
Пример #14
0
 /// <summary>
 /// Gets the content finders collection builder.
 /// </summary>
 /// <param name="composition">The composition.</param>
 /// <returns></returns>
 public static ContentFinderCollectionBuilder ContentFinders(this Composition composition)
 => composition.WithCollectionBuilder <ContentFinderCollectionBuilder>();
Пример #15
0
 /// <summary>
 /// Gets the content apps collection builder.
 /// </summary>
 /// <param name="composition">The composition.</param>
 /// <returns></returns>
 public static ContentAppFactoryCollectionBuilder ContentApps(this Composition composition)
 => composition.WithCollectionBuilder <ContentAppFactoryCollectionBuilder>();
 /// <summary>
 /// Gets the data editor collection builder.
 /// </summary>
 /// <param name="composition">The composition.</param>
 public static DataEditorCollectionBuilder DataEditors(this Composition composition)
 => composition.WithCollectionBuilder <DataEditorCollectionBuilder>();
 /// <summary>
 /// Gets the property value converters collection builder.
 /// </summary>
 /// <param name="composition">The composition.</param>
 public static PropertyValueConverterCollectionBuilder PropertyValueConverters(this Composition composition)
 => composition.WithCollectionBuilder <PropertyValueConverterCollectionBuilder>();
 /// <summary>
 /// Gets the url segment providers collection builder.
 /// </summary>
 /// <param name="composition">The composition.</param>
 public static UrlSegmentProviderCollectionBuilder UrlSegmentProviders(this Composition composition)
 => composition.WithCollectionBuilder <UrlSegmentProviderCollectionBuilder>();