Package japicmp.cmp

Class JarArchiveComparator

java.lang.Object
japicmp.cmp.JarArchiveComparator

public class JarArchiveComparator extends Object
This class provides the basic methods to compare the classes within to jar archives.
  • Constructor Details

    • JarArchiveComparator

      public JarArchiveComparator(JarArchiveComparatorOptions options)
      Constructs an instance of this class and performs a setup of the classpath
      Parameters:
      options - the options used in the further processing
  • Method Details

    • compare

      public List<JApiClass> compare(JApiCmpArchive oldArchive, JApiCmpArchive newArchive)
      Compares the two given archives.
      Parameters:
      oldArchive - the old version of the archive
      newArchive - the new version of the archive
      Returns:
      a list which contains one instance of JApiClass for each class found in one of the two archives
      Throws:
      JApiCmpException - if the comparison fails
    • compare

      public List<JApiClass> compare(List<JApiCmpArchive> oldArchives, List<JApiCmpArchive> newArchives)
      Compares the two given lists of archives.
      Parameters:
      oldArchives - the old versions of the archives
      newArchives - the new versions of the archives
      Returns:
      a list which contains one instance of JApiClass for each class found in one of the archives
      Throws:
      JApiCmpException - if the comparison fails
    • getCommonClasspathAsString

      public String getCommonClasspathAsString()
      Returns the common classpath used by JarArchiveComparator
      Returns:
      the common classpath as String
    • getOldClassPathAsString

      public String getOldClassPathAsString()
      Returns the classpath for the old version as String.
      Returns:
      the classpath for the old version
    • getNewClassPathAsString

      public String getNewClassPathAsString()
      Returns the classpath for the new version as String.
      Returns:
      the classpath for the new version
    • getJarArchiveComparatorOptions

      public JarArchiveComparatorOptions getJarArchiveComparatorOptions()
      Returns the instance of JarArchiveComparatorOptions that is used.
      Returns:
      an instance of JarArchiveComparatorOptions
    • getCommonClassPool

      public javassist.ClassPool getCommonClassPool()
      Returns the javassist ClassPool instance that is used by this instance. This can be used in unit tests to define artificial CtClass instances for the same ClassPool.
      Returns:
      an instance of ClassPool
    • getOldClassPool

      public javassist.ClassPool getOldClassPool()
      Returns the javassist ClassPool that is used for the old version.
      Returns:
      an instance of ClassPool
    • getNewClassPool

      public javassist.ClassPool getNewClassPool()
      Returns the javassist ClassPool that is used for the new version.
      Returns:
      an instance of ClassPool
    • loadClass

      public Optional<javassist.CtClass> loadClass(JarArchiveComparator.ArchiveType archiveType, String name)
      Loads a class either from the old, new or common classpath.
      Parameters:
      archiveType - specify if this class should be loaded from the old or new class path
      name - the name of the class (FQN)
      Returns:
      the loaded class (if options are not set to ignore missing classes)
      Throws:
      JApiCmpException - if loading the class fails