コード例 #1
0
ファイル: NXmlReader.cs プロジェクト: RobSmyth/nserializer
        /// <summary>
        /// XML text reader constructor.
        /// Project site: http://code.google.com/p/nserializer/
        /// </summary>
        /// <param name="typeSeedAssembly">
        /// Seed assembly used for type discovery.
        /// All types used in the XML file must be in this assembly or referenced assemblies.
        /// The reader will recursively search referenced assemblies. Only used if the xmlNodeReader
        /// parameter is null.
        /// </param>
        /// <param name="appObjectRepository">
        /// Optional external repository. Used to provide instances of application scope objects.
        /// </param>
        /// <param name="docObjectRepository">
        /// Optional external repository. Used to provide instances of document scope objects.
        /// </param>
        /// <param name="migrationRulesBuilder">
        /// Optional migration rules builder.
        /// </param>
        public NXmlReader(Assembly typeSeedAssembly, IApplicationObjectsRepository appObjectRepository,
                          IDocumentObjectsRepository docObjectRepository, IMigrationRulesBuilder migrationRulesBuilder,
                          ISubsystemBuilder pluginsBuilder)
        {
            system = new SystemDefinition();

            system.HasInstance(appObjectRepository ?? new NullApplicationObjectRepository())
            .Provides <IApplicationObjectsRepository>();

            system.HasInstance(docObjectRepository ?? new NullDocumentObjectRepository())
            .Provides <IDocumentObjectsRepository>();

            system.HasInstance(migrationRulesBuilder ?? new NullMigrationRulesBuilder())
            .Provides <IMigrationRulesBuilder>();

            new DefaultPluginsBuilder().Build(system);

            if (pluginsBuilder != null)
            {
                system = system.CreateSubsystem(pluginsBuilder);
            }

            system.HasSubsystem(new ReaderBuilder(typeSeedAssembly))
            .Provides <IDataTypeFactory>()
            .Provides <ITypeFinder>();

            system.HasSubsystem(new MetadataReaderBuilder())
            .Provides <MetaDataReader>();
        }
コード例 #2
0
ファイル: NXmlWriter.cs プロジェクト: RobSmyth/nserializer
        public NXmlWriter(IDocumentWriter document, IApplicationObjectsRepository appObjectRepository,
            IMigrationRulesBuilder migrationRulesBuilder, ISubsystemBuilder pluginsBuilder)
        {
            system = new SystemDefinition();

            system.HasInstance(document)
                .Provides<IDocumentWriter>();

            system.HasInstance(appObjectRepository ?? new NullApplicationObjectRepository())
                .Provides<IApplicationObjectsRepository>();

            system.HasInstance(migrationRulesBuilder ?? new NullMigrationRulesBuilder())
                .Provides<IMigrationRulesBuilder>();

            system.HasInstance(new NullLogger())
                .Provides<ILogger>();

            if (pluginsBuilder != null)
            {
                system = system.CreateSubsystem(pluginsBuilder);
            }
        }
コード例 #3
0
        public NXmlWriter(IDocumentWriter document, IApplicationObjectsRepository appObjectRepository,
                          IMigrationRulesBuilder migrationRulesBuilder, ISubsystemBuilder pluginsBuilder)
        {
            system = new SystemDefinition();

            system.HasInstance(document)
            .Provides <IDocumentWriter>();

            system.HasInstance(appObjectRepository ?? new NullApplicationObjectRepository())
            .Provides <IApplicationObjectsRepository>();

            system.HasInstance(migrationRulesBuilder ?? new NullMigrationRulesBuilder())
            .Provides <IMigrationRulesBuilder>();

            system.HasInstance(new NullLogger())
            .Provides <ILogger>();

            if (pluginsBuilder != null)
            {
                system = system.CreateSubsystem(pluginsBuilder);
            }
        }
コード例 #4
0
ファイル: NXmlReader.cs プロジェクト: RobSmyth/nserializer
 /// <summary>
 /// XML text reader constructor.
 /// Project site: http://code.google.com/p/nserializer/
 /// </summary>
 /// <param name="typeSeedAssembly">
 /// Seed assembly used for type discovery.
 /// All types used in the XML file must be in this assembly or referenced assemblies.
 /// The reader will recursively search referenced assemblies. Only used if the xmlNodeReader
 /// parameter is null.
 /// </param>
 /// <param name="appObjectRepository">
 /// Optional external repository. Used to provide instances of application scope objects.
 /// </param>
 /// <param name="docObjectRepository">
 /// Optional external repository. Used to provide instances of document scope objects.
 /// </param>
 public NXmlReader(Assembly typeSeedAssembly, IApplicationObjectsRepository appObjectRepository,
                   IDocumentObjectsRepository docObjectRepository, ISubsystemBuilder pluginsBuilder)
     : this(typeSeedAssembly, appObjectRepository, docObjectRepository, null, pluginsBuilder)
 {
 }
コード例 #5
0
ファイル: NXmlReader.cs プロジェクト: RobSmyth/nserializer
 /// <summary>
 /// XML text reader constructor.
 /// Project site: http://code.google.com/p/nserializer/
 /// </summary>
 /// <param name="typeSeedAssembly">
 /// Seed assembly used for type discovery.
 /// All types used in the XML file must be in this assembly or referenced assemblies.
 /// The reader will recursively search referenced assemblies. Only used if the xmlNodeReader
 /// parameter is null.
 /// </param>
 public NXmlReader(Assembly typeSeedAssembly, ISubsystemBuilder pluginsBuilder)
     : this(typeSeedAssembly, null, null, pluginsBuilder)
 {
 }