/// <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>(); }
public ListReader(IReadObjectsCache readObjects, IDocumentObjectsRepository docObjectRepository, IObjectReader objectReader, ITypeFinder typeFinder) { this.readObjects = readObjects; this.docObjectRepository = docObjectRepository; this.objectReader = objectReader; this.typeFinder = typeFinder; }
public DictionaryReader(IReadObjectsCache readObjects, IDocumentObjectsRepository docObjectRepository, IObjectReader objectReader, ITypeFinder typeFinder) { this.readObjects = readObjects; this.docObjectRepository = docObjectRepository; this.objectReader = objectReader; this.typeFinder = typeFinder; }
protected T ReadXmlText <T>(string xmlText, IApplicationObjectsRepository appObjectRepository, IDocumentObjectsRepository docObjectRepository, IMigrationRulesBuilder migrationRulesBuilder) { var stringReader = new StringReader(xmlText); var reader = new NXmlReader(typeSeedAssembly, appObjectRepository, docObjectRepository, migrationRulesBuilder, new TestPlugins()); return(reader.Read <T>(GetStream(xmlText))); }
public ClassReader(IReadObjectsCache readObjects, IMemberReader memberReader, ITypeFinder typeFinder, IDocumentObjectsRepository docObjectRepository, IBaseTypeMembersReader baseClassMembersReader, IObjectReader objectReader) { this.readObjects = readObjects; this.memberReader = memberReader; this.typeFinder = typeFinder; this.docObjectRepository = docObjectRepository; this.baseClassMembersReader = baseClassMembersReader; this.objectReader = objectReader; }
public ClassReader(IReadObjectsCache readObjects, IMemberReader memberReader, ITypeFinder typeFinder, IDocumentObjectsRepository docObjectRepository, IBaseTypeMembersReader baseClassMembersReader, IObjectReader objectReader) { this.readObjects = readObjects; this.memberReader = memberReader; this.typeFinder = typeFinder; this.docObjectRepository = docObjectRepository; this.baseClassMembersReader = baseClassMembersReader; this.objectReader = objectReader; }
public NodeReader(ITypeFinder typeFinder, IDocumentObjectsRepository docObjectRepository, IReadObjectsCache readObjects, IMemberReader memberReader, ILogger logger, params IObjectReader[] objectReaders) { this.logger = logger; this.objectReaders = objectReaders; var baseTypeReadersList = new List<IBaseTypeMembersReader> { new ListReader(readObjects, docObjectRepository, this, typeFinder), new DictionaryReader(readObjects, docObjectRepository, this, typeFinder), new ClassReader(readObjects, memberReader, typeFinder, docObjectRepository, this, this) }; baseTypeReaders = baseTypeReadersList.ToArray(); }
public NodeReader(ITypeFinder typeFinder, IDocumentObjectsRepository docObjectRepository, IReadObjectsCache readObjects, IMemberReader memberReader, ILogger logger, params IObjectReader[] objectReaders) { this.logger = logger; this.objectReaders = objectReaders; var baseTypeReadersList = new List <IBaseTypeMembersReader> { new ListReader(readObjects, docObjectRepository, this, typeFinder), new DictionaryReader(readObjects, docObjectRepository, this, typeFinder), new ClassReader(readObjects, memberReader, typeFinder, docObjectRepository, this, this) }; baseTypeReaders = baseTypeReadersList.ToArray(); }
protected T ReadXmlText <T>(string xmlText, IApplicationObjectsRepository appObjectRepository, IDocumentObjectsRepository docObjectRepository) { return(ReadXmlText <T>(xmlText, appObjectRepository, docObjectRepository, null)); }
/// <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) { }