Class ClassicPersistenceDirectoryLayout
java.lang.Object
de.bsvrz.ars.ars.persistence.layout.ClassicPersistenceDirectoryLayout
- All Implemented Interfaces:
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.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final ClassicPersistenceDirectoryLayout
Singleton-Instanzstatic final Pattern
RegExp-Pattern für Objekt-Verzeichnisse -
Method Summary
Modifier and TypeMethodDescriptionappendIdElements
(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.getDataIdentificationFromPath
(List<String> pathStack, int simulationVariant) Identifiziert die Datenidentifiaktion des angegebenen Verzeichnissesint
Gibt die maximale Tiefe zurück, in der datenidentifikationsverzeichnisse zu erwarten sindLiefert den Archiv-Pfad für die angegebene Datenidentifikation und den Wurzelpfad des Archivsystems.identifyPath
(List<String> pathStack) Identifiziert den Typ des angegebenen VerzeichnissesErzeugt einePersistenceDirectoryLayoutInstance
basierend auf diesem Layoutboolean
isValidSvFolderName
(String dirName) Prüft, ob der gegebene Verzeichnisname ein gueltiger Name für ein Verzeichnis ist, das eine Simulationsvariante repraesentiert.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface de.bsvrz.ars.ars.persistence.layout.PersistenceDirectoryLayout
createInstance, getPath
-
Field Details
-
OBJ_DIRNAME_PAT
RegExp-Pattern für Objekt-Verzeichnisse -
Instance
Singleton-Instanz
-
-
Method Details
-
getPath
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.- Specified by:
getPath
in interfacePersistenceDirectoryLayout
- Parameters:
basePath
- Wurzelpfad des ArchivsystemsobjId
- Objekt-IDatgId
- Attributgruppen-IDaspId
- Aspekt-ID- Returns:
- Archiv-Pfad
-
appendIdElements
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.- Parameters:
basePath
- Basispfadprefix
- Prefix, das vor jeder Zeichengruppe eingefügt werden soll.id
- Numerische ID.- Returns:
- Dateipfad
-
isValidSvFolderName
Prüft, ob der gegebene Verzeichnisname ein gueltiger Name für ein Verzeichnis ist, das eine Simulationsvariante repraesentiert.- Parameters:
dirName
- Verzeichnisname- Returns:
- Wahr, wenn der Verzeichnisname korrekt ist, falsch sonst.
- See Also:
-
SV_DIRNAME_PAT
-
getMaxDepth
public int getMaxDepth()Description copied from interface:PersistenceDirectoryLayout
Gibt die maximale Tiefe zurück, in der datenidentifikationsverzeichnisse zu erwarten sind- Specified by:
getMaxDepth
in interfacePersistenceDirectoryLayout
- Returns:
- maximale Tiefe im Dateisystem-Baum
-
identifyPath
Description copied from interface:PersistenceDirectoryLayout
Identifiziert den Typ des angegebenen Verzeichnisses- Specified by:
identifyPath
in interfacePersistenceDirectoryLayout
- Parameters:
pathStack
- Stack wo man sich im Verzeichnisbaum befindet- Returns:
- Typ des angegebenen Pfads
-
getDataIdentificationFromPath
public IdDataIdentification getDataIdentificationFromPath(List<String> pathStack, int simulationVariant) Description copied from interface:PersistenceDirectoryLayout
Identifiziert die Datenidentifiaktion des angegebenen Verzeichnisses- Specified by:
getDataIdentificationFromPath
in interfacePersistenceDirectoryLayout
- Parameters:
pathStack
- Stack wo man sich im Verzeichnisbaum befindetsimulationVariant
- Simulatiosnvariante- Returns:
- Typ des angegebenen Pfads
-
instance
Erzeugt einePersistenceDirectoryLayoutInstance
basierend auf diesem Layout- Parameters:
basePath
- Basisverzeichnis, in dem das Layout Unterverzeichnisse erstellen soll.simulationVariant
- Simulationsvariante- Returns:
- Eine PersistenceDirectoryLayoutInstance
-