java.lang.Object
de.bsvrz.dav.daf.communication.dataRepresentation.data.byteArray.ByteArrayData
All Implemented Interfaces:
Data, Iterable<Data>
Direct Known Subclasses:
ByteArrayPrimitiveData, ByteArrayStructuredData

public abstract class ByteArrayData extends Object implements Data
Klasse, die noch zu dokumentieren ist.
  • Field Details

    • _bytes

      protected final byte[] _bytes
    • _offset

      protected final int _offset
    • _info

      protected final AttributeInfo _info
  • Constructor Details

    • ByteArrayData

      protected ByteArrayData(byte[] bytes, int offset, AttributeInfo info)
  • Method Details

    • create

      public static ByteArrayData create(byte[] bytes, AttributeInfo attributeGroupInfo)
    • create

      protected static ByteArrayData create(byte[] bytes, int offset, AttributeInfo attributeInfo)
    • create

      protected static ByteArrayData create(byte[] bytes, int offset, AttributeInfo attributeInfo, int itemIndex)
    • createModifiableCopy

      public Data createModifiableCopy()
      Description copied from interface: Data
      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.
      Specified by:
      createModifiableCopy in interface Data
      Returns:
      Veränderbare Kopie des Datensatzes.
    • createUnmodifiableCopy

      public Data createUnmodifiableCopy()
      Description copied from interface: Data
      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.
      Specified by:
      createUnmodifiableCopy in interface Data
      Returns:
      Nicht änderbare Kopie des Datensatzes.
    • getName

      public String getName()
      Description copied from interface: Data
      Liefert den Namen eines Datums zurück.
      Specified by:
      getName in interface Data
      Returns:
      Name des Datums
    • getAttributeType

      public AttributeType getAttributeType()
      Description copied from interface: Data
      Liefert den Attribut-Typ eines Datums zurück.
      Specified by:
      getAttributeType in interface Data
      Returns:
      Attribut-Typ des Datums
    • getAttributeGroup

      public AttributeGroup getAttributeGroup()
      Description copied from interface: Data
      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")
      Specified by:
      getAttributeGroup in interface Data
      Returns:
      Die Attributgruppe eines Datums, oder `null`, falls nicht ermittelbar.
    • setToDefault

      public void setToDefault()
      Description copied from interface: Data
      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.
      Specified by:
      setToDefault in interface Data
      See Also:
    • isDefined

      public boolean isDefined()
      Description copied from interface: Data
      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.
      Specified by:
      isDefined in interface Data
      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
    • getBytes

      public final byte[] getBytes()
    • getOffset

      public final int getOffset()
    • getInfo

      protected final AttributeInfo getInfo()
    • toDebugString

      public String toDebugString()
    • toParamString

      protected String toParamString()
    • getItem

      public abstract Data getItem(String itemName)
      Description copied from interface: Data
      Bestimmt das Sub-Datum dieser Liste mit dem angegebenen Namen.
      Specified by:
      getItem in interface Data
      Parameters:
      itemName - Name des gewünschten Sub-Datums.
      Returns:
      Gewünschtes Sub-Datum.
    • iterator

      public abstract Iterator<Data> iterator()
      Description copied from interface: Data
      Liefert einen Iterator zurück, der über die Sub-Daten dieser Liste oder die Element-Daten dieses Arrays iteriert.
      Specified by:
      iterator in interface Data
      Specified by:
      iterator in interface Iterable<Data>
      Returns:
      Iterator über die Sub-Daten dieser Liste oder die Element-Daten dieses Arrays.
    • getItem

      public Data getItem(int itemIndex)
    • isList

      public abstract boolean isList()
      Description copied from interface: Data
      Prüft, ob das Datum eine Liste ist, d.h. aus Sub-Daten besteht.
      Specified by:
      isList in interface Data
      Returns:
      true, falls das Datum eine Liste ist, sonst false.
    • isArray

      public abstract boolean isArray()
      Description copied from interface: Data
      Prüft, ob das Datum ein Array ist.
      Specified by:
      isArray in interface Data
      Returns:
      true, falls das Datum ein Array ist, sonst false.
    • isPlain

      public abstract boolean isPlain()
      Description copied from interface: Data
      Prüft, ob das Datum ein einfaches Datum ohne untergeordnete Sub-Daten ist.
      Specified by:
      isPlain in interface Data
      Returns:
      true, falls das Datum eine einfaches Datum ist, sonst false.
    • dump

      public void dump(int indent, int depth)
    • valueToString

      public abstract String valueToString()
      Description copied from interface: Data
      Liefert eine textliche Darstellung des Werts eines Datums zurück.
      Specified by:
      valueToString in interface Data
      Returns:
      Wert des Datums
    • toString

      public String toString()
      Description copied from interface: Data
      Liefert eine textliche Darstellung des Datums mit Name und Wert.
      Specified by:
      toString in interface Data
      Overrides:
      toString in class Object
      Returns:
      Name und Wert des Datums
    • getArray

      public Data.Array getArray(String itemName)
      Description copied from interface: Data
      Liefert eine Array-Ansicht auf das Sub-Datum dieser Liste mit dem angegebenen Namen zurück.
      Specified by:
      getArray in interface Data
      Parameters:
      itemName - Name des gewünschten Sub-Datums.
      Returns:
      Array-Ansicht des Sub-Datums.
    • getUnscaledValue

      public Data.NumberValue getUnscaledValue(String itemName)
      Description copied from interface: Data
      Liefert eine Unskalierte-Ansicht auf das Sub-Datum dieser Liste mit dem angegebenen Namen zurück.
      Specified by:
      getUnscaledValue in interface Data
      Parameters:
      itemName - Name des gewünschten Sub-Datums.
      Returns:
      Unskalierte-Ansicht des Sub-Datums.
    • getUnscaledArray

      public Data.NumberArray getUnscaledArray(String itemName)
      Description copied from interface: Data
      Liefert eine Unskalierte-Array-Ansicht auf das Sub-Datum dieser Liste mit dem angegebenen Namen zurück.
      Specified by:
      getUnscaledArray in interface Data
      Parameters:
      itemName - Name des gewünschten Sub-Datums.
      Returns:
      Unskalierte-Array-Ansicht des Sub-Datums.
    • getTimeValue

      public Data.TimeValue getTimeValue(String itemName)
      Description copied from interface: Data
      Liefert eine Zeit-Ansicht auf das Sub-Datum dieser Liste mit dem angegebenen Namen zurück.
      Specified by:
      getTimeValue in interface Data
      Parameters:
      itemName - Name des gewünschten Sub-Datums.
      Returns:
      Zeit-Ansicht des Sub-Datums.
    • getTimeArray

      public Data.TimeArray getTimeArray(String itemName)
      Description copied from interface: Data
      Liefert eine Time-Array-Ansicht auf das Sub-Datum dieser Liste mit dem angegebenen Namen zurück.
      Specified by:
      getTimeArray in interface Data
      Parameters:
      itemName - Name des gewünschten Sub-Datums.
      Returns:
      Time-Array-Ansicht des Sub-Datums.
    • getTextValue

      public Data.TextValue getTextValue(String itemName)
      Description copied from interface: Data
      Liefert eine Text-Ansicht auf das Sub-Datum dieser Liste mit dem angegebenen Namen zurück.
      Specified by:
      getTextValue in interface Data
      Parameters:
      itemName - Name des gewünschten Sub-Datums.
      Returns:
      Text-Ansicht des Sub-Datums.
    • getTextArray

      public Data.TextArray getTextArray(String itemName)
      Description copied from interface: Data
      Liefert eine Text-Array-Ansicht auf das Sub-Datum dieser Liste mit dem angegebenen Namen zurück.
      Specified by:
      getTextArray in interface Data
      Parameters:
      itemName - Name des gewünschten Sub-Datums.
      Returns:
      Text-Array-Ansicht des Sub-Datums.
    • getScaledValue

      public Data.NumberValue getScaledValue(String itemName)
      Description copied from interface: Data
      Liefert eine Skalierte-Ansicht auf das Sub-Datum dieser Liste mit dem angegebenen Namen zurück.
      Specified by:
      getScaledValue in interface Data
      Parameters:
      itemName - Name des gewünschten Sub-Datums.
      Returns:
      Skalierte-Ansicht des Sub-Datums.
    • getScaledArray

      public Data.NumberArray getScaledArray(String itemName)
      Description copied from interface: Data
      Liefert eine Skalierte-Array-Ansicht auf das Sub-Datum dieser Liste mit dem angegebenen Namen zurück.
      Specified by:
      getScaledArray in interface Data
      Parameters:
      itemName - Name des gewünschten Sub-Datums.
      Returns:
      Skalierte-Array-Ansicht des Sub-Datums.
    • getReferenceValue

      public Data.ReferenceValue getReferenceValue(String itemName)
      Description copied from interface: Data
      Liefert eine Referenz-Ansicht auf das Sub-Datum dieser Liste mit dem angegebenen Namen zurück.
      Specified by:
      getReferenceValue in interface Data
      Parameters:
      itemName - Name des gewünschten Sub-Datums.
      Returns:
      Referenz-Ansicht des Sub-Datums.
    • getReferenceArray

      public Data.ReferenceArray getReferenceArray(String itemName)
      Description copied from interface: Data
      Liefert eine Referenz-Array-Ansicht auf das Sub-Datum dieser Liste mit dem angegebenen Namen zurück.
      Specified by:
      getReferenceArray in interface Data
      Parameters:
      itemName - Name des gewünschten Sub-Datums.
      Returns:
      Referenz-Array-Ansicht des Sub-Datums.
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • resolveReferences

      public void resolveReferences()
      Diese Methode betrachtet rekursiv alle Attribute und sorgt mit entsprechenden Konfigurationsanfragen dafür, dass Referenzen auf lokal noch nicht bekannte Objekte aufgelöst werden.