Package com.yahoo.searchlib.expression
Class StringResultNode
- java.lang.Object
-
- com.yahoo.vespa.objects.Selectable
-
- com.yahoo.vespa.objects.Identifiable
-
- com.yahoo.searchlib.expression.ResultNode
-
- com.yahoo.searchlib.expression.SingleResultNode
-
- com.yahoo.searchlib.expression.StringResultNode
-
- All Implemented Interfaces:
Cloneable
,Comparable<ResultNode>
public class StringResultNode extends SingleResultNode
This result holds a string.- Author:
- baldersheim, Simon Thoresen Hult
-
-
Field Summary
Fields Modifier and Type Field Description static int
classId
-
Constructor Summary
Constructors Constructor Description StringResultNode()
Constructs an empty result node.StringResultNode(String value)
Constructs an instance of this class with given value.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(ResultNode rhs)
In-place addition of this result with another.void
append(ResultNode rhs)
double
getFloat()
Returns the float representation of this result.long
getInteger()
Returns the integer representation of this result.static StringResultNode
getNegativeInfinity()
Will provide the smallest possible valuestatic PositiveInfinityResultNode
getPositiveInfinity()
Will provide the largest possible valuebyte[]
getRaw()
Returns the raw byte array representation of this result.String
getString()
Returns the string representation of this result.Object
getValue()
Return a java native, either String, Double or Long, depending on the underlying container.int
hashCode()
void
max(ResultNode rhs)
Swaps the numerical value of this node with the larger of this and the other.void
min(ResultNode rhs)
Swaps the numerical value of this node with the smaller of this and the other.void
negate()
Negate the value contained within the result node.protected static StringResultNode
ofUncheckedUtf8Array(byte[] rawUtf8Value)
Creates a new StringResultNode backed by an underlying byte array.protected int
onCmp(ResultNode rhs)
This method must be implemented by all subclasses of this to allow ordering of results.protected void
onDeserialize(com.yahoo.vespa.objects.Deserializer buf)
protected int
onGetClassId()
protected void
onSerialize(com.yahoo.vespa.objects.Serializer buf)
void
set(ResultNode rhs)
This method must be implemented by all subclasses of this to allow new results to be calculated.StringResultNode
setValue(String value)
Sets the value of this result.void
visitMembers(com.yahoo.vespa.objects.ObjectVisitor visitor)
-
Methods inherited from class com.yahoo.searchlib.expression.ResultNode
compareTo, equals
-
-
-
-
Constructor Detail
-
StringResultNode
public StringResultNode()
Constructs an empty result node. NOTE: This instance is broken until non-optional member data is set.
-
StringResultNode
public StringResultNode(String value)
Constructs an instance of this class with given value.- Parameters:
value
- The value to assign to this.
-
-
Method Detail
-
ofUncheckedUtf8Array
protected static StringResultNode ofUncheckedUtf8Array(byte[] rawUtf8Value)
Creates a new StringResultNode backed by an underlying byte array. The input is presumed to be in valid UTF-8 format, but is _not_ checked for validity.
-
setValue
public StringResultNode setValue(String value)
Sets the value of this result.- Parameters:
value
- The value to set.- Returns:
- This, to allow chaining.
-
onGetClassId
protected int onGetClassId()
- Overrides:
onGetClassId
in classResultNode
-
onSerialize
protected void onSerialize(com.yahoo.vespa.objects.Serializer buf)
- Overrides:
onSerialize
in classcom.yahoo.vespa.objects.Identifiable
-
onDeserialize
protected void onDeserialize(com.yahoo.vespa.objects.Deserializer buf)
- Overrides:
onDeserialize
in classcom.yahoo.vespa.objects.Identifiable
-
getInteger
public long getInteger()
Description copied from class:ResultNode
Returns the integer representation of this result.- Specified by:
getInteger
in classResultNode
- Returns:
- The value of this.
-
getFloat
public double getFloat()
Description copied from class:ResultNode
Returns the float representation of this result.- Specified by:
getFloat
in classResultNode
- Returns:
- The value of this.
-
getString
public String getString()
Description copied from class:ResultNode
Returns the string representation of this result.- Specified by:
getString
in classResultNode
- Returns:
- The value of this.
-
getRaw
public byte[] getRaw()
Description copied from class:ResultNode
Returns the raw byte array representation of this result.- Specified by:
getRaw
in classResultNode
- Returns:
- The value of this.
-
onCmp
protected int onCmp(ResultNode rhs)
Description copied from class:ResultNode
This method must be implemented by all subclasses of this to allow ordering of results. This method is used by theCloneable
implementation.- Specified by:
onCmp
in classResultNode
- Parameters:
rhs
- The other node to compare with.- Returns:
- Comparable result.
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classcom.yahoo.vespa.objects.Identifiable
-
visitMembers
public void visitMembers(com.yahoo.vespa.objects.ObjectVisitor visitor)
- Overrides:
visitMembers
in classcom.yahoo.vespa.objects.Identifiable
-
add
public void add(ResultNode rhs)
Description copied from class:SingleResultNode
In-place addition of this result with another.- Specified by:
add
in classSingleResultNode
- Parameters:
rhs
- The result to add to this.
-
min
public void min(ResultNode rhs)
Description copied from class:SingleResultNode
Swaps the numerical value of this node with the smaller of this and the other.- Specified by:
min
in classSingleResultNode
- Parameters:
rhs
- The other result to evaluate.
-
max
public void max(ResultNode rhs)
Description copied from class:SingleResultNode
Swaps the numerical value of this node with the larger of this and the other.- Specified by:
max
in classSingleResultNode
- Parameters:
rhs
- The other result to evaluate.
-
append
public void append(ResultNode rhs)
-
getValue
public Object getValue()
Description copied from class:SingleResultNode
Return a java native, either String, Double or Long, depending on the underlying container.- Specified by:
getValue
in classSingleResultNode
- Returns:
- The underlying numeric value.
-
set
public void set(ResultNode rhs)
Description copied from class:ResultNode
This method must be implemented by all subclasses of this to allow new results to be calculated.- Specified by:
set
in classResultNode
- Parameters:
rhs
- The node to get the result from.
-
negate
public void negate()
Description copied from class:ResultNode
Negate the value contained within the result node.- Overrides:
negate
in classResultNode
-
getNegativeInfinity
public static StringResultNode getNegativeInfinity()
Will provide the smallest possible value- Returns:
- the smallest possible IntegerResultNode
-
getPositiveInfinity
public static PositiveInfinityResultNode getPositiveInfinity()
Will provide the largest possible value- Returns:
- the smallest largest IntegerResultNode
-
-