org.specrunner.expressions
Interface IExpressionFactory

All Known Implementing Classes:
AbstractExpressionFactory, ExpressionFactoryJanino

public interface IExpressionFactory

Creates expression based on information, and hold predefined or class based expressions.

Author:
Thiago Santos

Method Summary
 IExpressionFactory bindClass(String name, Class<?> clazz)
          Bind a class to a predefined name.
 IExpressionFactory bindModel(String name, IModel<?> model)
          Bind a model to a predefined name.
 IExpressionFactory bindValue(String name, Object value)
          Binds a predefined value to a name.
 IExpressionFactory clearClasses()
          Clear predefined class values.
 IExpressionFactory clearModels()
          Remove all predefined model.
 IExpressionFactory clearValues()
          Remove all predefined values for expressions.
 IExpression create(Object source, IContext context)
          For expression creation, the priority for name resolution is: first - context variables; second - predefined values; third - class generated values.
 Map<String,Class<?>> getClasses()
          The set of predefined classes.
 Map<String,IModel<?>> getModels()
          The set of predefined models.
 Map<String,Object> getValues()
          The set of predefined values.
 IExpressionFactory removeClass(String name)
          Remove a predefined class by name.
 IExpressionFactory removeModel(String name)
          Remove a predefined model by name.
 IExpressionFactory removeValue(String name)
          Remove a predefined value by name.
 IExpressionFactory setClasses(Map<String,Class<?>> predefinedClasses)
          Set predefined classes in block.
 IExpressionFactory setModels(Map<String,IModel<?>> predefinedModels)
          Set predefined model in block.
 IExpressionFactory setValues(Map<String,Object> predefinedValues)
          Set predefined values in block.
 

Method Detail

create

IExpression create(Object source,
                   IContext context)
                   throws ExpressionException
For expression creation, the priority for name resolution is:

Parameters:
source - Expression information source.
context - Runner`s context.
Returns:
The corresponding expression.
Throws:
ExpressionException - On expression errors.

clearValues

IExpressionFactory clearValues()
Remove all predefined values for expressions. Any object can be predefined, for example a SQL connection could be bound to a name "connection" and be used anywhere in test specification.

Returns:
The factory itself.

removeValue

IExpressionFactory removeValue(String name)
Remove a predefined value by name.

Parameters:
name - The value name to be removed.
Returns:
The factory itself.

bindValue

IExpressionFactory bindValue(String name,
                             Object value)
Binds a predefined value to a name.

Parameters:
name - The predefined value name.
value - The predefined value.
Returns:
The factory itself.

setValues

IExpressionFactory setValues(Map<String,Object> predefinedValues)
Set predefined values in block.

Parameters:
predefinedValues - The values.
Returns:
The factory itself.

getValues

Map<String,Object> getValues()
The set of predefined values.

Returns:
A map of name to predefined object instances.

clearClasses

IExpressionFactory clearClasses()
Clear predefined class values. Class values are those generated by calling default constructor of mapped type. i.e. if java.util.Data is bound to 'd', every expression with 'd' will be automatically replaced by a new instance of date.

Returns:
The factory itself.

removeClass

IExpressionFactory removeClass(String name)
Remove a predefined class by name.

Parameters:
name - The predefined class.
Returns:
The factory itself.

bindClass

IExpressionFactory bindClass(String name,
                             Class<?> clazz)
Bind a class to a predefined name.

Parameters:
name - The predefined name.
clazz - The predefined class.
Returns:
The factory itself.

setClasses

IExpressionFactory setClasses(Map<String,Class<?>> predefinedClasses)
Set predefined classes in block.

Parameters:
predefinedClasses - Predefined classes.
Returns:
The factory itself.

getClasses

Map<String,Class<?>> getClasses()
The set of predefined classes.

Returns:
A map of name to predefined classes.

clearModels

IExpressionFactory clearModels()
Remove all predefined model. Any model can be predefined, for example a IP tag could be bound to a name "ip" and be used anywhere in test specification.

Returns:
The factory itself.

removeModel

IExpressionFactory removeModel(String name)
Remove a predefined model by name.

Parameters:
name - The value name to be removed.
Returns:
The factory itself.

bindModel

IExpressionFactory bindModel(String name,
                             IModel<?> model)
Bind a model to a predefined name.

Parameters:
name - The predefined name.
model - The predefined class.
Returns:
The factory itself.

setModels

IExpressionFactory setModels(Map<String,IModel<?>> predefinedModels)
Set predefined model in block.

Parameters:
predefinedModels - Predefined models.
Returns:
The factory itself.

getModels

Map<String,IModel<?>> getModels()
The set of predefined models.

Returns:
A map of name to predefined models.


Copyright © 2014. All rights reserved.