< prev index next >

src/jdk.jdeps/share/classes/com/sun/tools/jdeps/JdepsFilter.java

Print this page

        

@@ -53,26 +53,29 @@
     private final Dependency.Filter filter;
     private final Pattern filterPattern;
     private final boolean filterSamePackage;
     private final boolean filterSameArchive;
     private final boolean findJDKInternals;
+    private final boolean findMissingDeps;
     private final Pattern includePattern;
 
     private final Set<String> requires;
 
     private JdepsFilter(Dependency.Filter filter,
                         Pattern filterPattern,
                         boolean filterSamePackage,
                         boolean filterSameArchive,
                         boolean findJDKInternals,
+                        boolean findMissingDeps,
                         Pattern includePattern,
                         Set<String> requires) {
         this.filter = filter;
         this.filterPattern = filterPattern;
         this.filterSamePackage = filterSamePackage;
         this.filterSameArchive = filterSameArchive;
         this.findJDKInternals = findJDKInternals;
+        this.findMissingDeps = findMissingDeps;
         this.includePattern = includePattern;
         this.requires = requires;
     }
 
     /**

@@ -151,10 +154,12 @@
         if (findJDKInternals) {
             // accepts target that is JDK class but not exported
             Module module = targetArchive.getModule();
             return originArchive != targetArchive &&
                     isJDKInternalPackage(module, target.getPackageName());
+        } else if (findMissingDeps) {
+            return Analyzer.notFound(targetArchive);
         } else if (filterSameArchive) {
             // accepts origin and target that from different archive
             return originArchive != targetArchive;
         }
         return true;

@@ -186,10 +191,11 @@
         Pattern filterPattern;
         Pattern regex;
         boolean filterSamePackage;
         boolean filterSameArchive;
         boolean findJDKInterals;
+        boolean findMissingDeps;
         // source filters
         Pattern includePattern;
         Set<String> requires = new HashSet<>();
         Set<String> targetPackages = new HashSet<>();
 

@@ -219,10 +225,14 @@
         }
         public Builder findJDKInternals(boolean value) {
             this.findJDKInterals = value;
             return this;
         }
+        public Builder findMissingDeps(boolean value) {
+            this.findMissingDeps = value;
+            return this;
+        }
         public Builder includePattern(Pattern regex) {
             this.includePattern = regex;
             return this;
         }
 

@@ -236,10 +246,11 @@
             return new JdepsFilter(filter,
                                    filterPattern,
                                    filterSamePackage,
                                    filterSameArchive,
                                    findJDKInterals,
+                                   findMissingDeps,
                                    includePattern,
                                    requires);
         }
 
     }
< prev index next >