void AddToAllSerializers(IVectorDataSerializer serializer)
 {
     if (!allSerializers.ContainsKey(serializer.Name))
     {
         allSerializers.Add(serializer.Name, serializer);
     }
 }
Exemplo n.º 2
0
        /// <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);
     }
 }
Exemplo n.º 4
0
 public ReflectionVectorDataSerializer(IVectorDataSerializer vectorSerializer)
 {
     this.vectorSerializer = vectorSerializer;
 }
Exemplo n.º 5
0
 public GridDatabaseDriver(IVectorDataSerializer driver, IFileSystemDriver FsDriver)
 {
     fsDriver      = FsDriver;
     Driver        = driver;
     dynamicDriver = new ReflectionVectorDataSerializer(driver);
 }
Exemplo n.º 6
0
 public TimeStepDatabaseDriver(IVectorDataSerializer driver, IFileSystemDriver FsDriver)
 {
     fsDriver = FsDriver;
     Driver   = driver;
 }