]> source.dussan.org Git - pf4j.git/commitdiff
Add more javadoc, fix warnings
authorDecebal Suiu <decebal.suiu@gmail.com>
Sat, 3 Feb 2024 20:29:31 +0000 (22:29 +0200)
committerDecebal Suiu <decebal.suiu@gmail.com>
Sat, 3 Feb 2024 20:29:31 +0000 (22:29 +0200)
pf4j/src/main/java/org/pf4j/DependencyResolver.java

index 7960a464805653bee93651917a8f3a8c8356c06a..092b58a5898eef9dc30e3944e6cd94c8a48b31ba 100644 (file)
@@ -31,7 +31,7 @@ import java.util.Map;
  * The {@code Result} class contains nice information about the result of resolve operation (if it's a cyclic dependency,
  * they are not found dependencies, they are dependencies with wrong version).
  * This class is very useful for if-else scenarios.
- *
+ * <p>
  * Only some attributes (pluginId, dependencies and pluginVersion) from {@link PluginDescriptor} are used in
  * the process of {@code resolve} operation.
  *
@@ -41,7 +41,7 @@ public class DependencyResolver {
 
     private static final Logger log = LoggerFactory.getLogger(DependencyResolver.class);
 
-    private VersionManager versionManager;
+    private final VersionManager versionManager;
 
     private DirectedGraph<String> dependenciesGraph; // the value is 'pluginId'
     private DirectedGraph<String> dependentsGraph; // the value is 'pluginId'
@@ -51,6 +51,12 @@ public class DependencyResolver {
         this.versionManager = versionManager;
     }
 
+    /**
+     * Resolve the dependencies for the given plugins.
+     *
+     * @param plugins the list of plugins
+     * @return a {@link Result} object
+     */
     public Result resolve(List<PluginDescriptor> plugins) {
         // create graphs
         dependenciesGraph = new DirectedGraph<>();
@@ -128,9 +134,9 @@ public class DependencyResolver {
     /**
      * Check if an existing version of dependency is compatible with the required version (from plugin descriptor).
      *
-     * @param requiredVersion
-     * @param existingVersion
-     * @return
+     * @param requiredVersion the required version
+     * @param existingVersion the existing version
+     * @return {@code true} if the existing version is compatible with the required version, {@code false} otherwise
      */
     protected boolean checkDependencyVersion(String requiredVersion, String existingVersion) {
         return versionManager.checkVersionConstraint(existingVersion, requiredVersion);
@@ -180,12 +186,15 @@ public class DependencyResolver {
             "' for plugin '" + dependent.getPluginId() + "'");
     }
 
+    /**
+     * The result of the {@link #resolve(List)} operation.
+     */
     public static class Result {
 
         private boolean cyclicDependency;
-        private List<String> notFoundDependencies; // value is "pluginId"
-        private List<String> sortedPlugins; // value is "pluginId"
-        private List<WrongDependencyVersion> wrongVersionDependencies;
+        private final List<String> notFoundDependencies; // value is "pluginId"
+        private final List<String> sortedPlugins; // value is "pluginId"
+        private final List<WrongDependencyVersion> wrongVersionDependencies;
 
         Result(List<String> sortedPlugins) {
             if (sortedPlugins == null) {
@@ -201,6 +210,8 @@ public class DependencyResolver {
 
         /**
          * Returns true is a cyclic dependency was detected.
+         *
+         * @return true is a cyclic dependency was detected
          */
         public boolean hasCyclicDependency() {
             return cyclicDependency;
@@ -208,6 +219,8 @@ public class DependencyResolver {
 
         /**
          * Returns a list with dependencies required that were not found.
+         *
+         * @return a list with dependencies required that were not found
          */
         public List<String> getNotFoundDependencies() {
             return notFoundDependencies;
@@ -215,6 +228,8 @@ public class DependencyResolver {
 
         /**
          * Returns a list with dependencies with wrong version.
+         *
+         * @return a list with dependencies with wrong version
          */
         public List<WrongDependencyVersion> getWrongVersionDependencies() {
             return wrongVersionDependencies;
@@ -222,6 +237,8 @@ public class DependencyResolver {
 
         /**
          * Get the list of plugins in dependency sorted order.
+         *
+         * @return the list of plugins in dependency sorted order
          */
         public List<String> getSortedPlugins() {
             return sortedPlugins;
@@ -237,12 +254,15 @@ public class DependencyResolver {
 
     }
 
+    /**
+     * Represents a wrong dependency version.
+     */
     public static class WrongDependencyVersion {
 
-        private String dependencyId; // value is "pluginId"
-        private String dependentId; // value is "pluginId"
-        private String existingVersion;
-        private String requiredVersion;
+        private final String dependencyId; // value is "pluginId"
+        private final String dependentId; // value is "pluginId"
+        private final String existingVersion;
+        private final String requiredVersion;
 
         WrongDependencyVersion(String dependencyId, String dependentId, String existingVersion, String requiredVersion) {
             this.dependencyId = dependencyId;
@@ -294,7 +314,7 @@ public class DependencyResolver {
      */
     public static class DependenciesNotFoundException extends PluginRuntimeException {
 
-        private List<String> dependencies;
+        private final List<String> dependencies;
 
         public DependenciesNotFoundException(List<String> dependencies) {
             super("Dependencies '{}' not found", dependencies);