Achtung:
Das Package kann nur verwendet werden, wenn über {@link de.logosib.dvs.funclib.LogosClientDavConnection#getInstance() LogosClientDavConnection.getInstance()}
eine globale Connection zur Verfügung steht.
Eine globale Connection kann durch den Aufruf einer der Construktoren von {@link de.logosib.dvs.funclib.LogosClientDavConnection}
erzeugt oder durch {@link de.logosib.dvs.funclib.LogosClientDavConnection#setConnection( LogosClientDavConnection clientDavConnection ) LogosClientDavConnection.setConnection()}
gesetzt werden.
Durch die im Package enthaltenen Klassen werden die Objekte des Datenmodells abgebildet. Das Package sorgt dafür, daß für jedes DatenModelObjekt nur eine einzige Instance erzeugt wird.
Als Basisklasse für die gewrappten Konfigurationsobjekten dient die Klasse {@link de.logosib.dvs.funclib.objectwrapper.ConfigurationObjectWrapper}.
Die beiden Konstrukturen rufen {@link de.logosib.dvs.funclib.objectwrapper.ConfigurationObjectWrapper#getType()} auf, um den Typ des KonfigurationsObjektes zu
prüfen. Die Methode kann und sollte hier Klassenattribute initialisieren.
Die Konstruktoren rufen auch {@link de.logosib.dvs.funclib.objectwrapper.ConfigurationObjectWrapper#initData(ConfigurationObject confObject)} auf. Diese Methode
soll die Objektattribute initialisieren.
Wird eine Instance für ein Datenmodellobjekt erzeugt, werden auch die Instanzen der referenzierten Objekte erzeugt. Die Klassen stellen meist auch Methoden zum Zugriff auf die referenzierenden Objekte zur Verfügung. Diese liefern allerdings nur ein Objekt, wenn das referenzierende Objekt vorher instanziiert wurde.
Das Package stellt die Objekte für die TLS-Struktur (kb.tmKExTlsGlobal) und Langzeitzählstelle (kb.tmLangZeitVerkehrsDaten) bereit.
Langzeitzählstelle
TLS
Beziehungen zwischen Objekten sind im Datenmodel in der Regel in eine Richtung definiert (z.B. ein Steuermodul kennt alle angeschlossenen EAK's, aber die EAK's kennen das Steuermodul nicht). Das Package ermöglicht in der Regel auch den Zugriff von einem Objekt referenzierten auf das referenzierende Objekt (z.B. vom EAK auf das SteuerModul), wenn das refernzierende Objekt instanziiert wurde.
Die Struktur Langzeitzählstelle kann durch {@link de.logosib.dvs.funclib.objectwrapper.LangZeitZaehlStelle#getAll()}, die TLS-Struktur kann durch {@link de.logosib.dvs.funclib.objectwrapper.KRI#getAll()} geladen werden. Die FahrstreifenQuelle kann ein DEKanal.DeLve sein. Wird die Methode getEAK() einer Instance DEKanal.Lve aufgerufen wird automatisch die gesamte TLS-Struktur aufgebaut.
Die AchslastErfassung wird im DatenModel durch Objekte vom typ.achsLastMessStelle durch die Zuordnung eines DEKanal.Axl und eines Fahrstreifen beschrieben. Die Objekte für die AchslastErfassung werden durch {@link de.logosib.dvs.funclib.objectwrapper.AxlLastMessStelle#getAll()} gelesen und über die Methode {@link de.logosib.dvs.funclib.objectwrapper.Fahrstreifen#getDEKanalAxl()} kann auf den entsprechenen DEKanal.Axl zugegriffen werden. Das Lesen der Datenmodellobjekte erfolgt automatisch, wenn eine der Methoden {@link de.logosib.dvs.funclib.objectwrapper.Fahrstreifen#getDEKanalAxl()}, {@link de.logosib.dvs.funclib.objectwrapper.Fahrstreifen#isAchslastErfassung()} oder {@link de.logosib.dvs.funclib.objectwrapper.LangZeitZaehlStelle#isAchslastErfassung()} aufgerufen wird.
Die gewrappten ConfigurationsObjekten sind von ConfigurationsObjectWrapper
abgeleitet. Übergeordnete
Elemente stehen nur zur Verfügung, wenn deren Wrapper vor dem Zugriff auf diese erzeugt worden sind.