Class ExpressionResult

  • All Implemented Interfaces:
    java.io.Serializable

    public final class ExpressionResult
    extends java.lang.Object
    implements java.io.Serializable
    Enthält Werte die von PuA verarbeitet und an den Client gesendet werden. Dabei handelt es sich entweder um Werte direkt vom Datenempfänger oder um das Ergebnis der Auswertung eines ExpressionTree

    Folgende Werte sind möglich:

    • Boolean (Ja/Nein)
    • Long (Unskalierte Integer-Werte)
    • Double (Skalierte Integer-Werte)
    • String (Text)
    • Status (Spezielle Statuswerte ausßerhalb des Wertebereichs, vgl. IntegerValueState)
    • Error (Fehlermeldungen und -werte)
    • None (Kein Wert)
    Es soll eine automatische Konvertierung der Werte erfolgen, so dass auch andere Methoden einen Wert zurückliefern. Die möglichen Konvertierungen werden in den jeweiligen get-Methoden beschrieben.
    See Also:
    Serialized Form
    • Method Summary

      Modifier and Type Method Description
      ExpressionResult clone()  
      boolean equals​(java.lang.Object object)  
      static ExpressionResult error()
      Deprecated.
      Es sollte eine Fehlermeldung angegeben werden
      static ExpressionResult error​(java.lang.String errorMsg)
      Markiert das Ergebnis als Fehlerhaft.
      boolean getBool()
      Gibt den Boolean-Wert dieses ExpressionResult zurück.
      double getDouble()
      Gibt den (skalierten) Double-Wert dieses ExpressionResult zurück.
      long getLong()
      Gibt den (unskalierten) Long-Wert dieses ExpressionResult zurück.
      java.lang.String getString()
      Gibt den String-Wert dieses ExpressionResult zurück.
      ExpressionResult.ResultType getType()
      Liefert den Typ des Ergebnisses zurück.
      int hashCode()  
      boolean hasValue()
      Zeigt an ob ein Ergebnis vorliegt.
      boolean isArithmetic()  
      static ExpressionResult noChange()  
      void set​(boolean b)
      Setzt den Wert dieses ExpressionResults auf den angegebenen Wahrheitswert.
      void set​(double d)
      Setzt den Wert dieses ExpressionResults auf den angegebenen Double-Wert.
      void set​(ExpressionResult result)
      Übernimmt den Wert des übergebenen ExpressionResults.
      void set​(java.lang.String s)
      Setzt den Wert dieses ExpressionResults auf den angegebenen String-Wert.
      void setError()
      Deprecated.
      void setError​(java.lang.String errorMsg)
      Markiert das Ergebnis als Fehlerhaft.
      void setNoChange()  
      void setState​(java.lang.String name, boolean inRange)
      Setzt einen Statuswert
      void setUnscaledValue​(long l)
      Setzt den Wert dieses ExpressionResults auf den angegebenen Long-Wert.
      void setUnscaledValue​(long l, double conversionFactor)
      Setzt den Wert dieses ExpressionResults auf den angegebenen Long-Wert.
      static ExpressionResult state​(java.lang.String state)  
      static ExpressionResult state​(java.lang.String state, long value, double conversionFactor)  
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • ExpressionResult

        public ExpressionResult​(java.lang.String message)
        Erzeugt ein ExpressionResult mit dem Typ ExpressionResult.ResultType.STRING.
        Parameters:
        message - Text, der abgelegt wird.
      • ExpressionResult

        @Deprecated
        public ExpressionResult​(long l)
        Deprecated.
        Funktion macht keine Unterscheidung bei skalierten Werten
        Erzeugt ein ExpressionResult mit dem Typ ExpressionResult.ResultType.LONG, also einer ganzen Zahl.
        Parameters:
        l - Zahl, die abgelegt wird.
      • ExpressionResult

        public ExpressionResult​(long l,
                                double conversionFactor)
        Erzeugt ein ExpressionResult mit dem Typ ExpressionResult.ResultType.LONG, also einer ganzen Zahl.
        Parameters:
        l - Zahl, die abgelegt wird.
        conversionFactor - Skalierungsfaktor für den Double-Wert
      • ExpressionResult

        public ExpressionResult​(double d)
        Erzeugt ein ExpressionResult mit einem Fließkomma-Wert.
        Parameters:
        d - Zahl, die abgelegt wird.
      • ExpressionResult

        public ExpressionResult​(boolean b)
        Erzeugt ein ExpressionResult mit einem Bool-Wert.
        Parameters:
        b - Wert
    • Method Detail

      • set

        public void set​(boolean b)
        Setzt den Wert dieses ExpressionResults auf den angegebenen Wahrheitswert.
        Parameters:
        b - Wert
      • setUnscaledValue

        public void setUnscaledValue​(long l)
        Setzt den Wert dieses ExpressionResults auf den angegebenen Long-Wert.
        Parameters:
        l - Wert
      • setUnscaledValue

        public void setUnscaledValue​(long l,
                                     double conversionFactor)
        Setzt den Wert dieses ExpressionResults auf den angegebenen Long-Wert.
        Parameters:
        l - Wert
        conversionFactor - Skalierungsfaktor für den Double-Wert
      • set

        public void set​(double d)
        Setzt den Wert dieses ExpressionResults auf den angegebenen Double-Wert.
        Parameters:
        d - Wert
      • set

        public void set​(java.lang.String s)
        Setzt den Wert dieses ExpressionResults auf den angegebenen String-Wert.
        Parameters:
        s - Wert
      • set

        public void set​(ExpressionResult result)
        Übernimmt den Wert des übergebenen ExpressionResults. Die Werte werden kopiert. Es erfolgt keine Referenzierung.
        Parameters:
        result - ExpressionResult
      • setState

        public void setState​(java.lang.String name,
                             boolean inRange)
        Setzt einen Statuswert
        Parameters:
        name - Name/Bezeichnung des Statuswerts
        inRange - Ist der Wert innerhalb des Wertebereichs? Falls der Parameter auf true gesetzt ist muss vorher mit setUnscaledValue(long) o.ä. eine Ganzzahl gesetzt worden sein.
      • error

        @Deprecated
        public static ExpressionResult error()
        Deprecated.
        Es sollte eine Fehlermeldung angegeben werden
        Markiert das Objekt als Fehlerhaft.
        Returns:
        Gibt ein Objekt mit Typ 'Error' zurück
      • error

        public static ExpressionResult error​(java.lang.String errorMsg)
        Markiert das Ergebnis als Fehlerhaft. Eine Fehlerbeschreibung kann mit getString() abgerufen werden.
        Parameters:
        errorMsg - Fehlerbeschreibung.
        Returns:
        Gibt ein Objekt mit Typ 'Error' zurück
      • setError

        @Deprecated
        public void setError()
        Deprecated.
        Markiert das Ergebnis als Fehlerhaft.
      • setError

        public void setError​(java.lang.String errorMsg)
        Markiert das Ergebnis als Fehlerhaft.
        Parameters:
        errorMsg - Fehlermeldung.
      • getBool

        public boolean getBool()
        Gibt den Boolean-Wert dieses ExpressionResult zurück. Genauer gesagt ist die Rückgabe anhängig vom Typ:
        BOOL
        Boolean-Wert
        LONG
        false
        DOUBLE
        false
        STRING
        false
        STATUS
        false
        ERROR
        false
        NONE
        false
        Returns:
        Boolean-Wert dieses ExpressionResult
      • getLong

        public long getLong()
        Gibt den (unskalierten) Long-Wert dieses ExpressionResult zurück. Genauer gesagt ist die Rückgabe anhängig vom Typ:
        BOOL
        0 (False) oder 1 (True)
        LONG
        Gespeicherter Long-Wert
        DOUBLE
        Mit Math.round(double) gerundeter Double-Wert
        STRING
        0
        STATUS
        0 (Hinweis: Der STATUS-Typ wird nur für Werte außerhalb des Wertebereichs benutzt.)
        ERROR
        0
        NONE
        0
        Returns:
        Long-Wert dieses ExpressionResult
      • getDouble

        public double getDouble()
        Gibt den (skalierten) Double-Wert dieses ExpressionResult zurück. Genauer gesagt ist die Rückgabe anhängig vom Typ:
        BOOL
        0.0 (False) oder 1.0 (True)
        LONG
        Gespeicherter Long-Wert in Double konvertiert. PuA-Seitig: Skalierter Wert, Client-Seitig: Unskalierter Wert.
        DOUBLE
        Gespeicherter Double-Wert
        STRING
        0.0
        STATUS
        0.0 (Hinweis: Der STATUS-Typ wird nur für Werte außerhalb des Wertebereichs benutzt.)
        ERROR
        0.0
        NONE
        0.0
        Returns:
        Double-Wert dieses ExpressionResult
      • getString

        public java.lang.String getString()
        Gibt den String-Wert dieses ExpressionResult zurück. Genauer gesagt ist die Rückgabe anhängig vom Typ:
        BOOL
        "true"/"false"
        LONG
        Gespeicherter Long-Wert in String konvertiert. PuA-Seitig auch: Der Name des Status-Wert falls der Wert sich innerhalb des Wertebereichs befindet.
        DOUBLE
        Gespeicherter Double-Wert mit einem deutschen Zahlenformat in String konvertiert
        STRING
        Gespeicherter String-Wert
        STATUS
        Name des gespeicherten Status-Wertes. (Hinweis: Der STATUS-Typ wird nur für Werte außerhalb des Wertebereichs benutzt.)
        ERROR
        Falls vorhanden Fehlerbeschreibung, sonst null.
        NONE
        null
        Returns:
        String-Wert dieses ExpressionResult
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • hasValue

        public boolean hasValue()
        Zeigt an ob ein Ergebnis vorliegt. Prüft dazu ob der Typ ungleich Error und None ist. Gibt false zurück, falls getType() none oder error liefert.
        Returns:
        true falls ein Ergebnis vorliegt.falsesonst.
      • 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
      • isArithmetic

        public boolean isArithmetic()
        Returns:
        true falls das Objekt einen Zahlenwert repräsentiert.
      • clone

        public ExpressionResult clone()
        Overrides:
        clone in class java.lang.Object
        See Also:
        Object.clone()
      • setNoChange

        public void setNoChange()
      • state

        public static ExpressionResult state​(java.lang.String state,
                                             long value,
                                             double conversionFactor)