Class IfNode

  • All Implemented Interfaces:
    java.io.Serializable

    public final class IfNode
    extends CompositeNode
    A conditional branch of a ranking expression.
    Author:
    Simon Thoresen Hult, bratseth
    See Also:
    Serialized Form
    • Constructor Detail

      • IfNode

        public IfNode​(ExpressionNode condition,
                      ExpressionNode trueExpression,
                      ExpressionNode falseExpression,
                      java.lang.Double trueProbability)
        Creates a new condition node.
        Parameters:
        condition - the condition of this
        trueExpression - the expression to evaluate if the comparison is true
        falseExpression - the expression to evaluate if the comparison is false
        trueProbability - the probability that the condition will evaluate to true, or null if not known.
        Throws:
        java.lang.IllegalArgumentException - if trueProbability is non-null and not between 0.0 and 1.0
    • Method Detail

      • children

        public java.util.List<ExpressionNode> children()
        Description copied from class: CompositeNode

        Returns a read-only list containing the immediate children of this composite

        Specified by:
        children in class CompositeNode
        Returns:
        The children of this.
      • getTrueProbability

        public java.lang.Double getTrueProbability()
        The average probability that the condition of this node will evaluate to true, or null if not known
      • toString

        public java.lang.StringBuilder toString​(java.lang.StringBuilder string,
                                                SerializationContext context,
                                                java.util.Deque<java.lang.String> path,
                                                CompositeNode parent)
        Description copied from class: ExpressionNode
        Returns a script instance of this based on the supplied script functions.
        Specified by:
        toString in class ExpressionNode
        Parameters:
        string - the StringBuilder that will be appended to
        context - the serialization context
        path - the call path to this, used for cycle detection, or null if this is a root
        parent - the parent node of this, or null if it a root
        Returns:
        the main script, referring to script instances.
      • type

        public com.yahoo.tensor.TensorType type​(com.yahoo.tensor.evaluation.TypeContext<Reference> context)
        Description copied from class: ExpressionNode
        Returns the type this will return if evaluated with the given context.
        Specified by:
        type in class ExpressionNode
        Parameters:
        context - the variable type bindings to use for this evaluation
      • evaluate

        public Value evaluate​(Context context)
        Description copied from class: ExpressionNode
        Returns the value of evaluating this expression over the given context.
        Specified by:
        evaluate in class ExpressionNode
        Parameters:
        context - the variable bindings to use for this evaluation