Class ReferenceNode

  • All Implemented Interfaces:
    java.io.Serializable

    public final class ReferenceNode
    extends CompositeNode
    A node referring either to a value in the context or to a named ranking expression function.
    Author:
    bratseth
    See Also:
    Serialized Form
    • Constructor Detail

      • ReferenceNode

        public ReferenceNode​(java.lang.String name)
      • ReferenceNode

        public ReferenceNode​(java.lang.String name,
                             java.util.List<? extends ExpressionNode> arguments,
                             java.lang.String output)
      • ReferenceNode

        public ReferenceNode​(Reference reference)
    • Method Detail

      • getName

        public java.lang.String getName()
      • getArguments

        public Arguments getArguments()
        Returns the arguments, never null
      • setArguments

        public ReferenceNode setArguments​(java.util.List<ExpressionNode> arguments)
        Returns a copy of this where the arguments are replaced by the given arguments
      • getOutput

        public java.lang.String getOutput()
        Returns the specific output this references, or null if none specified
      • setOutput

        public ReferenceNode setOutput​(java.lang.String output)
        Returns a copy of this node with a modified output
      • children

        public java.util.List<ExpressionNode> children()
        Returns an empty list as this has no children
        Specified by:
        children in class CompositeNode
        Returns:
        The children of this.
      • 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.
      • reference

        public Reference reference()
        Returns the reference of this node
      • 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