Class ArchiveStreamCombiner

  • All Implemented Interfaces:
    ArchiveDataQueryResult, ArchiveQueryResult

    public class ArchiveStreamCombiner
    extends java.lang.Object
    implements ArchiveDataQueryResult
    Diese Klasse bündelt bei Anfragen nach Pids eventuell mehrere Ergebnis-Streams (pro historischem Objekt) zu einem einzigen Stream (pro Pid), sodass die Streams den angefragten Daten entsprechen.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void aborted​(java.lang.String errorMessage)
      Setzt eine Fehlermeldung und bewirkt, dass nicht weiter auf eine Antwort vom Archivsystem gewartet wird.
      void addQuery​(int size, ArchiveDataSpecification spec)
      Wird mehrmals aufgerufen.
      java.lang.String getErrorMessage()
      Bestimmt eine Fehlernachricht, falls die entsprechende Archivanfrage nicht erfolgreich war.
      ArchiveDataStream[] getStreams()
      Bestimmt die Ergebnisdatenströme der entsprechenden Archivdatenspezifikationen aus der Archivanfrage.
      boolean isRequestSuccessful()
      Bestimmt, ob die Archivanfrage erfolgreich war.
      void setRawResult​(ArchiveDataQueryResult rawResult)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ArchiveStreamCombiner

        public ArchiveStreamCombiner()
    • Method Detail

      • getStreams

        public ArchiveDataStream[] getStreams()
                                       throws java.lang.InterruptedException,
                                              java.lang.IllegalStateException
        Description copied from interface: ArchiveDataQueryResult
        Bestimmt die Ergebnisdatenströme der entsprechenden Archivdatenspezifikationen aus der Archivanfrage. Diese Methode wird von einer Applikation aufgerufen, um auf die Ergebnisdatenströme zuzugreifen. Eine Implementierung dieser Methode muss zu jeder Archivdatenspezifikation aus der Archivanfrage einen entsprechenden Ergebnisdatenstrom bereitstellen.
        Specified by:
        getStreams in interface ArchiveDataQueryResult
        Returns:
        Array mit mit Ergebnisdatenströmen entsprechend den Archivdatenspezifikationen aus der Archivanfrage. Zu jeder Archivdatenspezifikation aus der Archivanfrage wird ein korrespondierender Ergebnisdatenstrom im Array erzeugt.
        Throws:
        java.lang.InterruptedException - Falls der aufrufende Thread unterbrochen wurde, während auf die entsprechende Antwortnachricht aus dem Archivsystem gewartet wurde.
        java.lang.IllegalStateException - Falls die Archivanfrage nicht erfolgreich war und keine Ergebnisdatenströme bestimmt werden können.
        See Also:
        ArchiveRequestManager.request(ArchiveQueryPriority, ArchiveDataSpecification), ArchiveRequestManager.request(ArchiveQueryPriority, java.util.List)
      • isRequestSuccessful

        public boolean isRequestSuccessful()
                                    throws java.lang.InterruptedException
        Description copied from interface: ArchiveQueryResult
        Bestimmt, ob die Archivanfrage erfolgreich war. Die Methode wird von einer Applikation aufgerufen um festzustellen, ob die Anfrage erfolgreich war und weitere anfragespezifische Ergebnisse aus den verschiedenen abgeleiteten Interfaces abgerufen werden können oder ob die Anfrage nicht erfolgreich war und eine entsprechende Fehlermeldung über die Methode ArchiveQueryResult.getErrorMessage() abgerufen werden kann.
        Specified by:
        isRequestSuccessful in interface ArchiveQueryResult
        Returns:
        true, falls die Anfrage erfolgreich war, sonst false.
        Throws:
        java.lang.InterruptedException - Falls der aufrufende Thread unterbrochen wurde, während auf die entsprechende Antwortnachricht aus dem Archivsystem gewartet wurde.
      • getErrorMessage

        public java.lang.String getErrorMessage()
                                         throws java.lang.InterruptedException
        Description copied from interface: ArchiveQueryResult
        Bestimmt eine Fehlernachricht, falls die entsprechende Archivanfrage nicht erfolgreich war.
        Specified by:
        getErrorMessage in interface ArchiveQueryResult
        Returns:
        Fehlernachricht, wenn die entsprechende Archivanfrage nicht erfolgreich, sonst leerer String.
        Throws:
        java.lang.InterruptedException - Falls der aufrufende Thread unterbrochen wurde, während auf die entsprechende Antwortnachricht aus dem Archivsystem gewartet wurde.
      • aborted

        public void aborted​(java.lang.String errorMessage)
        Description copied from interface: ArchiveQueryResult
        Setzt eine Fehlermeldung und bewirkt, dass nicht weiter auf eine Antwort vom Archivsystem gewartet wird.
        Specified by:
        aborted in interface ArchiveQueryResult
        Parameters:
        errorMessage - Fehlermeldung, mit der die Anfrage terminiert wird.
      • addQuery

        public void addQuery​(int size,
                             ArchiveDataSpecification spec)
        Wird mehrmals aufgerufen. Vermerkt jeweils, wie zusammengehörige Streams zu bündeln sind.
        Parameters:
        size - Anzahl zu bündelnder Streams, bei Anfragen ohne Pid 1
        spec - Originale Anfrage