public class AttributeProtocolData extends ProtocolData
isDefined(), isPlain() usw. an, auch wenn die Attributgruppe diese Daten eigentlich nicht unterstützen würde. Besonders wichtig ist dies bei
Fehlermeldungen von PuA (wie z.B. einer Division durch 0, oder einem "Keine Daten"-Datensatz), da hier die Meldung unabhängig vom Attributtyp über
asTextValue() abgerufen werden kann.Data.Array, Data.FormatException, Data.NumberArray, Data.NumberValue, Data.ReferenceArray, Data.ReferenceValue, Data.TextArray, Data.TextValue, Data.TimeArray, Data.TimeValue| Modifier and Type | Field and Description |
|---|---|
private java.util.List<ResultValue> |
_arrayItems
Enthält die Werte dieses Arrays, sonst
null |
private Attribute |
_attribute |
private AttributeType |
_attributeType |
private java.util.List<Data> |
_childrenByIndex
Enthält alle Kindattribute nach Index (für Daten-Arrays), sonst
null |
private java.util.Map<java.lang.String,AttributeProtocolData> |
_childrenByString
Enthält alle Kindattribute nach Bezeichnung (für Attributlisten), sonst
null |
private ObjectLookup |
_dataModel |
private boolean |
_forceArray |
private ResultValue |
_value |
MESSAGE_NO_CHANGE, MESSAGE_NOT_ARRAY, MESSAGE_NOT_ATOMAR, MESSAGE_NOT_ITERABLE, MESSAGE_NOT_LIST| Constructor and Description |
|---|
AttributeProtocolData(Attribute attribute,
ObjectLookup dataModel,
ResultValue value)
Erstellt eine neue Instanz anhand eines Attributs
|
AttributeProtocolData(AttributeType attributeType,
ObjectLookup dataModel,
ResultValue value)
Erstellt eine neue Instanz anhand eines Attributtyps
|
| Modifier and Type | Method and 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.
|
Data |
createUnmodifiableCopy()
Liefert eine nicht modifizierbare Kopie eines Datensatzes zurück.
|
(package private) java.util.List<ResultValue> |
getArrayItems()
Gibt die Array-Einträge als Rohdaten zurück.
|
AttributeType |
getAttributeType()
Liefert den Attribut-Typ eines Datums zurück.
|
protected java.util.List<Data> |
getChildrenList() |
(package private) ObjectLookup |
getDataModel()
Gibt das in diesem Data-Objekt verwendete Datenmodell zurück
|
(package private) ExpressionResult |
getInternalValue()
Gitbt den Wert als Rohdatum 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.
|
private void |
initChildren() |
boolean |
isArray()
Prüft, ob das Datum ein Array ist.
|
boolean |
isDefined()
Prüft, ob das Datum über den Datenverteiler verschickt werden kann.
|
boolean |
isError()
Gibt true zurück, wenn es sich um einen von PuA generierten Fehlerwert handelt.
|
boolean |
isList()
Prüft, ob das Datum eine Liste ist, d.h. aus Sub-Daten besteht.
|
boolean |
isNoChange()
Gibt true zurück, wenn es sich bei diesem Wert um eine NoChange-Markierung handelt.
|
boolean |
isPlain()
Prüft, ob das Datum ein einfaches Datum ohne untergeordnete Sub-Daten ist.
|
convertDataToList, createModifiableCopy, equals, equals, getArray, getReferenceArray, getReferenceValue, getScaledArray, getScaledValue, getTextArray, getTextValue, getTimeArray, getTimeValue, getUnscaledArray, getUnscaledValue, hashCode, isNoChange, iterator, setToDefault, toString, valueToStringprivate final AttributeType _attributeType
private final Attribute _attribute
private final ObjectLookup _dataModel
private final ResultValue _value
private boolean _forceArray
private java.util.List<Data> _childrenByIndex
nullprivate java.util.Map<java.lang.String,AttributeProtocolData> _childrenByString
nullprivate java.util.List<ResultValue> _arrayItems
nullpublic AttributeProtocolData(AttributeType attributeType, ObjectLookup dataModel, ResultValue value) throws java.lang.IllegalArgumentException
attributeType - AttributtypdataModel - dataModelvalue - Wert von PuAjava.lang.IllegalArgumentException - Wenn Attributtyp nicht mit dem Wert von PuA kompatibel ist. Eine gewisse Toleranz ist erlaubt, aber z.B. in einer Liste
kann kein einzelnes atomares Datum sein.public AttributeProtocolData(Attribute attribute, ObjectLookup dataModel, ResultValue value) throws java.lang.IllegalArgumentException
attribute - AttributdataModel - dataModelvalue - Wert von PuAjava.lang.IllegalArgumentException - Wenn Attribut nicht mit dem Wert von PuA kompatibel ist. Eine gewisse Toleranz ist erlaubt, aber z.B. in einer Liste
kann kein einzelnes atomares Datum sein.public Data createUnmodifiableCopy()
de.bsvrz.dav.daf.main.DataObjectLookup getDataModel()
private void initChildren()
throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentExceptionpublic java.lang.String getName()
de.bsvrz.dav.daf.main.Datapublic AttributeType getAttributeType()
de.bsvrz.dav.daf.main.Datapublic boolean isDefined()
de.bsvrz.dav.daf.main.Datatrue 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.public boolean isNoChange()
ProtocolDataisNoChange in class ProtocolDatapublic boolean isList()
de.bsvrz.dav.daf.main.Datatrue, falls das Datum eine Liste ist, sonst false.public boolean isArray()
de.bsvrz.dav.daf.main.Datatrue, falls das Datum ein Array ist, sonst false.public boolean isPlain()
de.bsvrz.dav.daf.main.Datatrue, falls das Datum eine einfaches Datum ist, sonst false.public Data getItem(java.lang.String itemName)
de.bsvrz.dav.daf.main.DataitemName - Name des gewünschten Sub-Datums.public Data.TextValue asTextValue()
de.bsvrz.dav.daf.main.Datapublic Data.TimeValue asTimeValue()
de.bsvrz.dav.daf.main.Datapublic Data.NumberValue asScaledValue()
de.bsvrz.dav.daf.main.Datapublic Data.NumberValue asUnscaledValue()
de.bsvrz.dav.daf.main.Datapublic Data.ReferenceValue asReferenceValue()
de.bsvrz.dav.daf.main.Datapublic Data.Array asArray()
de.bsvrz.dav.daf.main.Datapublic Data.TextArray asTextArray()
de.bsvrz.dav.daf.main.Datapublic Data.TimeArray asTimeArray()
de.bsvrz.dav.daf.main.Datapublic Data.NumberArray asScaledArray()
de.bsvrz.dav.daf.main.Datapublic Data.NumberArray asUnscaledArray()
de.bsvrz.dav.daf.main.Datapublic Data.ReferenceArray asReferenceArray()
de.bsvrz.dav.daf.main.Datajava.util.List<ResultValue> getArrayItems()
ProtocolDataArrayView benutzt.ExpressionResult getInternalValue()
asTextValue() (bzw. dem darim erstellten Kapselungsobjekt) usw. auf den internen Wert zuzugreifen.public boolean isError()
ProtocolDataisError in class ProtocolDataprotected java.util.List<Data> getChildrenList()
getChildrenList in class ProtocolData