Klasse ClassicPersistenceDirectoryLayout

java.lang.Object
de.bsvrz.ars.ars.persistence.layout.ClassicPersistenceDirectoryLayout
Alle implementierten Schnittstellen:
PersistenceDirectoryLayout

public class ClassicPersistenceDirectoryLayout extends Object implements PersistenceDirectoryLayout
Klasse, die ein altes Archivsystem-Layout (Version 5 und früher) abbildet.

Das Layout besteht aus tief verschachtelten Verzeichnis-Strukturen, wobei die dezimale ID von Objekt, Attributgruppe und Aspekt jeweils in Dreierpäckchen aufgeteilt wird, z. B. wäre obj123/obj456/obj789/atg246/atg357/asp17 die Ordnerstruktur für das Objekt 123456789, die Attributgruppe 246357 und den Aspekt 17.

  • Felddetails

  • Methodendetails

    • getPath

      public Path getPath(Path basePath, long objId, long atgId, long aspId)
      Liefert den Archiv-Pfad für die angegebene Datenidentifikation und den Wurzelpfad des Archivsystems. Der Pfad wird gebildet, indem die IDs und die SV in Dreiergruppen zerlegt und mit einem Praefix versehen werden. Pro Dreiergruppe und pro SimVarwird ein Verzeichnis verwendet.
      Angegeben von:
      getPath in Schnittstelle PersistenceDirectoryLayout
      Parameter:
      basePath - Wurzelpfad des Archivsystems
      objId - Objekt-ID
      atgId - Attributgruppen-ID
      aspId - Aspekt-ID
      Gibt zurück:
      Archiv-Pfad
    • appendIdElements

      public Path appendIdElements(Path basePath, String prefix, long id)
      Zerlegt die numerische ID in Gruppen von jeweils 3 Zeichen in Dezimaldarstellung und ergänzt das übergebene Path-Objekt, sodass die übergebene Separator-/Prefixsequenz hinzugefügt wird. Beispiel: mit "obj" im Parameter prefix führt die ID 12345678 dazu, dass der Pfad "/obj123/obj456/obj78" ergänzt wird.
      Parameter:
      basePath - Basispfad
      prefix - Prefix, das vor jeder Zeichengruppe eingefügt werden soll.
      id - Numerische ID.
      Gibt zurück:
      Dateipfad
    • isValidSvFolderName

      public boolean isValidSvFolderName(String dirName)
      Prüft, ob der gegebene Verzeichnisname ein gueltiger Name für ein Verzeichnis ist, das eine Simulationsvariante repraesentiert.
      Parameter:
      dirName - Verzeichnisname
      Gibt zurück:
      Wahr, wenn der Verzeichnisname korrekt ist, falsch sonst.
      Siehe auch:
      • SV_DIRNAME_PAT
    • getMaxDepth

      public int getMaxDepth()
      Beschreibung aus Schnittstelle kopiert: PersistenceDirectoryLayout
      Gibt die maximale Tiefe zurück, in der datenidentifikationsverzeichnisse zu erwarten sind
      Angegeben von:
      getMaxDepth in Schnittstelle PersistenceDirectoryLayout
      Gibt zurück:
      maximale Tiefe im Dateisystem-Baum
    • identifyPath

      public PathType identifyPath(List<String> pathStack)
      Beschreibung aus Schnittstelle kopiert: PersistenceDirectoryLayout
      Identifiziert den Typ des angegebenen Verzeichnisses
      Angegeben von:
      identifyPath in Schnittstelle PersistenceDirectoryLayout
      Parameter:
      pathStack - Stack wo man sich im Verzeichnisbaum befindet
      Gibt zurück:
      Typ des angegebenen Pfads
    • getDataIdentificationFromPath

      public IdDataIdentification getDataIdentificationFromPath(List<String> pathStack, int simulationVariant)
      Beschreibung aus Schnittstelle kopiert: PersistenceDirectoryLayout
      Identifiziert die Datenidentifiaktion des angegebenen Verzeichnisses
      Angegeben von:
      getDataIdentificationFromPath in Schnittstelle PersistenceDirectoryLayout
      Parameter:
      pathStack - Stack wo man sich im Verzeichnisbaum befindet
      simulationVariant - Simulatiosnvariante
      Gibt zurück:
      Typ des angegebenen Pfads
    • instance

      public static PersistenceDirectoryLayoutInstance instance(Path basePath, int simulationVariant)
      Erzeugt eine PersistenceDirectoryLayoutInstance basierend auf diesem Layout
      Parameter:
      basePath - Basisverzeichnis, in dem das Layout Unterverzeichnisse erstellen soll.
      simulationVariant - Simulationsvariante
      Gibt zurück:
      Eine PersistenceDirectoryLayoutInstance