Class AbstractDifferenceReferringTransform<E extends org.revapi.Element<E>>

java.lang.Object
org.revapi.basic.AbstractDifferenceReferringTransform<E>
All Implemented Interfaces:
AutoCloseable, org.revapi.configuration.Configurable, org.revapi.DifferenceTransform<E>
Direct Known Subclasses:
DifferencesTransform

public abstract class AbstractDifferenceReferringTransform<E extends org.revapi.Element<E>> extends Object implements org.revapi.DifferenceTransform<E>
Since:
0.1
Author:
Lukas Krejci
  • Field Details

    • analysisContext

      protected org.revapi.AnalysisContext analysisContext
  • Constructor Details

    • AbstractDifferenceReferringTransform

      protected AbstractDifferenceReferringTransform(@Nonnull String extensionId)
  • Method Details

    • getExtensionId

      @Nullable public String getExtensionId()
      Specified by:
      getExtensionId in interface org.revapi.configuration.Configurable
    • getDifferenceCodePatterns

      @Nonnull public Pattern[] getDifferenceCodePatterns()
      Specified by:
      getDifferenceCodePatterns in interface org.revapi.DifferenceTransform<E extends org.revapi.Element<E>>
    • getDifferenceCodePredicates

      @Nonnull public List<Predicate<String>> getDifferenceCodePredicates()
      Specified by:
      getDifferenceCodePredicates in interface org.revapi.DifferenceTransform<E extends org.revapi.Element<E>>
    • getRecipesConfigurationAndInitialize

      protected com.fasterxml.jackson.databind.JsonNode getRecipesConfigurationAndInitialize()
      Returns:
      a list node where the difference recipes are stored
    • newRecipe

      protected abstract DifferenceMatchRecipe newRecipe(com.fasterxml.jackson.databind.JsonNode configNode) throws IllegalArgumentException
      Throws:
      IllegalArgumentException
    • initialize

      public final void initialize(@Nonnull org.revapi.AnalysisContext analysisContext)
      Specified by:
      initialize in interface org.revapi.configuration.Configurable
    • tryTransform

      public org.revapi.TransformationResult tryTransform(@Nullable E oldElement, @Nullable E newElement, org.revapi.Difference difference)
      Specified by:
      tryTransform in interface org.revapi.DifferenceTransform<E extends org.revapi.Element<E>>
    • startTraversal

      public <X extends org.revapi.Element<X>> Optional<org.revapi.DifferenceTransform.TraversalTracker<X>> startTraversal(org.revapi.ApiAnalyzer<X> apiAnalyzer, org.revapi.ArchiveAnalyzer<X> oldArchiveAnalyzer, org.revapi.ArchiveAnalyzer<X> newArchiveAnalyzer)
      Specified by:
      startTraversal in interface org.revapi.DifferenceTransform<E extends org.revapi.Element<E>>
    • endTraversal

      public void endTraversal(org.revapi.DifferenceTransform.TraversalTracker<?> tracker)
      Specified by:
      endTraversal in interface org.revapi.DifferenceTransform<E extends org.revapi.Element<E>>