Class ClasspathJarSets
- java.lang.Object
-
- com.atlassian.confluence.util.classpath.ClasspathJarSets
-
- All Implemented Interfaces:
DuplicateClassFinder
public class ClasspathJarSets extends Object implements DuplicateClassFinder
Contains a set of JAR files for each class on the classpath: the set of JARs that contain the class.Ideally, a set of JARs for a given class should only include one JAR; if the set of JARs for a given class includes more than one JAR, the class is duplicated in several JARs in the classpath.
-
-
Constructor Summary
Constructors Constructor Description ClasspathJarSets()
ClasspathJarSets(ClasspathClasses classpathClasses)
ClasspathJarSets(ClasspathClasses classpathClasses, org.apache.commons.collections.Predicate classFileNamePredicate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addClass(String classFileName, JarSet jars)
SortedSet<String>
getClassFileNames(JarSet jars)
Returns the class files in a given set of JARs, which may be one or more JARs.SortedSet<String>
getClassNames(JarSet jars)
Set<JarSet>
getJarSetsWithCommonClasses()
SortedSet<String>
getPackageNames(JarSet jars)
Returns the packages in a given set of JARs, which may be one or more JARs.
-
-
-
Constructor Detail
-
ClasspathJarSets
public ClasspathJarSets()
-
ClasspathJarSets
public ClasspathJarSets(ClasspathClasses classpathClasses)
-
ClasspathJarSets
public ClasspathJarSets(ClasspathClasses classpathClasses, org.apache.commons.collections.Predicate classFileNamePredicate)
-
-
Method Detail
-
getJarSetsWithCommonClasses
public Set<JarSet> getJarSetsWithCommonClasses()
- Specified by:
getJarSetsWithCommonClasses
in interfaceDuplicateClassFinder
- Returns:
- the sets of JARs which have classes in common, i.e. any JarSet containing more than one JAR
-
getClassFileNames
public SortedSet<String> getClassFileNames(JarSet jars)
Returns the class files in a given set of JARs, which may be one or more JARs.The set is sorted by the natural order of the contents: the String class file names.
- Specified by:
getClassFileNames
in interfaceDuplicateClassFinder
- Parameters:
jars
- a set of one or more JARs on the classpath- Returns:
- the class files in the JarSet. Each is a String in the form "java/lang/String.class". Returns an empty set if no classes are in that JarSet.
-
getPackageNames
public SortedSet<String> getPackageNames(JarSet jars)
Returns the packages in a given set of JARs, which may be one or more JARs. Each package is in the form "java/lang".The set is sorted by the natural order of the contents: the String package names.
- Specified by:
getPackageNames
in interfaceDuplicateClassFinder
- Parameters:
jars
- a set of one or more JARs on the classpath- Returns:
- the packages found in the JarSet. Each is a String in the form "java/lang". Returns an empty set if no classes are in that JarSet.
-
getClassNames
public SortedSet<String> getClassNames(JarSet jars)
- Specified by:
getClassNames
in interfaceDuplicateClassFinder
-
-