Klasse CompoundDataIndexIndex

java.lang.Object
de.bsvrz.ars.ars.persistence.CompoundDataIndexIndex

public class CompoundDataIndexIndex extends Object
Klasse, die mehrere DataIndexIndex-Objekte zusammenfasst und als einen einzigen Index behandelt. Damit werden Archivanfragen und ähnliche Operationen über mehrere Wochenverzeichnisse hinweg unterstützt.
  • Konstruktordetails

    • CompoundDataIndexIndex

      public CompoundDataIndexIndex(List<DataIndexIndex> indexes, Map<DataIndexIndex,PersistenceDirectory> directories)
      Erstellt eine neuen CompoundDataIndexIndex.
      Parameter:
      indexes - Zu verkettende Indexe in datenindexmäßig aufsteigender Reihenfolge
      directories - Zuordnung der Indexe zu den zugehörigen Verzeichnissen. Alle Elemente von indexes müssen enthalten sein.
    • CompoundDataIndexIndex

      public CompoundDataIndexIndex(IndexAggregator<DataIndexIndex> aggregator)
  • Methodendetails

    • getContainerIDByDataIndex

      public LocatedIndexResult<IndexValues> getContainerIDByDataIndex(long minimumTime, long maximumTime) throws IndexException
      Gibt die Indexwerte eines Datenindexbereichs zurück.
      Parameter:
      minimumTime - Minimum-Datenindex
      maximumTime - Maximum-Datenindex
      Gibt zurück:
      die Container eines Datenindexbereichs
      Löst aus:
      IndexException - Lesefehler
    • isComplete

      public boolean isComplete(SequenceSpecification sequenceSpecification) throws IndexException
      Gibt zurück, ob diese Version des Indexes den gesamten übergebenen Datenbereich umfasst. Dabei muss ggf. auch ein Anfangszustand oder ein Endzustand enthalten sein. Falls dieser möglicherweise fehlt, wird false zurückgegeben, und der Aufrufer muss evtl. einen größeren Bereich der Persistenz analysieren.

      Diese Methode wird für die Optimierung bei Archivanfragen und ähnlichen Operationen verwendet, wo im Normalfall Anhand der Verzeichnisstruktur nut bestimmte Wochenverzeichnisse benötigt werden. Erst wenn hier festgestellt wird, dass nicht alle benötigten Daten vorliegen (hier also false zurückgegeben wird), dann müssen ggf. mehr oder alle Wochenverzeichnisse analysiert werden.

      Parameter:
      sequenceSpecification - Ursprüngliche Zeitspezifikation. Diese Methode unterstützt nur AllDataSpecification und DataIndexSequenceSpecification. Bei anderen Spezifikationen ist keine Aussage möglich.
      Gibt zurück:
      true: Dieser zusammengefasste Index enthält sicher alle benötigten Daten, false: Es fehlen ggf. weitere Daten
      Löst aus:
      IndexException - Lesefehler bei Abfrage des Indexes