Class ResultValue

  • All Implemented Interfaces:
    java.io.Serializable
    Direct Known Subclasses:
    AggregationResultValue, ImmutableResultValue

    public class ResultValue
    extends java.lang.Object
    implements java.io.Serializable
    Enthält einen Wert für eine Spalte des Protokolldatensatzes, d.h. den Wert eines realen oder temporären Attributs oder einer Attributgruppe.
    Wichtig:
    1. Unterstützt keine Bitfelder! Diese werden von Dem K2S Serialisierer nicht unterstützt!
    2. Grund, warum keine Data Objekte versandt werden. Seitens der Kernsoftware ist es nur vorgesehen, Data Objekte zu übertragen, die eine Attributgruppe abbilden. Teile einer Attributgruppe können nicht übertragen werden. Aber gerade dies wird für PuA benötigt - da man ja auch einzelne Attributwerte übertragen soll!
    See Also:
    Serialized Form
    • Field Detail

      • INVALID_ID

        public static final long INVALID_ID
        Wird für Referenzen vergeben, denen kein Objekt zugeordnet ist.
        See Also:
        Constant Field Values
      • _children

        protected java.util.List<ResultValue> _children
        Kinder, falls ResultValue nicht-atomares Element repräsentiert. (Listen, Felder, Attributgruppen, etc).
    • Constructor Detail

      • ResultValue

        public ResultValue​(de.bsvrz.dav.daf.main.Data data)
        Erzeugt Objekt für reales oder temporäres Attribut oder eine Attributgruppe. Holt den Wert aus dem Data Objekt.
        Parameters:
        data - Daten.
      • ResultValue

        public ResultValue​(java.util.List<ResultValue> children)
      • ResultValue

        public ResultValue​(ExpressionResult expressionResult)
        Parameters:
        expressionResult - Ergebnis eines Ausdrucks
      • ResultValue

        protected ResultValue()
        Nötig zum Deserialisieren. Sollte nicht verwendet werden.
    • Method Detail

      • isAtomar

        public final boolean isAtomar()
        Returns:
        Zeigt an ob nur ein Wert gespeichert wird, oder mehrere.
      • hasData

        public final boolean hasData()
        Zeigt an ob Daten vorhanden sind.
        Returns:
        true falls Daten abholbereit sind.
      • getValue

        public final ExpressionResult getValue()
        Returns:
        Liefert den Wert zurück, falls es sich um ein einfaches Attribut handelt.
      • getChildren

        public java.util.List<ResultValue> getChildren()
        Returns:
        Returns the children.
      • truncChildren

        public void truncChildren​(int i)
        Verkleinert die Liste mit den Werten. Es werden nur die ersten i Werte behalten, alle weiteren werden verworfen.
        Parameters:
        i - Neue Länge. Muss zwischen 0 und getChildren().size() liegen.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
        See Also:
        Object.toString()
      • equals

        public boolean equals​(java.lang.Object object)
        Overrides:
        equals in class java.lang.Object
        See Also:
        Object.equals(java.lang.Object)
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • performOperation

        @Deprecated
        public ResultValue performOperation​(ResultValue other,
                                            ResultValue.ResultValueOperation operation)
        Deprecated.
        Diese Methode wird nicht mehr aufgerufen und in Zukunft entfernt.
        Führt eine arithmetische Operation durch. this ist dabei der linke Operand. Die beiden Objekte müssen die gleiche Struktur haben. Kann die Operation nicht angewendet werden, so wird der Wert des Rückgabewerts auf ExpressionResult.ResultType.NONE gesetzt.
        Parameters:
        other - Rechter Operand.
        operation - Operation.
        Returns:
        this
      • set

        public void set​(ExpressionResult result)
        Setzt den Wert des Objekts.
        Parameters:
        result - ExpressionResult
      • isSummable

        public boolean isSummable()
        Zeigt an, ob der Wert in einer Aggregation verwendet werden darf.
        Returns:
        true falls der Wert von einer Aggregation verwendet werden darf, false sonst.