Interface IPTraceableTraceProvider

All Known Subinterfaces:
IRewriterTraceCollector
All Known Implementing Classes:
MappingTraceCollector, NopTraceCollector

public interface IPTraceableTraceProvider
This interface provides methods to trace the PTraceables of a transformed PQuery produced by a PDisjunctionRewriter. In case the associated rewriter is a composite (a.k.a. PDisjunctionRewriterCacher), this trace provider handles traces end-to-end, hiding all the intermediate transformation steps.
Since:
1.6
  • Method Details

    • getCanonicalTraceables

      Stream<PTraceable> getCanonicalTraceables(PTraceable derivative)
      Find and return the canonical PTraceables in the original query which are the sources of the given derivative PTraceable according to the transformation.
      Parameters:
      derivative - a PTraceable which is contained by the PQuery produced by the associated rewriter
      Since:
      2.0
    • getRewrittenTraceables

      Stream<PTraceable> getRewrittenTraceables(PTraceable source)
      Find and return the PTraceables in the rewritten query which are the destinations of the given source PTraceable according to the transformation.
      Parameters:
      source - a PTraceable which is contained by a PQuery before rewriting
      Since:
      2.0
    • isRemoved

      boolean isRemoved(PTraceable traceable)
      Returns whether the given traceable element has been removed by every rewriter for a reason.
    • getRemovalReasons

      Stream<IDerivativeModificationReason> getRemovalReasons(PTraceable traceable)
      Returns the reasons for which the traceable element has been removed by the rewriters.
      Returns:
      the reasons of removal during rewriting
      Since:
      2.0