Package it.bancaditalia.oss.vtl.engine
Interface Statement
-
- All Known Subinterfaces:
NamedOperator
public interface Statement
Interface that represents a single VTL rule.- Author:
- Valentino Pinna
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description VTLValue
eval(TransformationScheme scheme)
Computes this statement in the context of the provided scheme and returns the result.String
getId()
Lineage
getLineage()
If available returns the lineage for this statementVTLValueMetadata
getMetadata(TransformationScheme scheme)
Computes the metadata of the rule in the context of a Transformation Scheme.Set<LeafTransformation>
getTerminals()
boolean
isCacheable()
-
-
-
Method Detail
-
getId
String getId()
- Returns:
- The id of the statement, like the rule name at the left side of an assignment statement.
-
getMetadata
VTLValueMetadata getMetadata(TransformationScheme scheme)
Computes the metadata of the rule in the context of a Transformation Scheme.- Parameters:
scheme
- The transformation scheme- Returns:
- The metadata for this Statement
-
eval
VTLValue eval(TransformationScheme scheme)
Computes this statement in the context of the provided scheme and returns the result.- Parameters:
scheme
- the context scheme- Returns:
- the result of the computation.
-
getTerminals
Set<LeafTransformation> getTerminals()
- Returns:
- a list of primitive nodes, such as aliases or constants, on which this statement depends on
-
isCacheable
boolean isCacheable()
- Returns:
- true if it makes sense to cache the result of evaluating this statement.
-
getLineage
Lineage getLineage()
If available returns the lineage for this statement- Returns:
- the lineage if any
-
-