diff --git a/depclean-core/src/main/java/se/kth/depclean/core/analysis/ArtifactTypes.java b/depclean-core/src/main/java/se/kth/depclean/core/analysis/ArtifactTypes.java index 4b245186..2d0b6b17 100644 --- a/depclean-core/src/main/java/se/kth/depclean/core/analysis/ArtifactTypes.java +++ b/depclean-core/src/main/java/se/kth/depclean/core/analysis/ArtifactTypes.java @@ -9,9 +9,22 @@ @Data public class ArtifactTypes { + /** + * A HashSet to store the types. + */ private Set allTypes; + + /** + * A HashSet to store the used types. + */ private Set usedTypes; + /** + * Ctor. + * + * @param allTypes All types in the artifact. + * @param usedTypes Thew used types in the artifact. + */ public ArtifactTypes(Set allTypes, Set usedTypes) { this.allTypes = allTypes; this.usedTypes = usedTypes; diff --git a/depclean-core/src/main/java/se/kth/depclean/core/analysis/ClassAnalyzer.java b/depclean-core/src/main/java/se/kth/depclean/core/analysis/ClassAnalyzer.java index 6c23e1b8..9e770a52 100644 --- a/depclean-core/src/main/java/se/kth/depclean/core/analysis/ClassAnalyzer.java +++ b/depclean-core/src/main/java/se/kth/depclean/core/analysis/ClassAnalyzer.java @@ -24,16 +24,27 @@ import java.util.Set; /** - * Gets the set of classes contained in a library given either as a jar file or an exploded directory. + * Gets the set of classes contained in an artifact given either + * as a jar file or an exploded directory. */ public interface ClassAnalyzer { // fields ----------------------------------------------------------------- + /** + * To store the name of the class. + */ String ROLE = ClassAnalyzer.class.getName(); // public methods --------------------------------------------------------- + /** + * Analyze the classes of a given artifact. + * + * @param url The artifact. + * @return A set of classes. + * @throws IOException In case of IO issues. + */ Set analyze(URL url) throws IOException; } diff --git a/depclean-core/src/main/java/se/kth/depclean/core/analysis/ClassFileVisitor.java b/depclean-core/src/main/java/se/kth/depclean/core/analysis/ClassFileVisitor.java index 2b8c3f72..4f5c2d7a 100644 --- a/depclean-core/src/main/java/se/kth/depclean/core/analysis/ClassFileVisitor.java +++ b/depclean-core/src/main/java/se/kth/depclean/core/analysis/ClassFileVisitor.java @@ -26,5 +26,11 @@ */ public interface ClassFileVisitor { + /** + * To visit the classes. + * + * @param className Name of the class + * @param in To read the bytes. + */ void visitClass(String className, InputStream in); } diff --git a/depclean-core/src/main/java/se/kth/depclean/core/analysis/ClassFileVisitorUtils.java b/depclean-core/src/main/java/se/kth/depclean/core/analysis/ClassFileVisitorUtils.java index ddfd431c..f4dad7ae 100644 --- a/depclean-core/src/main/java/se/kth/depclean/core/analysis/ClassFileVisitorUtils.java +++ b/depclean-core/src/main/java/se/kth/depclean/core/analysis/ClassFileVisitorUtils.java @@ -75,6 +75,13 @@ public static void accept(URL url, ClassFileVisitor visitor) } } + /** + * Accepts a jar to be analyzed. + * + * @param url URL of jar + * @param visitor A {@link ClassFileVisitor}. + * @throws IOException In case of IO issues. + */ private static void acceptJar(URL url, ClassFileVisitor visitor) throws IOException { try (JarInputStream in = new JarInputStream(url.openStream())) { @@ -89,6 +96,13 @@ private static void acceptJar(URL url, ClassFileVisitor visitor) } } + /** + * Accepts a directory to be analyzed. + * + * @param directory Directory or File to be analyzed. + * @param visitor A {@link ClassFileVisitor}. + * @throws IOException In case of IO issues. + */ private static void acceptDirectory(File directory, ClassFileVisitor visitor) throws IOException { if (!directory.isDirectory()) { @@ -108,6 +122,13 @@ private static void acceptDirectory(File directory, ClassFileVisitor visitor) } } + /** + * Visits the classes. + * + * @param path Path of the class. + * @param in read the input bytes. + * @param visitor A {@link ClassFileVisitor}. + */ private static void visitClass(String path, InputStream in, ClassFileVisitor visitor) { if (!path.endsWith(CLASS)) { throw new IllegalArgumentException("Path is not a class"); diff --git a/depclean-core/src/main/java/se/kth/depclean/core/analysis/CollectorClassFileVisitor.java b/depclean-core/src/main/java/se/kth/depclean/core/analysis/CollectorClassFileVisitor.java index 5567cddf..59ca3d75 100644 --- a/depclean-core/src/main/java/se/kth/depclean/core/analysis/CollectorClassFileVisitor.java +++ b/depclean-core/src/main/java/se/kth/depclean/core/analysis/CollectorClassFileVisitor.java @@ -32,6 +32,9 @@ public class CollectorClassFileVisitor implements ClassFileVisitor { // fields ----------------------------------------------------------------- + /** + * Set of all classes. + */ private final Set classes; // constructors ----------------------------------------------------------- @@ -42,16 +45,24 @@ public CollectorClassFileVisitor() { // ClassFileVisitor methods ----------------------------------------------- - /* - * @see org.apache.invoke.shared.dependency.analyzer.ClassFileVisitor#visitClass(java.lang.String, - * java.io.InputStream) + /** + * {@link ClassFileVisitor}. + * + * @param className Name of the class + * @param in To read the bytes. */ + @Override public void visitClass(String className, InputStream in) { classes.add(className); } // public methods --------------------------------------------------------- + /** + * Getter for visited classes. + * + * @return A set of visited classes. + */ public Set getClasses() { return classes; } diff --git a/depclean-core/src/main/java/se/kth/depclean/core/analysis/DefaultClassAnalyzer.java b/depclean-core/src/main/java/se/kth/depclean/core/analysis/DefaultClassAnalyzer.java index f9032c42..e19eed95 100644 --- a/depclean-core/src/main/java/se/kth/depclean/core/analysis/DefaultClassAnalyzer.java +++ b/depclean-core/src/main/java/se/kth/depclean/core/analysis/DefaultClassAnalyzer.java @@ -35,7 +35,7 @@ public class DefaultClassAnalyzer implements ClassAnalyzer { * Analyze the class members. * * @param url The class URL. - * @return The visited classes. + * @return A set of visited classes. * @throws IOException If there is an error. */ public Set analyze(URL url) throws IOException { diff --git a/pom.xml b/pom.xml index bbf56691..06b431fd 100644 --- a/pom.xml +++ b/pom.xml @@ -208,7 +208,7 @@ org.apache.maven.plugins maven-source-plugin - 2.2.1 + 3.0.1 attach-sources