예제 #1
0
        public ServicesManager(IDomainObjectInjector injector,
                               INakedObjectManager manager,
                               IObjectReflectorConfiguration config,
                               ILogger <ServicesManager> logger,
                               IFunctionalReflectorConfiguration fConfig = null)
        {
            this.injector = injector ?? throw new InitialisationException($"{nameof(injector)} is null");
            this.manager  = manager ?? throw new InitialisationException($"{nameof(manager)} is null");
            this.logger   = logger ?? throw new InitialisationException($"{nameof(logger)} is null");

            services = config.Services.Select(Activator.CreateInstance).ToList();
        }
 public FunctionalReflector(FunctionalFacetFactorySet functionalFacetFactorySet,
                            FunctionClassStrategy functionClassStrategy,
                            IMetamodelBuilder metamodel,
                            IFunctionalReflectorConfiguration functionalReflectorConfiguration,
                            IEnumerable <IFacetDecorator> facetDecorators,
                            IEnumerable <IFacetFactory> facetFactories,
                            ILoggerFactory loggerFactory,
                            ILogger <AbstractParallelReflector> logger) : base(metamodel, facetDecorators, loggerFactory, logger)
 {
     this.functionalReflectorConfiguration = functionalReflectorConfiguration;
     ClassStrategy   = functionClassStrategy;
     FacetFactorySet = functionalFacetFactorySet;
     Order           = 2;
 }
예제 #3
0
        public ParallelReflector(IClassStrategy classStrategy,
                                 IMetamodelBuilder metamodel,
                                 IReflectorConfiguration config,
                                 IFunctionalReflectorConfiguration functionalConfig,
                                 IMenuFactory menuFactory,
                                 IEnumerable <IFacetDecorator> facetDecorators,
                                 IEnumerable <IFacetFactory> facetFactories,
                                 ILoggerFactory loggerFactory,
                                 ILogger <ParallelReflector> logger)
        {
            ClassStrategy         = classStrategy ?? throw new InitialisationException($"{nameof(classStrategy)} is null");
            initialMetamodel      = metamodel ?? throw new InitialisationException($"{nameof(metamodel)} is null");
            this.config           = config ?? throw new InitialisationException($"{nameof(config)} is null");
            this.functionalConfig = functionalConfig;
            this.menuFactory      = menuFactory ?? throw new InitialisationException($"{nameof(menuFactory)} is null");
            this.loggerFactory    = loggerFactory ?? throw new InitialisationException($"{nameof(loggerFactory)} is null");
            this.logger           = logger ?? throw new InitialisationException($"{nameof(logger)} is null");
            facetDecoratorSet     = new FacetDecoratorSet(facetDecorators.ToArray());
            FacetFactorySet       = new FacetFactorySet(facetFactories.Where(f => f.ReflectionTypes.HasFlag(ReflectionType.ObjectOriented)).ToArray());

            FunctionalFacetFactorySet = new FacetFactorySet(facetFactories.Where(f => f.ReflectionTypes.HasFlag(ReflectionType.Functional)).ToArray());
        }
 public FunctionClassStrategy(IFunctionalReflectorConfiguration config) => this.config = config;
예제 #5
0
 public DefaultClassStrategy(IReflectorConfiguration config,
                             IFunctionalReflectorConfiguration fConfig = null)
 {
     this.config  = config;
     this.fConfig = fConfig;
 }