Package de.bsvrz.pua.prot.util
Class ResultValue
- java.lang.Object
-
- de.bsvrz.pua.prot.util.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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ResultValue.ResultValueOperation
Deprecated.
-
Field Summary
Fields Modifier and Type Field Description protected java.util.List<ResultValue>
_children
Kinder, falls ResultValue nicht-atomares Element repräsentiert.protected ExpressionResult
_value
Wert, falls ResultValue atomar.static long
INVALID_ID
Wird für Referenzen vergeben, denen kein Objekt zugeordnet ist.
-
Constructor Summary
Constructors Modifier Constructor Description protected
ResultValue()
Nötig zum Deserialisieren.ResultValue(de.bsvrz.dav.daf.main.Data data)
Erzeugt Objekt für reales oder temporäres Attribut oder eine Attributgruppe.ResultValue(ExpressionResult expressionResult)
ResultValue(java.util.List<ResultValue> children)
-
Method Summary
Modifier and Type Method Description ResultValue
cloneForAggregation()
Deprecated.Eine bessere Alternavtive istAggregationResultValue.create(ResultValue, Supplier, AbstractAggregation)
boolean
equals(java.lang.Object object)
java.util.List<ResultValue>
getChildren()
ExpressionResult
getValue()
boolean
hasData()
Zeigt an ob Daten vorhanden sind.int
hashCode()
boolean
isAtomar()
boolean
isSummable()
Zeigt an, ob der Wert in einer Aggregation verwendet werden darf.ResultValue
performOperation(ResultValue other, ResultValue.ResultValueOperation operation)
Deprecated.Diese Methode wird nicht mehr aufgerufen und in Zukunft entfernt.void
set(ExpressionResult result)
Setzt den Wert des Objekts.java.lang.String
toString()
void
truncChildren(int i)
Verkleinert die Liste mit den Werten.
-
-
-
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(de.bsvrz.dav.daf.main.Data data)
Erzeugt Objekt für reales oder temporäres Attribut oder eine Attributgruppe. Holt den Wert aus demData
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 ersteni
Werte behalten, alle weiteren werden verworfen.- Parameters:
i
- Neue Länge. Muss zwischen0
und
liegen.getChildren()
.size()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
- See Also:
Object.toString()
-
equals
public boolean equals(java.lang.Object object)
- Overrides:
equals
in classjava.lang.Object
- See Also:
Object.equals(java.lang.Object)
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.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 aufExpressionResult.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
-
cloneForAggregation
@Deprecated public ResultValue cloneForAggregation() throws java.lang.CloneNotSupportedException
Deprecated.Eine bessere Alternavtive istAggregationResultValue.create(ResultValue, Supplier, AbstractAggregation)
Erstellt eine Kopie des Objekts, bei der für die Aggregation ungeeignete Werte den TypExpressionResult.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.
-
-