Klasse Container

java.lang.Object
de.bsvrz.ars.persistence.Container
Alle implementierten Schnittstellen:
de.bsvrz.dav.daf.main.impl.archive.PersistentDataContainer

public class Container extends Object implements de.bsvrz.dav.daf.main.impl.archive.PersistentDataContainer
Diese Klasse implementiert einen Container, dieser speichert Datensätze und zusätzliche Containerinformationen. Die Klasse ermöglicht es bestehende Container, die als Datei vorliegen, einzuladen und daraus Java-Objekte zu erzeugen, gleichzeitig ist es möglich bestehende Container-Objekte in Dateien abzubilden.

Der Container bietet weiterhin die Möglichkeit die sogenannte Sicherung (zum Beispiel eine Implementierung des Interfaces ArchiveFileSaver) zu beauftragen den Container persistent auf einem Speichermdium Typ B zu sichern.

Aufbau der Datei, die einen Container speichert (Version 1): K2S Schriftzug, Containerversion, headerOffset (wo beginnt der Header),

dataOffset (wo beginnen die Datensätze),

dataTableOffset (wo beginnt die Tabelle,

die die genaue Position der Datensätze speichert. Bei nicht abgeschlossenen Container ist die Tabelle noch nicht in der Datei gespeichert),

ContainerId,

Anzahl Datensätze,

Vorhaltezeitraum,

max DataTime,

max ArchiveTime,

max DataIndex,

min DataTime,

min ArchiveTime,

min DataIndex,

Container abgeschlossen,

soll der Container gespeichert werden,

eindeutige Identifizierung Typ B (fehlerhaft, wird beim einladen des Containers aus der Sicherung aber erneut gesetzt und ist dann aktuell),

Serialisierer-Version,

Größe byte-Array (serialisierte ContainerIdentifikation),

