Class IfNode
java.lang.Object
com.yahoo.searchlib.rankingexpression.rule.ExpressionNode
com.yahoo.searchlib.rankingexpression.rule.CompositeNode
com.yahoo.searchlib.rankingexpression.rule.IfNode
- All Implemented Interfaces:
Serializable
A conditional branch of a ranking expression.
- Author:
- Simon Thoresen Hult, bratseth
- See Also:
-
Constructor Summary
ConstructorDescriptionIfNode
(ExpressionNode condition, ExpressionNode trueExpression, ExpressionNode falseExpression) IfNode
(ExpressionNode condition, ExpressionNode trueExpression, ExpressionNode falseExpression, Double trueProbability) Creates a new condition node. -
Method Summary
Modifier and TypeMethodDescriptionchildren()
Returns a read-only list containing the immediate children of this composite.Returns the value of evaluating this expression over the given context.The average probability that the condition of this node will evaluate to true, or null if not knownint
hashCode()
Returns a hashcode computed from the data in thissetChildren
(List<ExpressionNode> children) Returns a copy of this where the children is replaced by the given children.toString
(StringBuilder string, SerializationContext context, Deque<String> path, CompositeNode parent) Returns this in serialized form.com.yahoo.tensor.TensorType
Returns the type this will return if evaluated with the given context.Methods inherited from class com.yahoo.searchlib.rankingexpression.rule.ExpressionNode
equals, toString, toString
-
Constructor Details
-
IfNode
public IfNode(ExpressionNode condition, ExpressionNode trueExpression, ExpressionNode falseExpression) -
IfNode
public IfNode(ExpressionNode condition, ExpressionNode trueExpression, ExpressionNode falseExpression, Double trueProbability) Creates a new condition node.- Parameters:
condition
- the condition of thistrueExpression
- the expression to evaluate if the comparison is truefalseExpression
- the expression to evaluate if the comparison is falsetrueProbability
- the probability that the condition will evaluate to true, or null if not known.- Throws:
IllegalArgumentException
- if trueProbability is non-null and not between 0.0 and 1.0
-
-
Method Details
-
children
Description copied from class:CompositeNode
Returns a read-only list containing the immediate children of this composite.- Specified by:
children
in classCompositeNode
- Returns:
- The children of this.
-
getCondition
-
getTrueExpression
-
getFalseExpression
-
getTrueProbability
The average probability that the condition of this node will evaluate to true, or null if not known -
toString
public StringBuilder toString(StringBuilder string, SerializationContext context, Deque<String> path, CompositeNode parent) Description copied from class:ExpressionNode
Returns this in serialized form.- Specified by:
toString
in classExpressionNode
- Parameters:
string
- the StringBuilder that will be appended tocontext
- the serialization contextpath
- the call path to this, used for cycle detection, or null if this is a rootparent
- the parent node of this, or null if it is a root- Returns:
- the main script, referring to script instances.
-
type
Description copied from class:ExpressionNode
Returns the type this will return if evaluated with the given context.- Specified by:
type
in classExpressionNode
- Parameters:
context
- the variable type bindings to use for this evaluation
-
evaluate
Description copied from class:ExpressionNode
Returns the value of evaluating this expression over the given context.- Specified by:
evaluate
in classExpressionNode
- Parameters:
context
- the variable bindings to use for this evaluation
-
setChildren
Description copied from class:CompositeNode
Returns a copy of this where the children is replaced by the given children.- Specified by:
setChildren
in classCompositeNode
-
hashCode
public int hashCode()Description copied from class:ExpressionNode
Returns a hashcode computed from the data in this- Specified by:
hashCode
in classExpressionNode
-