Class AttributeProtocolData

  • All Implemented Interfaces:
    de.bsvrz.dav.daf.main.Data, java.lang.Iterable<de.bsvrz.dav.daf.main.Data>

    public class AttributeProtocolData
    extends ProtocolData
    Ein Datenobjekt, dass einen PuA-Ergebnisdatensatz mit dem zugehörigen Attributtyp verknüpft und damit einen einfachen Zugriff auf das Ergebnis bietet.

    Bietet eine Kapselung der Protokolldaten in ein Interface, wie es Dav-Daten benutzen. Anders als Dav-Daten sind diese Daten nicht streng an die verwendete Attributgruppe bzw. das verwendete Attribut gebunden (sofern überhaupt eines existiert). Je nach Anwendungsfall bieten sich daher auch Abfragen nach 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.
    • Constructor Detail

      • AttributeProtocolData

        public AttributeProtocolData​(de.bsvrz.dav.daf.main.config.AttributeType attributeType,
                                     de.bsvrz.dav.daf.main.config.ObjectLookup dataModel,
                                     ResultValue value)
                              throws java.lang.IllegalArgumentException
        Erstellt eine neue Instanz anhand eines Attributtyps
        Parameters:
        attributeType - Attributtyp
        dataModel - dataModel
        value - Wert von PuA
        Throws:
        java.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.
      • AttributeProtocolData

        public AttributeProtocolData​(de.bsvrz.dav.daf.main.config.Attribute attribute,
                                     de.bsvrz.dav.daf.main.config.ObjectLookup dataModel,
                                     ResultValue value)
                              throws java.lang.IllegalArgumentException
        Erstellt eine neue Instanz anhand eines Attributs
        Parameters:
        attribute - Attribut
        dataModel - dataModel
        value - Wert von PuA
        Throws:
        java.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.
    • Method Detail

      • createUnmodifiableCopy

        public de.bsvrz.dav.daf.main.Data createUnmodifiableCopy()
      • getName

        public java.lang.String getName()
      • getAttributeType

        public de.bsvrz.dav.daf.main.config.AttributeType getAttributeType()
      • isDefined

        public boolean isDefined()
      • isNoChange

        public boolean isNoChange()
        Description copied from class: ProtocolData
        Gibt true zurück, wenn es sich bei diesem Wert um eine NoChange-Markierung handelt. NoChange-Markierungen dieser Art werden PuA-Seitig generiert, wenn es sich um ein Zustandsprotokoll handelt und die NoChange-Datensätze pro Zelle (statt pro ganzer Zeile) gebildet werden sollen.
        Specified by:
        isNoChange in class ProtocolData
        Returns:
        true, wenn es sich um eine NoChange-Markierung handelt, sonst false
      • isList

        public boolean isList()
      • isArray

        public boolean isArray()
      • isPlain

        public boolean isPlain()
      • getItem

        public de.bsvrz.dav.daf.main.Data getItem​(java.lang.String itemName)
      • asTextValue

        public de.bsvrz.dav.daf.main.Data.TextValue asTextValue()
      • asTimeValue

        public de.bsvrz.dav.daf.main.Data.TimeValue asTimeValue()
      • asScaledValue

        public de.bsvrz.dav.daf.main.Data.NumberValue asScaledValue()
      • asUnscaledValue

        public de.bsvrz.dav.daf.main.Data.NumberValue asUnscaledValue()
      • asReferenceValue

        public de.bsvrz.dav.daf.main.Data.ReferenceValue asReferenceValue()
      • asArray

        public de.bsvrz.dav.daf.main.Data.Array asArray()
      • asTextArray

        public de.bsvrz.dav.daf.main.Data.TextArray asTextArray()
      • asTimeArray

        public de.bsvrz.dav.daf.main.Data.TimeArray asTimeArray()
      • asScaledArray

        public de.bsvrz.dav.daf.main.Data.NumberArray asScaledArray()
      • asUnscaledArray

        public de.bsvrz.dav.daf.main.Data.NumberArray asUnscaledArray()
      • asReferenceArray

        public de.bsvrz.dav.daf.main.Data.ReferenceArray asReferenceArray()
      • isError

        public boolean isError()
        Description copied from class: ProtocolData
        Gibt true zurück, wenn es sich um einen von PuA generierten Fehlerwert handelt. Dieser kann beispielsweise in einem temporären Attribut bei einer Division durch 0 entstehen.
        Specified by:
        isError in class ProtocolData
        Returns:
        true, wenn es sich um einen von PuA generierten Fehlerwert handelt, sonst false
      • getChildrenList

        protected java.util.List<de.bsvrz.dav.daf.main.Data> getChildrenList()
        Specified by:
        getChildrenList in class ProtocolData