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.SerializableEnthä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 classResultValue.ResultValueOperationDeprecated.
-
Field Summary
Fields Modifier and Type Field Description protected java.util.List<ResultValue>_childrenKinder, falls ResultValue nicht-atomares Element repräsentiert.protected ExpressionResult_valueWert, falls ResultValue atomar.static longINVALID_IDWird für Referenzen vergeben, denen kein Objekt zugeordnet ist.
-
Constructor Summary
Constructors Modifier Constructor Description protectedResultValue()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 ResultValuecloneForAggregation()Deprecated.Eine bessere Alternavtive istAggregationResultValue.create(ResultValue, Supplier, AbstractAggregation)booleanequals(java.lang.Object object)java.util.List<ResultValue>getChildren()ExpressionResultgetValue()booleanhasData()Zeigt an ob Daten vorhanden sind.inthashCode()booleanisAtomar()booleanisSummable()Zeigt an, ob der Wert in einer Aggregation verwendet werden darf.ResultValueperformOperation(ResultValue other, ResultValue.ResultValueOperation operation)Deprecated.Diese Methode wird nicht mehr aufgerufen und in Zukunft entfernt.voidset(ExpressionResult result)Setzt den Wert des Objekts.java.lang.StringtoString()voidtruncChildren(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 demDataObjekt.- 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:
truefalls 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 ersteniWerte behalten, alle weiteren werden verworfen.- Parameters:
i- Neue Länge. Muss zwischen0undliegen.getChildren().size()
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object- See Also:
Object.toString()
-
equals
public boolean equals(java.lang.Object object)
- Overrides:
equalsin classjava.lang.Object- See Also:
Object.equals(java.lang.Object)
-
hashCode
public int hashCode()
- Overrides:
hashCodein 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.thisist 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.NONEgesetzt.- 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.NONEerhalten.- 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:
truefalls der Wert von einer Aggregation verwendet werden darf,falsesonst.
-
-