Package japicmp.cmp
Class JarArchiveComparator
java.lang.Object
japicmp.cmp.JarArchiveComparator
This class provides the basic methods to compare the classes within to jar archives.
-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsConstructorDescriptionConstructs an instance of this class and performs a setup of the classpath -
Method Summary
Modifier and TypeMethodDescriptioncompare(JApiCmpArchive oldArchive, JApiCmpArchive newArchive) Compares the two given archives.compare(List<JApiCmpArchive> oldArchives, List<JApiCmpArchive> newArchives) Compares the two given lists of archives.Returns the common classpath used byJarArchiveComparatorjavassist.ClassPoolReturns the javassist ClassPool instance that is used by this instance.Returns the instance ofJarArchiveComparatorOptionsthat is used.Returns the classpath for the new version as String.javassist.ClassPoolReturns the javassist ClassPool that is used for the new version.Returns the classpath for the old version as String.javassist.ClassPoolReturns the javassist ClassPool that is used for the old version.Optional<javassist.CtClass> loadClass(JarArchiveComparator.ArchiveType archiveType, String name) Loads a class either from the old, new or common classpath.
-
Constructor Details
-
JarArchiveComparator
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
Compares the two given archives.- Parameters:
oldArchive- the old version of the archivenewArchive- the new version of the archive- Returns:
- a list which contains one instance of
JApiClassfor each class found in one of the two archives - Throws:
JApiCmpException- if the comparison fails
-
compare
Compares the two given lists of archives.- Parameters:
oldArchives- the old versions of the archivesnewArchives- the new versions of the archives- Returns:
- a list which contains one instance of
JApiClassfor each class found in one of the archives - Throws:
JApiCmpException- if the comparison fails
-
getCommonClasspathAsString
Returns the common classpath used byJarArchiveComparator- Returns:
- the common classpath as String
-
getOldClassPathAsString
Returns the classpath for the old version as String.- Returns:
- the classpath for the old version
-
getNewClassPathAsString
Returns the classpath for the new version as String.- Returns:
- the classpath for the new version
-
getJarArchiveComparatorOptions
Returns the instance ofJarArchiveComparatorOptionsthat 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 pathname- 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
-