Interface Statement

  • All Known Subinterfaces:
    NamedOperator

    public interface Statement
    Interface that represents a single VTL rule.
    Author:
    Valentino Pinna
    • 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