Class ReferenceNode
- java.lang.Object
-
- com.yahoo.searchlib.rankingexpression.rule.ExpressionNode
-
- com.yahoo.searchlib.rankingexpression.rule.CompositeNode
-
- com.yahoo.searchlib.rankingexpression.rule.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 Summary
Constructors Constructor Description ReferenceNode(Reference reference)
ReferenceNode(java.lang.String name)
ReferenceNode(java.lang.String name, java.util.List<? extends ExpressionNode> arguments, java.lang.String output)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.List<ExpressionNode>
children()
Returns an empty list as this has no childrenValue
evaluate(Context context)
Returns the value of evaluating this expression over the given context.Arguments
getArguments()
Returns the arguments, never nulljava.lang.String
getName()
java.lang.String
getOutput()
Returns the specific output this references, or null if none specifiedint
hashCode()
Reference
reference()
Returns the reference of this nodeReferenceNode
setArguments(java.util.List<ExpressionNode> arguments)
Returns a copy of this where the arguments are replaced by the given argumentsCompositeNode
setChildren(java.util.List<ExpressionNode> newChildren)
Returns a copy of this where the children is replaced by the given children.ReferenceNode
setOutput(java.lang.String output)
Returns a copy of this node with a modified outputjava.lang.StringBuilder
toString(java.lang.StringBuilder string, SerializationContext context, java.util.Deque<java.lang.String> path, CompositeNode parent)
Returns a script instance of this based on the supplied script functions.com.yahoo.tensor.TensorType
type(com.yahoo.tensor.evaluation.TypeContext<Reference> context)
Returns the type this will return if evaluated with the given context.-
Methods inherited from class com.yahoo.searchlib.rankingexpression.rule.ExpressionNode
equals, toString
-
-
-
-
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()
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classExpressionNode
-
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 classCompositeNode
- 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 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 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 classExpressionNode
- 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 classExpressionNode
- Parameters:
context
- the variable bindings to use for this evaluation
-
setChildren
public CompositeNode setChildren(java.util.List<ExpressionNode> newChildren)
Description copied from class:CompositeNode
Returns a copy of this where the children is replaced by the given children.- Specified by:
setChildren
in classCompositeNode
-
-