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 ClassicPersistenceDirectoryLayoutSingleton-Instanzstatic final PatternRegExp-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 VerzeichnissesintGibt 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 einePersistenceDirectoryLayoutInstancebasierend auf diesem LayoutbooleanisValidSvFolderName(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, waitMethods 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:
getPathin 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:PersistenceDirectoryLayoutGibt die maximale Tiefe zurück, in der datenidentifikationsverzeichnisse zu erwarten sind- Specified by:
getMaxDepthin interfacePersistenceDirectoryLayout- Returns:
- maximale Tiefe im Dateisystem-Baum
-
identifyPath
Description copied from interface:PersistenceDirectoryLayoutIdentifiziert den Typ des angegebenen Verzeichnisses- Specified by:
identifyPathin 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:PersistenceDirectoryLayoutIdentifiziert die Datenidentifiaktion des angegebenen Verzeichnisses- Specified by:
getDataIdentificationFromPathin interfacePersistenceDirectoryLayout- Parameters:
pathStack- Stack wo man sich im Verzeichnisbaum befindetsimulationVariant- Simulatiosnvariante- Returns:
- Typ des angegebenen Pfads
-
instance
Erzeugt einePersistenceDirectoryLayoutInstancebasierend auf diesem Layout- Parameters:
basePath- Basisverzeichnis, in dem das Layout Unterverzeichnisse erstellen soll.simulationVariant- Simulationsvariante- Returns:
- Eine PersistenceDirectoryLayoutInstance
-