コード例 #1
0
 public FlexibleStructureBuilder()
 {
     _typeConfigurations = new StructureTypeConfigurations();
     _typeFactory        = new StructureTypeFactory();
     _schemaFactory      = new StructureSchemaFactory();
     _indexesFactory     = new StructureIndexesFactory();
     _schemas            = new ConcurrentDictionary <Type, IStructureSchema>();
 }
コード例 #2
0
        public static IStructureBuilder Create(IStructureTypeConfigurations typeConfigs)
        {
            EnsureArg.IsNotNull(typeConfigs, nameof(typeConfigs));

            var structureTypeFactory = new StructureTypeFactory();
            var schemaFactory        = new StructureSchemaFactory();

            var schemas = typeConfigs
                          .Select(tc => structureTypeFactory.CreateFor(tc))
                          .Select(st => schemaFactory.CreateSchema(st))
                          .ToDictionary(s => s.StructureType.Type);

            return(new StructureBuilder(schemas));
        }
コード例 #3
0
 public StructureTypeFactory(Func <IStructureTypeConfig, IStructureTypeReflecter> reflecterFn = null, IStructureTypeConfigurations configurations = null)
 {
     ReflecterFn    = reflecterFn ?? (cfg => new StructureTypeReflecter());
     Configurations = configurations ?? new StructureTypeConfigurations();
 }