Interface Data

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Interface Description
      static interface  Data.Array
      Interface-Klasse für die Array-Ansicht eines Datums.
      static class  Data.FormatException
      Deprecated.
      Diese Exception wird nicht verwendet und in einem zukünftigen Release entfernt.
      static interface  Data.NumberArray
      Interface-Klasse für die Skalierte- und Unskalierte-Array-Ansicht eines Datums.
      static interface  Data.NumberValue
      Interface-Klasse für die Skalierte- und Unskalierte-Ansicht eines Datums.
      static interface  Data.ReferenceArray
      Interface-Klasse für die Referenz-Array-Ansicht eines Datums.
      static interface  Data.ReferenceValue
      Interface-Klasse für die Referenz-Ansicht eines Datums.
      static interface  Data.TextArray
      Interface-Klasse für die Text-Array-Ansicht eines Datums.
      static interface  Data.TextValue
      Interface-Klasse für die Text-Ansicht eines Datums.
      static interface  Data.TimeArray
      Interface-Klasse für die Zeit-Array-Ansicht eines Datums.
      static interface  Data.TimeValue
      Interface-Klasse für die Zeit-Ansicht eines Datums.
    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods 
      Modifier and Type Method Description
      Data.Array asArray()
      Liefert eine Array-Ansicht auf dieses Array zurück.
      Data.ReferenceArray asReferenceArray()
      Liefert eine Referenz-Array-Ansicht auf dieses Array zurück.
      Data.ReferenceValue asReferenceValue()
      Liefert eine Referenz-Ansicht auf dieses einfache Datum zurück.
      Data.NumberArray asScaledArray()
      Liefert eine Skalierte-Array-Ansicht auf dieses Array zurück.
      Data.NumberValue asScaledValue()
      Liefert eine Skalierte-Ansicht auf dieses einfache Datum zurück.
      Data.TextArray asTextArray()
      Liefert eine Text-Array-Ansicht auf dieses Array zurück.
      Data.TextValue asTextValue()
      Liefert eine Text-Ansicht auf dieses einfache Datum zurück.
      Data.TimeArray asTimeArray()
      Liefert eine Time-Array-Ansicht auf dieses Array zurück.
      Data.TimeValue asTimeValue()
      Liefert eine Zeit-Ansicht auf dieses einfache Datum zurück.
      Data.NumberArray asUnscaledArray()
      Liefert eine Unskalierte-Array-Ansicht auf dieses Array zurück.
      Data.NumberValue asUnscaledValue()
      Liefert eine Unskalierte-Ansicht auf dieses einfache Datum zurück.
      default boolean containsItem​(java.lang.String itemName)
      Ermittelt, ob es ein Sub-Datum mit dem angegebenen Namen gibt.
      Data createModifiableCopy()
      Liefert eine modifizierbare Kopie eines Datensatzes zurück.
      Data createUnmodifiableCopy()
      Liefert eine nicht modifizierbare Kopie eines Datensatzes zurück.
      Data.Array getArray​(java.lang.String itemName)
      Liefert eine Array-Ansicht auf das Sub-Datum dieser Liste mit dem angegebenen Namen zurück.
      default AttributeGroup getAttributeGroup()
      Liefert die Attributgruppe eines Datums zurück.
      AttributeType getAttributeType()
      Liefert den Attribut-Typ eines Datums zurück.
      Data getItem​(java.lang.String itemName)
      Bestimmt das Sub-Datum dieser Liste mit dem angegebenen Namen.
      java.lang.String getName()
      Liefert den Namen eines Datums zurück.
      Data.ReferenceArray getReferenceArray​(java.lang.String itemName)
      Liefert eine Referenz-Array-Ansicht auf das Sub-Datum dieser Liste mit dem angegebenen Namen zurück.
      Data.ReferenceValue getReferenceValue​(java.lang.String itemName)
      Liefert eine Referenz-Ansicht auf das Sub-Datum dieser Liste mit dem angegebenen Namen zurück.
      Data.NumberArray getScaledArray​(java.lang.String itemName)
      Liefert eine Skalierte-Array-Ansicht auf das Sub-Datum dieser Liste mit dem angegebenen Namen zurück.
      Data.NumberValue getScaledValue​(java.lang.String itemName)
      Liefert eine Skalierte-Ansicht auf das Sub-Datum dieser Liste mit dem angegebenen Namen zurück.
      Data.TextArray getTextArray​(java.lang.String itemName)
      Liefert eine Text-Array-Ansicht auf das Sub-Datum dieser Liste mit dem angegebenen Namen zurück.
      Data.TextValue getTextValue​(java.lang.String itemName)
      Liefert eine Text-Ansicht auf das Sub-Datum dieser Liste mit dem angegebenen Namen zurück.
      Data.TimeArray getTimeArray​(java.lang.String itemName)
      Liefert eine Time-Array-Ansicht auf das Sub-Datum dieser Liste mit dem angegebenen Namen zurück.
      Data.TimeValue getTimeValue​(java.lang.String itemName)
      Liefert eine Zeit-Ansicht auf das Sub-Datum dieser Liste mit dem angegebenen Namen zurück.
      Data.NumberArray getUnscaledArray​(java.lang.String itemName)
      Liefert eine Unskalierte-Array-Ansicht auf das Sub-Datum dieser Liste mit dem angegebenen Namen zurück.
      Data.NumberValue getUnscaledValue​(java.lang.String itemName)
      Liefert eine Unskalierte-Ansicht auf das Sub-Datum dieser Liste mit dem angegebenen Namen zurück.
      boolean isArray()
      Prüft, ob das Datum ein Array ist.
      boolean isDefined()
      Prüft, ob das Datum über den Datenverteiler verschickt werden kann.
      boolean isList()
      Prüft, ob das Datum eine Liste ist, d.h. aus Sub-Daten besteht.
      boolean isPlain()
      Prüft, ob das Datum ein einfaches Datum ohne untergeordnete Sub-Daten ist.
      java.util.Iterator<Data> iterator()
      Liefert einen Iterator zurück, der über die Sub-Daten dieser Liste oder die Element-Daten dieses Arrays iteriert.
      void setToDefault()
      Setzt bei einem Datum alle Werte auf die definierte Default-Werte.
      java.lang.String toString()
      Liefert eine textliche Darstellung des Datums mit Name und Wert.
      default Data updated()
      Diese Methode prüft, ob das Datum in einer älteren Version der Attributgruppe vorliegt, und überträgt das Datum auf die aktuelle Version der Attributgruppe, falls notwendig und möglich.
      default Data updated​(ClientDavInterface connection)
      Deprecated.
      Der connection-Parameter wird nicht mehr benötigt.
      java.lang.String valueToString()
      Liefert eine textliche Darstellung des Werts eines Datums zurück.
      • Methods inherited from interface java.lang.Iterable

        forEach, spliterator
    • Method Detail

      • createModifiableCopy

        Data createModifiableCopy()
        Liefert eine modifizierbare Kopie eines Datensatzes zurück. Diese Methode kann verwendet werden, um eine Kopie von einem empfangenen (nicht modifizierbaren) Datensatz zu erstellen und die Kopie mit eventuell veränderten Attributwerten wieder zu versenden. Die Methode funktioniert i.a. nur auf ganzen Datensätzen. Bei Data-Objekten, die nur Teile oder einzelne Attributwerte repräsentieren wird eine IllegalStateException generiert.
        Returns:
        Veränderbare Kopie des Datensatzes.
        Throws:
        java.lang.IllegalStateException - wenn das Data-Objekt keinen ganzen Datensatz enthält.
      • updated

        @Deprecated
        default Data updated​(ClientDavInterface connection)
        Deprecated.
        Der connection-Parameter wird nicht mehr benötigt.
        Diese Methode prüft, ob das Datum in einer älteren Version der Attributgruppe vorliegt, und überträgt das Datum auf die aktuelle Version der Attributgruppe, falls notwendig und möglich.
        • Attribute, die in beiden Versionen gleich geblieben sind (oder kompatibel sind), werden beibehalten.
        • Attribute, die in der neuen Version weggefallen sind, werden gelöscht.
        • Attribute, die in der neuen Version hinzugefügt wurden, werden auf den Default-Wert gesetzt (falls vorhanden).
        • Attribute, die inkompatibel geändert wurden, werden auf undefiniert gelassen.
        Wenn hinzugefügte Attribute keinen Default-Wert besitzen, werden diese undefiniert gelassen.

        Beispiel-Code:

        
         Data oldData = ...;
         Data updatedData = oldData.updated(connection);
         if (oldData == updatedData) {
             // Das Datum war bereits auf der aktuellen Attributgruppen-Version
         }
         else if (updatedData.isDefined()) {
             // Das Datum wurde erfolgreich aktualisiert
         }
         else {
             // Es sind Attribute hinzugekommen oder geändert worden, für die keine Werte ermittelt werden konnten.
             // Das Datum muss vor dem Benutzen also z. B. händisch korrigiert werden
         }
         
        Parameters:
        connection - Datenverteiler-Verbindung
        Returns:
        Wenn das Datum aktualisiert wurde, eine veränderbare Kopie des aktualisierten Datums. Wenn keine Aktualisierung notwendig war, wird this zurückgegeben! In diesem Fall ist nicht garantiert, dass das Datum änderbar ist, oder die Bearbeitung keine Nebeneffekte hat. Der Aufrufer muss ggf. mit if (oldData == updatedData) ... prüfen, ob das Datum verändert wurde. Ebenfalls sollte der Anwender vermutlich mit isDefined() prüfen, ob das neue Datum gültig ist, ober ob einzelne Attribute korrigiert werden müssen.
        Throws:
        java.lang.IllegalStateException - wenn das Data-Objekt keinen ganzen Datensatz enthält.
        Since:
        3.12
      • updated

        default Data updated()
        Diese Methode prüft, ob das Datum in einer älteren Version der Attributgruppe vorliegt, und überträgt das Datum auf die aktuelle Version der Attributgruppe, falls notwendig und möglich.
        • Attribute, die in beiden Versionen gleich geblieben sind (oder kompatibel sind), werden beibehalten.
        • Attribute, die in der neuen Version weggefallen sind, werden gelöscht.
        • Attribute, die in der neuen Version hinzugefügt wurden, werden auf den Default-Wert gesetzt (falls vorhanden).
        • Attribute, die inkompatibel geändert wurden, werden auf undefiniert gelassen.
        Wenn hinzugefügte Attribute keinen Default-Wert besitzen, werden diese undefiniert gelassen.

        Beispiel-Code:

        
         Data oldData = ...;
         Data updatedData = oldData.updated(connection);
         if (oldData == updatedData) {
             // Das Datum war bereits auf der aktuellen Attributgruppen-Version
         }
         else if (updatedData.isDefined()) {
             // Das Datum wurde erfolgreich aktualisiert
         }
         else {
             // Es sind Attribute hinzugekommen oder geändert worden, für die keine Werte ermittelt werden konnten.
             // Das Datum muss vor dem Benutzen also z. B. händisch korrigiert werden
         }
         
        Returns:
        Wenn das Datum aktualisiert wurde, eine veränderbare Kopie des aktualisierten Datums. Wenn keine Aktualisierung notwendig war, wird this zurückgegeben! In diesem Fall ist nicht garantiert, dass das Datum änderbar ist, oder die Bearbeitung keine Nebeneffekte hat. Der Aufrufer muss ggf. mit if (oldData == updatedData) ... prüfen, ob das Datum verändert wurde. Ebenfalls sollte der Anwender vermutlich mit isDefined() prüfen, ob das neue Datum gültig ist, ober ob einzelne Attribute korrigiert werden müssen.
        Throws:
        java.lang.IllegalStateException - wenn das Data-Objekt keinen ganzen Datensatz enthält.
        Since:
        3.14
      • createUnmodifiableCopy

        Data createUnmodifiableCopy()
        Liefert eine nicht modifizierbare Kopie eines Datensatzes zurück. Die Methode funktioniert i.a. nur auf ganzen Datensätzen. Bei Data-Objekten, die nur Teile oder einzelne Attributwerte repräsentieren wird eine IllegalStateException generiert.
        Returns:
        Nicht änderbare Kopie des Datensatzes.
        Throws:
        java.lang.IllegalStateException - wenn das Data-Objekt keinen ganzen Datensatz enthält.
      • getName

        java.lang.String getName()
        Liefert den Namen eines Datums zurück.
        Returns:
        Name des Datums
      • valueToString

        java.lang.String valueToString()
        Liefert eine textliche Darstellung des Werts eines Datums zurück.
        Returns:
        Wert des Datums
      • toString

        java.lang.String toString()
        Liefert eine textliche Darstellung des Datums mit Name und Wert.
        Overrides:
        toString in class java.lang.Object
        Returns:
        Name und Wert des Datums
      • getAttributeType

        AttributeType getAttributeType()
        Liefert den Attribut-Typ eines Datums zurück.
        Returns:
        Attribut-Typ des Datums
      • getAttributeGroup

        @Nullable
        default AttributeGroup getAttributeGroup()
        Liefert die Attributgruppe eines Datums zurück. Die Attributgruppe ist hier nur ermittelbar, wenn es sich um eine unterstützte Implementierung von Data handelt, und wenn es sich um den strukturierten Datensatz handelt, der direkt die Attributgruppe repräsentiert (keinen innerhalb der Hierarchie liegenden Datensatz, sondern die "Wurzel")
        Returns:
        Die Attributgruppe eines Datums, oder `null`, falls nicht ermittelbar.
        Since:
        3.12
      • isDefined

        boolean isDefined()
        Prüft, ob das Datum über den Datenverteiler verschickt werden kann. Die Methode gibt true zurück, wenn jedes Attribut einen Wert besitzt, der ungleich dem "undefiniert" Wert ist. Ist das Datum ein Array oder eine Liste, so wird jedes Element geprüft ob es einen gültigen Wert besitzt. Die Prüfung findet auf alle "Sub-Daten" des Datums statt.
        Returns:
        true = Das Datum enthält gültige Werte und kann über den Datenverteiler verschickt werden; false = Das Datum enthält mindestens ein Attribut, das einen undefinierten Wert besitzt und kann somit nicht über den Datenverteiler verschickt werden
      • setToDefault

        void setToDefault()
        Setzt bei einem Datum alle Werte auf die definierte Default-Werte. Wurde weder beim Attribut noch beim Attributtyp ein Default-Wert definiert so wird der "undefiniert" Wert gesetzt. Ist das Datum eine Liste oder ein Array, so wird bei jedem Element der Default-Wert gesetzt. Der Vorgang wird solange fortgesetzt, bis alle "Sub-Daten" mit einem Default-Wert/Undefiniert-Wert definiert sind.
        See Also:
        isDefined()
      • isList

        boolean isList()
        Prüft, ob das Datum eine Liste ist, d.h. aus Sub-Daten besteht.
        Returns:
        true, falls das Datum eine Liste ist, sonst false.
      • isArray

        boolean isArray()
        Prüft, ob das Datum ein Array ist.
        Returns:
        true, falls das Datum ein Array ist, sonst false.
      • isPlain

        boolean isPlain()
        Prüft, ob das Datum ein einfaches Datum ohne untergeordnete Sub-Daten ist.
        Returns:
        true, falls das Datum eine einfaches Datum ist, sonst false.
      • getItem

        Data getItem​(java.lang.String itemName)
        Bestimmt das Sub-Datum dieser Liste mit dem angegebenen Namen.
        Parameters:
        itemName - Name des gewünschten Sub-Datums.
        Returns:
        Gewünschtes Sub-Datum.
        Throws:
        java.util.NoSuchElementException - falls nicht vorhanden.
      • containsItem

        default boolean containsItem​(java.lang.String itemName)
        Ermittelt, ob es ein Sub-Datum mit dem angegebenen Namen gibt.
        Parameters:
        itemName - Name
        Returns:
        true, wenn enthalten, sonst false
        Since:
        3.12
      • asTextValue

        Data.TextValue asTextValue()
        Liefert eine Text-Ansicht auf dieses einfache Datum zurück.
        Returns:
        Text-Ansicht des Datums.
      • getTextValue

        Data.TextValue getTextValue​(java.lang.String itemName)
        Liefert eine Text-Ansicht auf das Sub-Datum dieser Liste mit dem angegebenen Namen zurück.
        Parameters:
        itemName - Name des gewünschten Sub-Datums.
        Returns:
        Text-Ansicht des Sub-Datums.
      • asTimeValue

        Data.TimeValue asTimeValue()
        Liefert eine Zeit-Ansicht auf dieses einfache Datum zurück.
        Returns:
        Zeit-Ansicht des Datums.
      • getTimeValue

        Data.TimeValue getTimeValue​(java.lang.String itemName)
        Liefert eine Zeit-Ansicht auf das Sub-Datum dieser Liste mit dem angegebenen Namen zurück.
        Parameters:
        itemName - Name des gewünschten Sub-Datums.
        Returns:
        Zeit-Ansicht des Sub-Datums.
      • asScaledValue

        Data.NumberValue asScaledValue()
        Liefert eine Skalierte-Ansicht auf dieses einfache Datum zurück.
        Returns:
        Skalierte-Ansicht des Datums.
      • getScaledValue

        Data.NumberValue getScaledValue​(java.lang.String itemName)
        Liefert eine Skalierte-Ansicht auf das Sub-Datum dieser Liste mit dem angegebenen Namen zurück.
        Parameters:
        itemName - Name des gewünschten Sub-Datums.
        Returns:
        Skalierte-Ansicht des Sub-Datums.
      • asUnscaledValue

        Data.NumberValue asUnscaledValue()
        Liefert eine Unskalierte-Ansicht auf dieses einfache Datum zurück.
        Returns:
        Unskalierte-Ansicht des Datums.
      • getUnscaledValue

        Data.NumberValue getUnscaledValue​(java.lang.String itemName)
        Liefert eine Unskalierte-Ansicht auf das Sub-Datum dieser Liste mit dem angegebenen Namen zurück.
        Parameters:
        itemName - Name des gewünschten Sub-Datums.
        Returns:
        Unskalierte-Ansicht des Sub-Datums.
      • asReferenceValue

        Data.ReferenceValue asReferenceValue()
        Liefert eine Referenz-Ansicht auf dieses einfache Datum zurück.
        Returns:
        Referenz-Ansicht des Datums.
      • getReferenceValue

        Data.ReferenceValue getReferenceValue​(java.lang.String itemName)
        Liefert eine Referenz-Ansicht auf das Sub-Datum dieser Liste mit dem angegebenen Namen zurück.
        Parameters:
        itemName - Name des gewünschten Sub-Datums.
        Returns:
        Referenz-Ansicht des Sub-Datums.
      • asArray

        Data.Array asArray()
        Liefert eine Array-Ansicht auf dieses Array zurück.
        Returns:
        Array-Ansicht des Datums.
      • getArray

        Data.Array getArray​(java.lang.String itemName)
        Liefert eine Array-Ansicht auf das Sub-Datum dieser Liste mit dem angegebenen Namen zurück.
        Parameters:
        itemName - Name des gewünschten Sub-Datums.
        Returns:
        Array-Ansicht des Sub-Datums.
      • asTextArray

        Data.TextArray asTextArray()
        Liefert eine Text-Array-Ansicht auf dieses Array zurück.
        Returns:
        Text-Array-Ansicht des Datums.
      • getTextArray

        Data.TextArray getTextArray​(java.lang.String itemName)
        Liefert eine Text-Array-Ansicht auf das Sub-Datum dieser Liste mit dem angegebenen Namen zurück.
        Parameters:
        itemName - Name des gewünschten Sub-Datums.
        Returns:
        Text-Array-Ansicht des Sub-Datums.
      • asTimeArray

        Data.TimeArray asTimeArray()
        Liefert eine Time-Array-Ansicht auf dieses Array zurück.
        Returns:
        Time-Array-Ansicht des Datums.
      • getTimeArray

        Data.TimeArray getTimeArray​(java.lang.String itemName)
        Liefert eine Time-Array-Ansicht auf das Sub-Datum dieser Liste mit dem angegebenen Namen zurück.
        Parameters:
        itemName - Name des gewünschten Sub-Datums.
        Returns:
        Time-Array-Ansicht des Sub-Datums.
      • asScaledArray

        Data.NumberArray asScaledArray()
        Liefert eine Skalierte-Array-Ansicht auf dieses Array zurück.
        Returns:
        Skalierte-Array-Ansicht des Datums.
      • getScaledArray

        Data.NumberArray getScaledArray​(java.lang.String itemName)
        Liefert eine Skalierte-Array-Ansicht auf das Sub-Datum dieser Liste mit dem angegebenen Namen zurück.
        Parameters:
        itemName - Name des gewünschten Sub-Datums.
        Returns:
        Skalierte-Array-Ansicht des Sub-Datums.
      • asUnscaledArray

        Data.NumberArray asUnscaledArray()
        Liefert eine Unskalierte-Array-Ansicht auf dieses Array zurück.
        Returns:
        Unskalierte-Array-Ansicht des Datums.
      • getUnscaledArray

        Data.NumberArray getUnscaledArray​(java.lang.String itemName)
        Liefert eine Unskalierte-Array-Ansicht auf das Sub-Datum dieser Liste mit dem angegebenen Namen zurück.
        Parameters:
        itemName - Name des gewünschten Sub-Datums.
        Returns:
        Unskalierte-Array-Ansicht des Sub-Datums.
      • asReferenceArray

        Data.ReferenceArray asReferenceArray()
        Liefert eine Referenz-Array-Ansicht auf dieses Array zurück.
        Returns:
        Referenz-Array-Ansicht des Datums.
      • getReferenceArray

        Data.ReferenceArray getReferenceArray​(java.lang.String itemName)
        Liefert eine Referenz-Array-Ansicht auf das Sub-Datum dieser Liste mit dem angegebenen Namen zurück.
        Parameters:
        itemName - Name des gewünschten Sub-Datums.
        Returns:
        Referenz-Array-Ansicht des Sub-Datums.
      • iterator

        java.util.Iterator<Data> iterator()
        Liefert einen Iterator zurück, der über die Sub-Daten dieser Liste oder die Element-Daten dieses Arrays iteriert.
        Specified by:
        iterator in interface java.lang.Iterable<Data>
        Returns:
        Iterator über die Sub-Daten dieser Liste oder die Element-Daten dieses Arrays.