Class ShortPersistenceDirectoryLayout
java.lang.Object
de.bsvrz.ars.ars.persistence.layout.ShortPersistenceDirectoryLayout
- All Implemented Interfaces:
PersistenceDirectoryLayout
Modernes Layout für "kurze" Persistenzverzeichnisse. Die Dateien werden in Verzeichnissen wie
"2023/2023-01-08/0-4bpz/0-jh/2057-1b4/oa" relativ zum Persistenzverzeichnis gespeichert, wobei
das "oa" nicht zu der Implementierung dieses
PersistenceDirectoryLayout gehört-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic longDekodiert einen Verzeichnisnamen in eine Objekt-IDstatic longdecodeFast(String string) Dekodiert einen Verzeichnisnamen in eine Objekt-IDstatic Stringencode(long id) Wandelt eine Objekt-ID in einen Verzeichnisnamen um.getDataIdentificationFromPath(List<String> path, 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 LayoutMethods 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
-
Instance
Singleton-Instanz
-
-
Method Details
-
getPath
Description copied from interface:PersistenceDirectoryLayoutLiefert den Archiv-Pfad für die angegebene Datenidentifikation und den Wurzelpfad des Archivsystems.- Specified by:
getPathin interfacePersistenceDirectoryLayout- Parameters:
basePath- WurzelverzeichnisobjId- Objekt-IDatgId- Attributgruppen-IDaspId- Aspekt-ID- Returns:
- Archiv-Pfad
-
getDataIdentificationFromPath
Description copied from interface:PersistenceDirectoryLayoutIdentifiziert die Datenidentifiaktion des angegebenen Verzeichnisses- Specified by:
getDataIdentificationFromPathin interfacePersistenceDirectoryLayout- Parameters:
path- Stack wo man sich im Verzeichnisbaum befindetsimulationVariant- Simulatiosnvariante- Returns:
- Typ des angegebenen Pfads
-
encode
Wandelt eine Objekt-ID in einen Verzeichnisnamen um. Der Verzeichnisname ergibt sich aus der KV-Kodierung der ID (die höchsten 16 Bits), dann einem Trennstrich ("-"), und dann die laufende Nummer der ID kodiert als Base 36.- Parameters:
id- Objekt-ID. Der Wert -1 ist nicht zulässig.- Returns:
- Verzeichnisname.
-
decode
Dekodiert einen Verzeichnisnamen in eine Objekt-ID- Parameters:
string- Verzeichnisname wie z. B. "2057-1b4"- Returns:
- Objekt-ID
- Throws:
PersistenceException- Der Pfad ist nicht als Objekt-ID interpretierbar
-
decodeFast
Dekodiert einen Verzeichnisnamen in eine Objekt-ID- Parameters:
string- Verzeichnisname wie z. B. "2057-1b4"- Returns:
- Objekt-ID oder -1, falls das Verzeichnis nicht verarbeitet werden konnte
-
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
-
instance
Erzeugt einePersistenceDirectoryLayoutInstancebasierend auf diesem Layout- Parameters:
basePath- Basisverzeichnis, in dem das Layout Unterverzeichnisse erstellen soll.simulationVariant- Simulationsvariante- Returns:
- Eine PersistenceDirectoryLayoutInstance
-