de.bsvrz.pua.prot.util
Class ResultValue

java.lang.Object
  extended by de.bsvrz.pua.prot.util.ResultValue
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
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!

Version:
$Revision: 1.4 $ / $Date: 2008/06/02 15:01:42 $ / ($Author: martinh $)
Author:
beck et al. projects GmbH, Martin Hilgers
See Also:
Serialized Form

Nested Class Summary
static class ResultValue.ResultValueOperation
          Operationen die auf ResultValue Objekten durchgeführt werden können.
 
Field Summary
protected  java.util.List<ResultValue> children
          Kinder, falls ResultValue nicht-atomares Element repräsentiert.
static long INVALID_ID
          Wird für Referenzen vergeben, denen kein Objekt zugeordnet ist.
protected  ExpressionResult value
          Wert, falls ResultValue atomar.
 
Constructor Summary
protected ResultValue()
          Nötig zum Deserialisieren.
  ResultValue(Data data)
          Erzeugt Objekt für reales oder temporäres Attribut oder eine Attributgruppe.
 
Method Summary
 ResultValue cloneForAggregation()
          Erstellt eine Kopie des Objekts, bei der für die Aggregation ungeeignete Werte den Typ ExpressionResult.ResultType.NONE erhalten.
 boolean equals(java.lang.Object object)
           
 java.util.List<ResultValue> getChildren()
           
 ExpressionResult getValue()
           
 boolean hasData()
          Zeigt an ob Daten vorhanden sind.
 boolean isAtomar()
           
 boolean isSummable()
          Zeigt an, ob der Wert in einer Aggregation verwendet werden darf.
 ResultValue performOperation(ResultValue other, ResultValue.ResultValueOperation operation)
          Führt eine arithmetische Operation durch.
 void set(ExpressionResult result)
          Setzt den Wert des Objekts.
 java.lang.String toString()
           
 void truncChildren(int i)
          Verkleinert die Liste mit den Werten.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

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

value

protected ExpressionResult value
Wert, falls ResultValue atomar.


children

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

Constructor Detail

ResultValue

public ResultValue(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

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

Method Detail

isAtomar

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

hasData

public boolean hasData()
Zeigt an ob Daten vorhanden sind.

Returns:
true falls Daten abholbereit sind.

getValue

public 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)

performOperation

public ResultValue performOperation(ResultValue other,
                                    ResultValue.ResultValueOperation operation)
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 -

cloneForAggregation

public ResultValue cloneForAggregation()
                                throws java.lang.CloneNotSupportedException
Erstellt eine Kopie des Objekts, bei der für die Aggregation ungeeignete Werte den Typ ExpressionResult.ResultType.NONE erhalten.

Returns:
Kopie des Objekts.
Throws:
java.lang.CloneNotSupportedException - Fehler beim Klonen.
See Also:
Object.clone()

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.


Copyright © 2005-2008 beck et al. projects GmbH All Rights Reserved.