void AddToAllSerializers(IVectorDataSerializer serializer) { if (!allSerializers.ContainsKey(serializer.Name)) { allSerializers.Add(serializer.Name, serializer); } }
/// <summary> /// </summary> /// <param name="fsDriver"> /// the IO Driver; can be null; /// </param> public DatabaseDriver(IFileSystemDriver fsDriver) { this.fsDriver = fsDriver; ISerializer standardSerializer = new SerializerVersion0(); ISerializer objectTypeSerializer = new SerializerVersion1(); standardVectorSerializer = new VectorDataSerializer(fsDriver, standardSerializer); IVectorDataSerializer objectTypeVectorSerializer = new VectorDataSerializer(fsDriver, objectTypeSerializer); IVectorDataSerializer versionedVectorSerializer = new VersionManager(objectTypeVectorSerializer, standardVectorSerializer); gridDatabaseDriver = new GridDatabaseDriver(versionedVectorSerializer, fsDriver); sessionsDatabaseDriver = new SessionDatabaseDriver(standardSerializer, fsDriver); timestepDatabaseDriver = new TimeStepDatabaseDriver(standardVectorSerializer, fsDriver); }
public VersionManager( IVectorDataSerializer prefered, IVectorDataSerializer standard, params IVectorDataSerializer[] additionalSerializers) { this.preferedSerializer = prefered; this.standardSerializer = standard; allSerializers = new Dictionary <string, IVectorDataSerializer>(additionalSerializers.Length + 2); AddToAllSerializers(prefered); AddToAllSerializers(standard); foreach (IVectorDataSerializer additionalSerializer in additionalSerializers) { AddToAllSerializers(additionalSerializer); } }
public ReflectionVectorDataSerializer(IVectorDataSerializer vectorSerializer) { this.vectorSerializer = vectorSerializer; }
public GridDatabaseDriver(IVectorDataSerializer driver, IFileSystemDriver FsDriver) { fsDriver = FsDriver; Driver = driver; dynamicDriver = new ReflectionVectorDataSerializer(driver); }
public TimeStepDatabaseDriver(IVectorDataSerializer driver, IFileSystemDriver FsDriver) { fsDriver = FsDriver; Driver = driver; }