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, valueToString
private final AttributeType _attributeType
private final Attribute _attribute
private final ObjectLookup _dataModel
private final ResultValue _value
private boolean _forceArray
private java.util.List<Data> _childrenByIndex
null
private java.util.Map<java.lang.String,AttributeProtocolData> _childrenByString
null
private java.util.List<ResultValue> _arrayItems
null
public 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.Data
ObjectLookup getDataModel()
private void initChildren() throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
public java.lang.String getName()
de.bsvrz.dav.daf.main.Data
public AttributeType getAttributeType()
de.bsvrz.dav.daf.main.Data
public boolean isDefined()
de.bsvrz.dav.daf.main.Data
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.public boolean isNoChange()
ProtocolData
isNoChange
in class ProtocolData
public boolean isList()
de.bsvrz.dav.daf.main.Data
true
, falls das Datum eine Liste ist, sonst false
.public boolean isArray()
de.bsvrz.dav.daf.main.Data
true
, falls das Datum ein Array ist, sonst false
.public boolean isPlain()
de.bsvrz.dav.daf.main.Data
true
, falls das Datum eine einfaches Datum ist, sonst false
.public Data getItem(java.lang.String itemName)
de.bsvrz.dav.daf.main.Data
itemName
- Name des gewünschten Sub-Datums.public Data.TextValue asTextValue()
de.bsvrz.dav.daf.main.Data
public Data.TimeValue asTimeValue()
de.bsvrz.dav.daf.main.Data
public Data.NumberValue asScaledValue()
de.bsvrz.dav.daf.main.Data
public Data.NumberValue asUnscaledValue()
de.bsvrz.dav.daf.main.Data
public Data.ReferenceValue asReferenceValue()
de.bsvrz.dav.daf.main.Data
public Data.Array asArray()
de.bsvrz.dav.daf.main.Data
public Data.TextArray asTextArray()
de.bsvrz.dav.daf.main.Data
public Data.TimeArray asTimeArray()
de.bsvrz.dav.daf.main.Data
public Data.NumberArray asScaledArray()
de.bsvrz.dav.daf.main.Data
public Data.NumberArray asUnscaledArray()
de.bsvrz.dav.daf.main.Data
public Data.ReferenceArray asReferenceArray()
de.bsvrz.dav.daf.main.Data
java.util.List<ResultValue> getArrayItems()
ProtocolDataArrayView
benutzt.ExpressionResult getInternalValue()
asTextValue()
(bzw. dem darim erstellten Kapselungsobjekt) usw. auf den internen Wert zuzugreifen.public boolean isError()
ProtocolData
isError
in class ProtocolData
protected java.util.List<Data> getChildrenList()
getChildrenList
in class ProtocolData