Class SerializationContext
- java.lang.Object
-
- com.yahoo.searchlib.rankingexpression.rule.FunctionReferenceContext
-
- com.yahoo.searchlib.rankingexpression.rule.SerializationContext
-
public class SerializationContext extends FunctionReferenceContext
Context needed to serialize an expression to a string. This has the lifetime of a single serialization- Author:
- bratseth
-
-
Constructor Summary
Constructors Constructor Description SerializationContext()
Create a context for a single serialization taskSerializationContext(com.google.common.collect.ImmutableMap<java.lang.String,ExpressionFunction> functions, java.util.Map<java.lang.String,java.lang.String> bindings, java.util.Map<java.lang.String,java.lang.String> serializedFunctions)
Create a context for a single serialization taskSerializationContext(java.util.Collection<ExpressionFunction> functions)
Create a context for a single serialization taskSerializationContext(java.util.Collection<ExpressionFunction> functions, java.util.Map<java.lang.String,java.lang.String> bindings)
Create a context for a single serialization taskSerializationContext(java.util.Collection<ExpressionFunction> functions, java.util.Map<java.lang.String,java.lang.String> bindings, java.util.Map<java.lang.String,java.lang.String> serializedFunctions)
Create a context for a single serialization taskSerializationContext(java.util.Map<java.lang.String,ExpressionFunction> functions)
Create a context for a single serialization task
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addArgumentTypeSerialization(java.lang.String functionName, java.lang.String argumentName, com.yahoo.tensor.TensorType type)
Adds the serialization of the an argument type to a functionvoid
addFunctionSerialization(java.lang.String name, java.lang.String expressionString)
Adds the serialization of a functionvoid
addFunctionTypeSerialization(java.lang.String functionName, com.yahoo.tensor.TensorType type)
Adds the serialization of the return type of a functionboolean
needSerialization(java.lang.String functionName)
java.util.Map<java.lang.String,java.lang.String>
serializedFunctions()
SerializationContext
withBindings(java.util.Map<java.lang.String,java.lang.String> bindings)
Returns a new context with the bindings replaced by the given bindingsSerializationContext
withoutBindings()
Returns a fresh context without bindings-
Methods inherited from class com.yahoo.searchlib.rankingexpression.rule.FunctionReferenceContext
functions, getBinding, getFunction
-
-
-
-
Constructor Detail
-
SerializationContext
public SerializationContext()
Create a context for a single serialization task
-
SerializationContext
public SerializationContext(java.util.Collection<ExpressionFunction> functions)
Create a context for a single serialization task
-
SerializationContext
public SerializationContext(java.util.Map<java.lang.String,ExpressionFunction> functions)
Create a context for a single serialization task
-
SerializationContext
public SerializationContext(java.util.Collection<ExpressionFunction> functions, java.util.Map<java.lang.String,java.lang.String> bindings)
Create a context for a single serialization task
-
SerializationContext
public SerializationContext(java.util.Collection<ExpressionFunction> functions, java.util.Map<java.lang.String,java.lang.String> bindings, java.util.Map<java.lang.String,java.lang.String> serializedFunctions)
Create a context for a single serialization task- Parameters:
functions
- the functions of thisbindings
- the arguments of thisserializedFunctions
- a cache of serializedFunctions - the ownership of this map is transferred to this and will be modified in it
-
SerializationContext
public SerializationContext(com.google.common.collect.ImmutableMap<java.lang.String,ExpressionFunction> functions, java.util.Map<java.lang.String,java.lang.String> bindings, java.util.Map<java.lang.String,java.lang.String> serializedFunctions)
Create a context for a single serialization task- Parameters:
functions
- the functions of thisbindings
- the arguments of thisserializedFunctions
- a cache of serializedFunctions - the ownership of this map is transferred to this and will be modified in it
-
-
Method Detail
-
addFunctionSerialization
public void addFunctionSerialization(java.lang.String name, java.lang.String expressionString)
Adds the serialization of a function
-
addArgumentTypeSerialization
public void addArgumentTypeSerialization(java.lang.String functionName, java.lang.String argumentName, com.yahoo.tensor.TensorType type)
Adds the serialization of the an argument type to a function
-
addFunctionTypeSerialization
public void addFunctionTypeSerialization(java.lang.String functionName, com.yahoo.tensor.TensorType type)
Adds the serialization of the return type of a function
-
withBindings
public SerializationContext withBindings(java.util.Map<java.lang.String,java.lang.String> bindings)
Description copied from class:FunctionReferenceContext
Returns a new context with the bindings replaced by the given bindings- Overrides:
withBindings
in classFunctionReferenceContext
-
withoutBindings
public SerializationContext withoutBindings()
Returns a fresh context without bindings- Overrides:
withoutBindings
in classFunctionReferenceContext
-
serializedFunctions
public java.util.Map<java.lang.String,java.lang.String> serializedFunctions()
-
needSerialization
public boolean needSerialization(java.lang.String functionName)
-
-