Class DafObjectSetType

All Implemented Interfaces:
ConfigurationObject, ConfigurationObjectType, ObjectSetType, SystemObject, SystemObjectCollection, SystemObjectType, java.lang.Comparable

public class DafObjectSetType
extends DafConfigurationObjectType
implements ObjectSetType
Klasse zum Zugriff auf die beschreibenden Informationen und Einschränkungen von Mengen-Typen. Zu jedem Mengen-Typ wird konfiguriert welcher Name eine Menge dieses Typs haben muss, welche Typen von Objekten enthalten sein dürfen, wieviele Objekte mindestens und höchstens enthalten sein müssen bzw. dürfen, ob eine Menge an den entsprechenden Objekten vorhanden sein muss oder darf und ob eine Menge dieses Typs konfigurierend oder dynamisch ist.
  • Constructor Details

    • DafObjectSetType

      public DafObjectSetType​(DafDataModel dataModel)
      Erzeugt ein neues Objekt dessen Eigenschaften im Anschluss mit der read-Methode eingelesen werden sollten.
      Parameters:
      dataModel - DataModel Implementierung, der das neue Objekt zugeordnet ist.
    • DafObjectSetType

      public DafObjectSetType​(long id, java.lang.String pid, java.lang.String name, long typId, byte state, java.lang.String error, DafDataModel dataModel, short validFromVersionNumber, short validToVersionNumber, long responsibleObjectId, boolean hasPermanentName, long[] setIds, int minimumSize, int maximumSize, boolean dynamic)
      Erzeugt ein neues Objekt mit den angegebenen Eigenschaften
  • Method Details

    • parseToString

      public final java.lang.String parseToString()
      Description copied from class: DafSystemObject
      Liefert eine textuelle Beschreibung dieses Objekts für Debug-Zwecke zurück.
      Overrides:
      parseToString in class DafSystemObjectType
      Returns:
      Beschreibender Text dieses Objekts.
    • write

      public final void write​(java.io.DataOutputStream out) throws java.io.IOException
      Description copied from class: DafSystemObject
      Serialisiert dieses Objekt.
      Overrides:
      write in class DafSystemObjectType
      Parameters:
      out - Stream auf den das Objekt geschrieben werden soll.
      Throws:
      java.io.IOException - wenn beim Schreiben auf den Ausgabe-Stream Fehler aufgetreten sind.
    • read

      public final void read​(java.io.DataInputStream in) throws java.io.IOException
      Description copied from class: DafSystemObject
      Deserialisiert dieses Objekt über die alte Methode.
      Overrides:
      read in class DafSystemObjectType
      Parameters:
      in - Stream von dem das Objekt gelesen werden soll.
      Throws:
      java.io.IOException - wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
    • read

      public void read​(Deserializer deserializer) throws java.io.IOException
      Description copied from class: DafSystemObject
      Deserialisiert dieses Objekt
      Overrides:
      read in class DafSystemObjectType
      Parameters:
      deserializer - Deserialisierer als Datenquelle
      Throws:
      java.io.IOException
    • getMinimumElementCount

      public final int getMinimumElementCount()
      Description copied from interface: ObjectSetType
      Liefert die Anzahl von Objekten, die mindestens in der Menge vorhanden sein müssen.
      Specified by:
      getMinimumElementCount in interface ObjectSetType
      Returns:
      Anzahl der mindestens in der Menge geforderten Objekte
    • getMaximumElementCount

      public final int getMaximumElementCount()
      Description copied from interface: ObjectSetType
      Liefert die Anzahl von Objekten, die höchstens in der Menge vorhanden sein dürfen.
      Specified by:
      getMaximumElementCount in interface ObjectSetType
      Returns:
      Anzahl der höchstens in der Menge erlaubten Objekte oder 0 falls die Anzahl unbegrenzt ist.
    • isMutable

      public final boolean isMutable()
      Description copied from interface: ObjectSetType
      Liefert zurück, ob eine Menge dieses Typs online änderbar ist. Mengen, deren Typ vom Typ DynamischeMenge abgeleitet ist, sind online änderbar, d.h. es können Objekte online hinzugefügt und entfernt werden. Mengen, deren Typ vom Typ KonfigurationsMenge abgeleitet ist, sind nicht online änderbar, d.h. nur mit einer neuen Konfigurationsversion können Objekte hinzugefügt und entfernt werden.
      Specified by:
      isMutable in interface ObjectSetType
      Returns:
      true, wenn die Menge online änderbar ist;
      false, wenn die Menge nicht online änderbar ist.
    • getReferenceType

      public ReferenceType getReferenceType()
      Description copied from interface: ObjectSetType
      Liefert die Referenzierungsart des Mengen-Typs zurück. Von der Konfiguration werden folgende Referenzierungsarten unterschieden:
      • Gerichtete Assoziation
      • Aggregation
      • Komposition
      Specified by:
      getReferenceType in interface ObjectSetType
      Returns:
      die Referenzierungsart des Mengen-Typs
    • getObjectTypes

      public final java.util.List<SystemObjectType> getObjectTypes()
      Description copied from interface: ObjectSetType
      Liefert eine Liste von Objekt-Typen zurück, die in Mengen dieses Typs verwendet werden können.
      Specified by:
      getObjectTypes in interface ObjectSetType
      Returns:
      Liste von Typ-Objekten.