Class AbstractTask

java.lang.Object
de.bsvrz.ars.ars.mgmt.tasks.AbstractTask
Direct Known Subclasses:
CronTask, Task

public abstract class AbstractTask
extends java.lang.Object
TBD Dokumentation
  • Field Summary

    Fields
    Modifier and Type Field Description
    protected static de.bsvrz.sys.funclib.debug.Debug _debug
    Logger
    protected boolean _shouldTerminate
    Zeigt an ob der Task beendet werden soll.
    protected ArchiveManager archMgr
    Zentrale Archiv-Verwaltung.
    protected DataIdentTree didTree
    Datenindentifikationen
    protected PersistenceManager persMgr
    PersistenceManager für den Zugriff auf die Daten des Archivsystems
  • Constructor Summary

    Constructors
    Constructor Description
    AbstractTask​(ArchiveManager archiveMgr)
    Erstellt einen neuen Task
  • Method Summary

    Modifier and Type Method Description
    ArchiveManager getArchMgr()  
    abstract java.lang.String getName()  
    void getObjectsFromDav()
    Wird aufgerufen, sobald eine Datenverteilerverbindung verfügbar ist.
    abstract boolean isAlive()  
    abstract boolean isTerminated()  
    abstract void join()  
    abstract void setName​(java.lang.String name)  
    boolean shouldTerminate()
    Zeigt an, ob der Task beendet werden soll.
    abstract void start()  
    void suspendTaskIfNecessary()
    Hält den Task an, falls sich das Archivsystem in einem kritischen Zustand befindet.
    void terminateTask()
    Terminiert den Task indem dafür gesorgt wird, das shouldTerminate() true zurückliefert.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • _debug

      protected static final de.bsvrz.sys.funclib.debug.Debug _debug
      Logger
    • _shouldTerminate

      protected volatile boolean _shouldTerminate
      Zeigt an ob der Task beendet werden soll. Der Task bricht dann möglichst schnell an der nächsten sicheren Stelle ab.
    • didTree

      protected DataIdentTree didTree
      Datenindentifikationen
    • archMgr

      protected final ArchiveManager archMgr
      Zentrale Archiv-Verwaltung.
    • persMgr

      protected PersistenceManager persMgr
      PersistenceManager für den Zugriff auf die Daten des Archivsystems
  • Constructor Details

    • AbstractTask

      public AbstractTask​(ArchiveManager archiveMgr)
      Erstellt einen neuen Task
      Parameters:
      archiveMgr - Archiv-Manager (Kann für Testfälle und ähnliches null sein, allerdings kann es dann passieren, das bestimmte Funktionen nicht funktionieren.)
  • Method Details

    • start

      public abstract void start()
    • terminateTask

      public void terminateTask()
      Terminiert den Task indem dafür gesorgt wird, das shouldTerminate() true zurückliefert. Der Task sollte diese Funktion regelmäßig aufrufen um dann bei Rückgabe von true den Task zeitnah zu beenden.
    • shouldTerminate

      public boolean shouldTerminate()
      Zeigt an, ob der Task beendet werden soll.
      Returns:
      true falls der Task beendet werden soll.
    • getArchMgr

      public ArchiveManager getArchMgr()
    • suspendTaskIfNecessary

      public final void suspendTaskIfNecessary()
      Hält den Task an, falls sich das Archivsystem in einem kritischen Zustand befindet. Wird das Archivsystem beendet, wird der Task fortgesetzt, so dass er seine Aufgabe noch vollständig erfüllen kann. shouldTerminate() liefert anschließend true zurück.
    • getObjectsFromDav

      public void getObjectsFromDav()
      Wird aufgerufen, sobald eine Datenverteilerverbindung verfügbar ist. Kann benutzt werden, um Objekte zu laden und Anmeldungen durchzuführen.

      Wichtig: Diese Methode wird unter Umständen im Konstruktor ausgeführt und sollte daher nicht erwarten, dass die Subklasse (`this`) vollständig initialisiert ist.

    • getName

      public abstract java.lang.String getName()
    • setName

      public abstract void setName​(java.lang.String name)
    • join

      public abstract void join() throws java.lang.InterruptedException
      Throws:
      java.lang.InterruptedException
    • isAlive

      public abstract boolean isAlive()
    • isTerminated

      public abstract boolean isTerminated()