Klasse StandaloneContainerFileHandle

java.lang.Object
de.bsvrz.ars.ars.persistence.StandaloneContainerFileHandle
Alle implementierten Schnittstellen:
ContainerManagementData, DataSequence, AutoCloseable
Bekannte direkte Unterklassen:
BasicContainerFileHandle

public class StandaloneContainerFileHandle extends Object implements AutoCloseable, ContainerManagementData, DataSequence
Referenz auf eine unabhängige Containerdatei außerhalb des Persistenzverzeichnisses
  • Konstruktordetails

    • StandaloneContainerFileHandle

      protected StandaloneContainerFileHandle()
      Interner Konstruktor, der von abgeleiteten Klassen verwendet wird.
    • StandaloneContainerFileHandle

      public StandaloneContainerFileHandle(Path containerFile) throws PersistenceException
      Haupt-Konstruktor
      Parameter:
      containerFile - Zu öffnende Containerdatei
      Löst aus:
      PersistenceException - Fehler beim Lesen (Datei korrupt?)
  • Methodendetails

    • getContainerFile

      public final ContainerFile getContainerFile()
      Gibt containerFile von diesem BasicContainerFileHandle-Objekt zurück.
      Gibt zurück:
      containerFile (Typ ContainerFile)
    • leaveContainer

      public void leaveContainer()
      Beendet das Arbeiten mit dem zuvor über eine der accessContainer()-Methoden definierten Container.
    • getContainerHeaderParamAsString

      public String getContainerHeaderParamAsString(KeyValParam param) throws PersistenceException
      Nachdem mit readContainerHeader() der Header einer Container-Datei eingelesen worden ist, kann mit dieser Methode der Wert eines Header-Parameters ermittelt werden. Wirft eine PersistenceException, falls der Parameter nicht gefunden wurde. Liefert den Wert des Parameters unabhaengig von dessen Typ immer als String zurück.
      Parameter:
      param - Container-Header-Parameter
      Gibt zurück:
      Parameter-Wert als String
      Löst aus:
      PersistenceException - Lesefehler
      Siehe auch:
    • getContainerHeaderParamAsArchiveDataKind

      public de.bsvrz.dav.daf.main.archive.ArchiveDataKind getContainerHeaderParamAsArchiveDataKind(KeyValParam param) throws PersistenceException
      Nachdem mit readContainerHeader() der Header einer Container-Datei eingelesen worden ist, kann mit dieser Methode der Wert eines Header-Parameters ermittelt werden. Liefert den Wert des Parameters als Datensatzart zurück. Wirft eine PersistenceException, falls der Parameter nicht gefunden wurde oder nicht in den Typ ArchiveDataKind umgeformt werden kann.
      Parameter:
      param - Container-Header-Parameter
      Gibt zurück:
      Datensatzart
      Löst aus:
      PersistenceException - Lesefehler im Persistenzverzeichnis
    • getContainerHeaderParamAsBoolean

      public boolean getContainerHeaderParamAsBoolean(KeyValParam param) throws PersistenceException
      Nachdem mit readContainerHeader() der Header einer Container-Datei eingelesen worden ist, kann mit dieser Methode der Wert eines Header-Parameters ermittelt werden. Liefert den Wert des Parameters als boolschen Wert zurück. Wirft eine PersistenceException, falls der Parameter nicht gefunden wurde oder nicht in den Typ boolean umgeformt werden kann.
      Parameter:
      param - Container-Header-Parameter
      Gibt zurück:
      true oder false
      Löst aus:
      PersistenceException - Lesefehler im Persistenzverzeichnis
    • getContainerHeaderParamAsLong

      public long getContainerHeaderParamAsLong(KeyValParam param) throws PersistenceException
      Nachdem mit readContainerHeader() der Header einer Container-Datei eingelesen worden ist, kann mit dieser Methode der Wert eines Header-Parameters ermittelt werden. Liefert den Wert des Parameters als numerischen Wert vom Typ long zurück. Wirft eine PersistenceException, falls der Parameter nicht gefunden wurde oder nicht in den Typ long umgeformt werden kann.
      Parameter:
      param - Container-Header-Parameter
      Gibt zurück:
      Ganzzahl als long
      Löst aus:
      PersistenceException - Lesefehler im Persistenzverzeichnis
    • getContainerHeaderParamAsInt

      public int getContainerHeaderParamAsInt(KeyValParam param) throws PersistenceException
      Nachdem mit readContainerHeader() der Header einer Container-Datei eingelesen worden ist, kann mit dieser Methode der Wert eines Header-Parameters ermittelt werden. Liefert den Wert des Parameters als numerischen Wert vom Typ long zurück. Wirft eine PersistenceException, falls der Parameter nicht gefunden wurde oder nicht in den Typ long umgeformt werden kann.
      Parameter:
      param - Container-Header-Parameter
      Gibt zurück:
      Ganzzahl als long
      Löst aus:
      PersistenceException - Lesefehler im Persistenzverzeichnis
    • getContainerHeaderParamAsString

      public String getContainerHeaderParamAsString(ContainerManagementInformation param) throws PersistenceException
      Nachdem mit readContainerHeader() der Header einer Container-Datei eingelesen worden ist, kann mit dieser Methode der Wert eines Header-Parameters ermittelt werden. Wirft eine PersistenceException, falls der Parameter nicht gefunden wurde. Liefert den Wert des Parameters unabhaengig von dessen Typ immer als String zurück.
      Angegeben von:
      getContainerHeaderParamAsString in Schnittstelle ContainerManagementData
      Parameter:
      param - Container-Header-Parameter
      Gibt zurück:
      Parameter-Wert als String
      Löst aus:
      PersistenceException - Lesefehler im Persistenzverzeichnis
      Siehe auch:
    • getContainerHeaderParamAsBoolean

      public boolean getContainerHeaderParamAsBoolean(ContainerManagementInformation param) throws PersistenceException
      Nachdem mit readContainerHeader() der Header einer Container-Datei eingelesen worden ist, kann mit dieser Methode der Wert eines Header-Parameters ermittelt werden. Liefert den Wert des Parameters als boolschen Wert zurück. Wirft eine PersistenceException, falls der Parameter nicht gefunden wurde oder nicht in den Typ boolean umgeformt werden kann.
      Angegeben von:
      getContainerHeaderParamAsBoolean in Schnittstelle ContainerManagementData
      Parameter:
      param - Container-Header-Parameter
      Gibt zurück:
      true oder false
      Löst aus:
      PersistenceException - Lesefehler im Persistenzverzeichnis
    • getContainerHeaderParamAsLong

      public long getContainerHeaderParamAsLong(ContainerManagementInformation param) throws PersistenceException
      Nachdem mit readContainerHeader() der Header einer Container-Datei eingelesen worden ist, kann mit dieser Methode der Wert eines Header-Parameters ermittelt werden. Liefert den Wert des Parameters als numerischen Wert vom Typ long zurück. Wirft eine PersistenceException, falls der Parameter nicht gefunden wurde oder nicht in den Typ long umgeformt werden kann.
      Angegeben von:
      getContainerHeaderParamAsLong in Schnittstelle ContainerManagementData
      Parameter:
      param - Container-Header-Parameter
      Gibt zurück:
      Ganzzahl als long
      Löst aus:
      PersistenceException - Lesefehler im Persistenzverzeichnis
    • getContainerHeaderParamAsInt

      public int getContainerHeaderParamAsInt(ContainerManagementInformation param) throws PersistenceException
      Nachdem mit readContainerHeader() der Header einer Container-Datei eingelesen worden ist, kann mit dieser Methode der Wert eines Header-Parameters ermittelt werden. Liefert den Wert des Parameters als numerischen Wert vom Typ int zurück. Wirft eine PersistenceException, falls der Parameter nicht gefunden wurde oder nicht in den Typ int umgeformt werden kann.
      Angegeben von:
      getContainerHeaderParamAsInt in Schnittstelle ContainerManagementData
      Parameter:
      param - Container-Header-Parameter
      Gibt zurück:
      Ganzzahl als int
      Löst aus:
      PersistenceException - Lesefehler im Persistenzverzeichnis
    • getLocation

      public ContainerDirectory getLocation() throws PersistenceException
      Beschreibung aus Schnittstelle kopiert: ContainerManagementData
      Gibt den Ort des Containers zurück
      Angegeben von:
      getLocation in Schnittstelle ContainerManagementData
      Gibt zurück:
      den Ort des Containers
      Löst aus:
      PersistenceException
    • getLocationFromHeader

      public IdContainerFileDir getLocationFromHeader() throws PersistenceException
      Gibt den Ort des Containers zurück
      Gibt zurück:
      den Ort des Containers
      Löst aus:
      PersistenceException
    • close

      public void close()
      Die Methode beendet den Zugriff auf den Container (der Container wird nicht abgeschlossen), wird benötigt für das AutoCloseable-interface.

      Die Methode ruft nur leaveContainer() auf.

      Angegeben von:
      close in Schnittstelle AutoCloseable
    • readContainerHeader

      public void readContainerHeader() throws PersistenceException
      Liest den Header der Container-Datei ein und springt im Eingabestrom an die Stelle hinter dem Header. Die Container-Header Parameter stehen dann als Key/Value-Paare zur Verfuegung und können mit getContainerHeaderParamAsString(KeyValParam) abgefragt werden.
      Löst aus:
      PersistenceException - Lesefehler im Persistenzverzeichnis
    • iterator

      @NotNull public ContainerDataIterator iterator() throws PersistenceException
      Erzeugt einen Iterator über Containerdaten. Falls der Container nach der alten Methode gelöscht ist (und nur aus Header und Datensatzbereich besteht) werden nur die Datenindexe zurückgegeben.

      Dieses Verhalten wird nur für die Migration zu einem DeletedContainerFile verwendet. In der Regel ist ein BasicContainerFileHandle nicht gelöscht.

      Angegeben von:
      iterator in Schnittstelle DataSequence
      Gibt zurück:
      Iterator
      Löst aus:
      PersistenceException - Lesefehler im Persistenzverzeichnis
    • getContainerId

      public long getContainerId()
      Gibt die Container-ID zurück
      Gibt zurück:
      Container-ID
    • isContainerClosed

      public boolean isContainerClosed() throws PersistenceException
      Prüft ob der Container bereits abgeschlossen ist.
      Gibt zurück:
      Kennzeichen, ob Container abgeschlossen ist
      Löst aus:
      PersistenceException - Lesefehler im Persistenzverzeichnis
    • isClosedInternal

      public boolean isClosedInternal() throws PersistenceException
      Prüft, ob der Container geschlossen ist, ohne den Zugriff auf den DataIdentNode zu prüfen.
      Gibt zurück:
      Kennzeichen, ob Container abgeschlossen ist
      Löst aus:
      PersistenceException - Lesefehler im Persistenzverzeichnis
    • getFile

      public Path getFile()
      Gibt die Datei zurück
      Gibt zurück:
      die Datei
    • toString

      public String toString()
      Setzt außer Kraft:
      toString in Klasse Object
    • ensureHeaderRead

      public void ensureHeaderRead() throws PersistenceException
      Stellt sicher, dass der Header eingelesen wurde. Liest ihn ein, falls noch nicht geschehen.
      Löst aus:
      PersistenceException - Lesefehler im Persistenzverzeichnis