Interface ObjektFactory

  • All Superinterfaces:
    de.bsvrz.sys.funclib.bitctrl.daf.DavProvider
    All Known Implementing Classes:
    DefaultObjektFactory

    public interface ObjektFactory
    extends de.bsvrz.sys.funclib.bitctrl.daf.DavProvider
    Dient dem Erzeugen von Objekten des logischen Modells aus dem Datenmodell des Datenverteilers. Eine "Super-Factory" für Modellobjekte.
    • Field Summary

      • Fields inherited from interface de.bsvrz.sys.funclib.bitctrl.daf.DavProvider

        NUTZVERVERBINDUNG, PROP_DAV, PROP_NAME, PROP_VERBUNDEN, URLASSERVERBINDUNG
    • Method Summary

      Modifier and Type Method Description
      java.util.List<? extends SystemObjekt> bestimmeModellobjekte​(java.lang.String... pids)
      Bestimmt eine Liste der Modellobjekte zu vorgegebenen PIDs von Systemobjekten.
      <T extends DynamischesObjekt>
      T
      createDynamischesObjekt​(java.lang.Class<T> clazz, java.lang.String name, java.lang.String pid, KonfigurationsDatum... daten)
      Erzeugt ein dynamisches Objekt.
      <T extends KonfigurationsDatum>
      java.util.List<T>
      getDaten​(java.util.List<? extends SystemObjekt> objekte, java.lang.Class<? extends KonfigurationsDatensatz<T>> datensatzTyp)
      Ruft die konfigurierenden Daten mehrerer Objekte in einem Vorgang ab.
      SystemObjekt getModellobjekt​(long id)
      Sucht mit Hilfe der registrierten Fabriken nach einem Systemobjekt, dessen Id bekannt ist.
      SystemObjekt getModellobjekt​(de.bsvrz.dav.daf.main.config.SystemObject obj)
      Versucht mit Hilfe der registrierten Fabriken ein Systemobjekt in ein Modellobjekt zu überführen.
      SystemObjekt getModellobjekt​(java.lang.String pid)
      Bestimmt das Modellobjekt zu einer PID.
      java.util.Collection<SystemObjektTyp> getTypen()
      Sammelt alle erzeugbaren Objekttypen der registrierten Factories.
      void invalidateDynamischesObjekt​(DynamischesObjekt objekt)
      Invalidiert ein dynamisches Objekt.
      void setDav​(de.bsvrz.dav.daf.main.ClientDavInterface dav)
      Legt die zu verwendende Datenverteilerverbindung fest.
      • Methods inherited from interface de.bsvrz.sys.funclib.bitctrl.daf.DavProvider

        addPropertyChangeListener, addPropertyChangeListener, getDav, getName, isVerbunden, removePropertyChangeListener, removePropertyChangeListener
    • Method Detail

      • setDav

        void setDav​(de.bsvrz.dav.daf.main.ClientDavInterface dav)
        Legt die zu verwendende Datenverteilerverbindung fest.
        Parameters:
        dav - die zu verwendende Verbindung.
      • bestimmeModellobjekte

        java.util.List<? extends SystemObjekt> bestimmeModellobjekte​(java.lang.String... pids)
        Bestimmt eine Liste der Modellobjekte zu vorgegebenen PIDs von Systemobjekten. Ist eine PID ein Konfigurationsbereich, werden alle Objekte des Konfigurationsbereichs bestimmt. Ist eine PID ein Typ, werden alle Objekte des Typs bestimmt.

        Für einen Konfigurationsbereich werden die enthaltenen Typen nicht aufgelöst. Da laut Konvention Typen und Objekte nicht im selben Konfigurationsbereich angelegt werden sollen, ist dieses Verhalten angebracht. Ansonsten könnte man die definierten Typen eines Konfigurationsbereichs bestimmen.

        Parameters:
        pids - PIDs der zu übersetzenden Systemobjekte
        Returns:
        Tabelle von IDs und Modellobjekten
      • getModellobjekt

        SystemObjekt getModellobjekt​(java.lang.String pid)
        Bestimmt das Modellobjekt zu einer PID.
        Parameters:
        pid - die PID des gesuchten Systemobjekts.
        Returns:
        das Systemobjekt oder null, wenn keines existiert oder es nicht als Modellobjekt darstellbar ist.
      • getModellobjekt

        SystemObjekt getModellobjekt​(long id)
        Sucht mit Hilfe der registrierten Fabriken nach einem Systemobjekt, dessen Id bekannt ist.
        Parameters:
        id - die Id eines Systemobjekts.
        Returns:
        das korrespondierende Modellobjekt oder null, wenn es keines mit der Id gibt.
      • getModellobjekt

        SystemObjekt getModellobjekt​(de.bsvrz.dav.daf.main.config.SystemObject obj)
        Versucht mit Hilfe der registrierten Fabriken ein Systemobjekt in ein Modellobjekt zu überführen. Gibt es mehrere Fabriken, die dazu in der Lage sind, wird die Fabrik benutzt, die zuerst registriert wurde. Existiert keine passende Fabrik, wird generisches SystemObjekt zurückgegeben.
        Parameters:
        obj - Ein Systemobjekt
        Returns:
        das korrespondierende Modellobjekt, niemals null.
      • getTypen

        java.util.Collection<SystemObjektTyp> getTypen()
        Sammelt alle erzeugbaren Objekttypen der registrierten Factories.
        Returns:
        die Menge der erzeugbaren Objekttypen.
      • createDynamischesObjekt

        <T extends DynamischesObjekt> T createDynamischesObjekt​(java.lang.Class<T> clazz,
                                                                java.lang.String name,
                                                                java.lang.String pid,
                                                                KonfigurationsDatum... daten)
                                                         throws de.bsvrz.sys.funclib.dynobj.DynObjektException
        Erzeugt ein dynamisches Objekt.
        Type Parameters:
        T - der Typ des zu erzeugenden Objekts.
        Parameters:
        clazz - die Klasse des zu erzeugenden Objekts.
        name - der Name des Objekts.
        pid - die PID des Objekts.
        daten - optionale Menge von Konfigurierenden Daten die initial am Objekt gesetzt werden sollen.
        Returns:
        das angelegte Objekt.
        Throws:
        de.bsvrz.sys.funclib.dynobj.DynObjektException - wenn das Erzeugen schiefgegangen ist.
      • invalidateDynamischesObjekt

        void invalidateDynamischesObjekt​(DynamischesObjekt objekt)
                                  throws de.bsvrz.sys.funclib.dynobj.DynObjektException
        Invalidiert ein dynamisches Objekt.

        Das Invalidieren ist nicht gleichzusetzen mit dem Löschen eines Objekts. An dem betroffenen Objekt wird lediglich ein gelöscht-Flag gesetzt. Das Objekt wird nun von den normalen Operationen des Datenverteilers nicht mehr berührt. Das Objekt kann jedoch noch mit speziellen Methoden wiedergeholt werden, wobei nicht das Objekt wiederhergestellt wird, sondern hierbei wird lediglich das gelöscht -Flag ignoriert.

        Parameters:
        objekt - das zu invalidierende Objekt.
        Throws:
        de.bsvrz.sys.funclib.dynobj.DynObjektException - wenn das invalidieren schiefgegangen ist.
      • getDaten

        <T extends KonfigurationsDatum> java.util.List<T> getDaten​(java.util.List<? extends SystemObjekt> objekte,
                                                                   java.lang.Class<? extends KonfigurationsDatensatz<T>> datensatzTyp)
        Ruft die konfigurierenden Daten mehrerer Objekte in einem Vorgang ab. Werden die Daten sehr vieler Objekte benötigt, sollte diese Methode verwendet werden, anstatt jedes Datum einzeln abzurufen.
        Type Parameters:
        T - der Typ der Daten.
        Parameters:
        objekte - die Objekte für die die Daten abgerufen werden sollen.
        datensatzTyp - der konfigurierende Datensatz der abgerufen werden soll.
        Returns:
        die konfigurienden Daten in der selben Reihenfolge, wie die Objektliste.