byte-Array(serialisierte ContainerIdentifikation)

  • Verschachtelte Klassen - Übersicht

    Verschachtelte Klassen
    Modifizierer und Typ
    Klasse
    Beschreibung
    final class 
    Diese innerClass ermöglicht den Zugriff auf Datensätze, die in der umgebenden Klasse (Container) gespeichert sind.
  • Feldübersicht

    Felder
    Modifizierer und Typ
    Feld
    Beschreibung
    static final String
     
  • Konstruktorübersicht

    Konstruktoren
    Konstruktor
    Beschreibung
    Container(long containerId, Path rootFolder)
    Dieser Konstruktor erzeugt aus einer Datei ein Container-Objekt.
  • Methodenübersicht

    Modifizierer und Typ
    Methode
    Beschreibung
    boolean
    Diese Methode gibt darüber Auskunft, ob der Container bereits auf einem Speichermedium TypB gespeichert wurde.
    boolean
     
    void
     
    void
     
    long
    Diese Methode gibt die ID des Containers zurück.
    de.bsvrz.ars.ars.persistence.IdContainerFileDir
    Diese Methode gibt ein Objekt mit den Eigenschaften des Containers zurück.
    de.bsvrz.dav.daf.main.impl.archive.DataContainerIdentification
     
    int
    Diese Methode gibt die Anzahl der Datensätze, die im Container gepsichert sind, zurück.
    long
    Diese Methode gibt den Vorhaltezeitraum des Containers zurück.
    de.bsvrz.dav.daf.main.impl.archive.DataTiming
    Diese Methode gibt die größten Zeitstempel und den größten Datenindex des Containers zurück.
    de.bsvrz.dav.daf.main.impl.archive.DataTiming
    Diese Methode gibt die kleinsten Zeitstempel und den kleinsten Datenindex des Containers zurück.
    boolean
    Siehe "return"
    int
    Diese Methode liefert die Version des Serialisieres mit dem alle Datensätze des Containers serialisiert wurden.
    long
    Diese Methode gibt den Speicherbedarf des Containers an, wenn er jetzt mit finalizeAllData abgeschlossen werden würde.
    Diese Methode stellt ein Objekt zur Verfügung mit dem einzelne Datensätze aus einem Container angefordert werden können.
    int
    Diese Methode gibt die eindeutige Identifikation des Speichermediums vom Typ B zurück, auf dem der Container gesichert wurde.
    boolean
    Diese Methode liefert den Zustand des Containers (abgeschlossen, ja/nein)
    void
    loadAllData(int mediaName)
     
    int
    Diese Methode übergibt den Container der Sicherung, diese wird den Container persistent auf ein Speichermedium Typ B ablegen.
    void
    storeData(de.bsvrz.dav.daf.main.impl.archive.DataTiming dataTiming, de.bsvrz.dav.daf.main.DataState dataState, byte[] dataBytes, boolean flush)
     

    Von Klasse geerbte Methoden java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Felddetails

  • Konstruktordetails

    • Container

      public Container(long containerId, Path rootFolder) throws IOException, IllegalStateException, IllegalArgumentException
      Dieser Konstruktor erzeugt aus einer Datei ein Container-Objekt.
      Parameter:
      containerId - Eindeutige Identifikation des Containers
      rootFolder - Wurzelverzeichnis aller Container
      Löst aus:
      IOException - Es ist ein Fehler beim Zugriff auf die Datei aufgetreten, die den Container physisch abbildet
      IllegalStateException - Der Container wurde mit einem K2S Modul erzeugt, konnte aber nicht zurückgelesen werden, da die Version des Containers unbekannt ist
      IllegalArgumentException - Der angegebene Container kann nicht gelesen werden, da er nicht mit einem K2S Modul erzeugt wurde
  • Methodendetails

    • getContainerId

      public long getContainerId()
      Diese Methode gibt die ID des Containers zurück.
      Angegeben von:
      getContainerId in Schnittstelle de.bsvrz.dav.daf.main.impl.archive.PersistentDataContainer
      Gibt zurück:
      ContainerID
    • getContainerIdentification

      public de.bsvrz.ars.ars.persistence.IdContainerFileDir getContainerIdentification()
      Diese Methode gibt ein Objekt mit den Eigenschaften des Containers zurück.
      Gibt zurück:
      Containereigenschaften
    • getDataContainerIdentification

      public de.bsvrz.dav.daf.main.impl.archive.DataContainerIdentification getDataContainerIdentification()
      Angegeben von:
      getDataContainerIdentification in Schnittstelle de.bsvrz.dav.daf.main.impl.archive.PersistentDataContainer
    • getSerializerVersion

      public int getSerializerVersion()
      Diese Methode liefert die Version des Serialisieres mit dem alle Datensätze des Containers serialisiert wurden.
      Angegeben von:
      getSerializerVersion in Schnittstelle de.bsvrz.dav.daf.main.impl.archive.PersistentDataContainer
      Gibt zurück:
      Version des benutzten Serialisieres
    • storeData

      public void storeData(de.bsvrz.dav.daf.main.impl.archive.DataTiming dataTiming, de.bsvrz.dav.daf.main.DataState dataState, byte[] dataBytes, boolean flush)
      Angegeben von:
      storeData in Schnittstelle de.bsvrz.dav.daf.main.impl.archive.PersistentDataContainer
    • finalizeAllData

      public void finalizeAllData()
      Angegeben von:
      finalizeAllData in Schnittstelle de.bsvrz.dav.daf.main.impl.archive.PersistentDataContainer
    • getMinimumDataTiming

      public de.bsvrz.dav.daf.main.impl.archive.DataTiming getMinimumDataTiming()
      Diese Methode gibt die kleinsten Zeitstempel und den kleinsten Datenindex des Containers zurück.
      Angegeben von:
      getMinimumDataTiming in Schnittstelle de.bsvrz.dav.daf.main.impl.archive.PersistentDataContainer
      Gibt zurück:
      Zeitstempel und Index
    • getMaximumDataTiming

      public de.bsvrz.dav.daf.main.impl.archive.DataTiming getMaximumDataTiming()
      Diese Methode gibt die größten Zeitstempel und den größten Datenindex des Containers zurück.
      Angegeben von:
      getMaximumDataTiming in Schnittstelle de.bsvrz.dav.daf.main.impl.archive.PersistentDataContainer
      Gibt zurück:
      Zeitstempel und Index
    • getDataCount

      public int getDataCount()
      Diese Methode gibt die Anzahl der Datensätze, die im Container gepsichert sind, zurück.
      Angegeben von:
      getDataCount in Schnittstelle de.bsvrz.dav.daf.main.impl.archive.PersistentDataContainer
      Gibt zurück:
      Anzahl Datensätze im Container
    • getStorageSize

      public long getStorageSize()
      Diese Methode gibt den Speicherbedarf des Containers an, wenn er jetzt mit finalizeAllData abgeschlossen werden würde.
      Angegeben von:
      getStorageSize in Schnittstelle de.bsvrz.dav.daf.main.impl.archive.PersistentDataContainer
      Gibt zurück:
      Speicherberdarf des abgeschlossenen Containers
    • getSaveStatus

      public boolean getSaveStatus()
      Siehe "return"
      Angegeben von:
      getSaveStatus in Schnittstelle de.bsvrz.dav.daf.main.impl.archive.PersistentDataContainer
      Gibt zurück:
      true = Der Container soll der Sicherung übergeben werden, false = Der Container soll nicht der Sicherung übergeben werden
    • containerSavedTypeB

      public boolean containerSavedTypeB()
      Diese Methode gibt darüber Auskunft, ob der Container bereits auf einem Speichermedium TypB gespeichert wurde.
      Angegeben von:
      containerSavedTypeB in Schnittstelle de.bsvrz.dav.daf.main.impl.archive.PersistentDataContainer
      Gibt zurück:
      true = Der Container wurde von der Sicherung auf einem Speichermedium Typ B gespeichert; false = Der Container wurde noch nicht von der Sicherung auf einem Speichermedium Typ B gesichert
    • getDeleteDate

      public long getDeleteDate()
      Diese Methode gibt den Vorhaltezeitraum des Containers zurück.
      Angegeben von:
      getDeleteDate in Schnittstelle de.bsvrz.dav.daf.main.impl.archive.PersistentDataContainer
      Gibt zurück:
      Vorhaltezeitraum
    • getVolumeIdTypeB

      public int getVolumeIdTypeB() throws IllegalStateException
      Diese Methode gibt die eindeutige Identifikation des Speichermediums vom Typ B zurück, auf dem der Container gesichert wurde.
      Angegeben von:
      getVolumeIdTypeB in Schnittstelle de.bsvrz.dav.daf.main.impl.archive.PersistentDataContainer
      Gibt zurück:
      eindeutige Identifikation des Speichermediums vom Typ B
      Löst aus:
      IllegalStateException - Der Container wurde noch gar nicht der Sicherung übergeben
    • saveAllData

      public int saveAllData()
      Diese Methode übergibt den Container der Sicherung, diese wird den Container persistent auf ein Speichermedium Typ B ablegen.
      Angegeben von:
      saveAllData in Schnittstelle de.bsvrz.dav.daf.main.impl.archive.PersistentDataContainer
      Gibt zurück:
      Eindeutige Identifizierung des Speichermedium Typ B, auf dem die Sicherung den Container gesichert wurde
    • deleteAllData

      public boolean deleteAllData()
      Angegeben von:
      deleteAllData in Schnittstelle de.bsvrz.dav.daf.main.impl.archive.PersistentDataContainer
    • loadAllData

      public void loadAllData(int mediaName)
      Angegeben von:
      loadAllData in Schnittstelle de.bsvrz.dav.daf.main.impl.archive.PersistentDataContainer
    • flush

      public void flush()
      Angegeben von:
      flush in Schnittstelle de.bsvrz.dav.daf.main.impl.archive.PersistentDataContainer
    • isContainerFinalized

      public boolean isContainerFinalized()
      Diese Methode liefert den Zustand des Containers (abgeschlossen, ja/nein)
      Angegeben von:
      isContainerFinalized in Schnittstelle de.bsvrz.dav.daf.main.impl.archive.PersistentDataContainer
      Gibt zurück:
      true = Container ist abgeschlossen, false = Container nicht abgeschlossen
    • getSupplier

      public Container.ContainerDataSupplier getSupplier() throws IOException
      Diese Methode stellt ein Objekt zur Verfügung mit dem einzelne Datensätze aus einem Container angefordert werden können. Sobald keine Datensätze mehr zur Verfügung stehen, wird null zurück gegeben.
      Gibt zurück:
      Ein Objekt, das einzelne Datensätze aus einem Container zurückgeben kann
      Löst aus:
      IOException