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 voidaddClass(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:
getJarSetsWithCommonClassesin 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:
getClassFileNamesin 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:
getPackageNamesin 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:
getClassNamesin interfaceDuplicateClassFinder
-
-