< prev index next >

jdk/src/java.base/share/classes/sun/launcher/LauncherHelper.java

Print this page




  43 import java.io.IOException;
  44 import java.io.PrintStream;
  45 import java.io.UnsupportedEncodingException;
  46 import java.lang.module.ModuleFinder;
  47 import java.lang.module.ModuleReference;
  48 import java.lang.module.ModuleDescriptor;
  49 import java.lang.module.ModuleDescriptor.Requires;
  50 import java.lang.module.ModuleDescriptor.Exports;
  51 import java.lang.module.ModuleDescriptor.Provides;
  52 import java.lang.reflect.Layer;
  53 import java.lang.reflect.Method;
  54 import java.lang.reflect.Modifier;
  55 import java.lang.reflect.Module;
  56 import java.math.BigDecimal;
  57 import java.math.RoundingMode;
  58 import java.net.URI;
  59 import java.nio.charset.Charset;
  60 import java.nio.file.DirectoryStream;
  61 import java.nio.file.Files;
  62 import java.nio.file.Path;
  63 import java.security.AccessController;
  64 import java.security.PrivilegedAction;
  65 import java.text.Normalizer;
  66 import java.text.MessageFormat;
  67 import java.util.ResourceBundle;
  68 import java.util.ArrayList;
  69 import java.util.Collection;
  70 import java.util.Collections;
  71 import java.util.Comparator;
  72 import java.util.Iterator;
  73 import java.util.List;
  74 import java.util.Locale;
  75 import java.util.Locale.Category;
  76 import java.util.Optional;
  77 import java.util.Properties;
  78 import java.util.Map;
  79 import java.util.Set;
  80 import java.util.TreeSet;
  81 import java.util.jar.Attributes;
  82 import java.util.jar.JarFile;
  83 import java.util.jar.Manifest;
  84 import jdk.internal.misc.VM;


 888                 out.format(", %s", ob);
 889             }
 890         }
 891         out.format("%n");
 892     }
 893 
 894     /**
 895      * Called by the launcher to list the observable modules.
 896      * If called without any sub-options then the output is a simple list of
 897      * the modules. If called with sub-options then the sub-options are the
 898      * names of the modules to list (-listmods:java.base,java.desktop for
 899      * example).
 900      */
 901     static void listModules(boolean printToStderr, String optionFlag)
 902         throws IOException, ClassNotFoundException
 903     {
 904         initOutput(printToStderr);
 905 
 906         ModuleFinder finder = jdk.internal.module.ModuleBootstrap.finder();
 907 
 908         int colon = optionFlag.indexOf(':');
 909         if (colon == -1) {
 910             finder.findAll().stream()
 911                 .sorted(Comparator.comparing(ModuleReference::descriptor))
 912                 .forEach(md -> {
 913                     ostream.println(midAndLocation(md.descriptor(),
 914                                                    md.location()));
 915                 });
 916         } else {
 917             String[] names = optionFlag.substring(colon+1).split(",");
 918             for (String name: names) {
 919                 ModuleReference mref = finder.find(name).orElse(null);
 920                 if (mref == null) {
 921                     // not found
 922                     continue;
 923                 }
 924 
 925                 ModuleDescriptor md = mref.descriptor();
 926                 ostream.println(midAndLocation(md, mref.location()));
 927 
 928                 for (Requires d : md.requires()) {




  43 import java.io.IOException;
  44 import java.io.PrintStream;
  45 import java.io.UnsupportedEncodingException;
  46 import java.lang.module.ModuleFinder;
  47 import java.lang.module.ModuleReference;
  48 import java.lang.module.ModuleDescriptor;
  49 import java.lang.module.ModuleDescriptor.Requires;
  50 import java.lang.module.ModuleDescriptor.Exports;
  51 import java.lang.module.ModuleDescriptor.Provides;
  52 import java.lang.reflect.Layer;
  53 import java.lang.reflect.Method;
  54 import java.lang.reflect.Modifier;
  55 import java.lang.reflect.Module;
  56 import java.math.BigDecimal;
  57 import java.math.RoundingMode;
  58 import java.net.URI;
  59 import java.nio.charset.Charset;
  60 import java.nio.file.DirectoryStream;
  61 import java.nio.file.Files;
  62 import java.nio.file.Path;


  63 import java.text.Normalizer;
  64 import java.text.MessageFormat;
  65 import java.util.ResourceBundle;
  66 import java.util.ArrayList;
  67 import java.util.Collection;
  68 import java.util.Collections;
  69 import java.util.Comparator;
  70 import java.util.Iterator;
  71 import java.util.List;
  72 import java.util.Locale;
  73 import java.util.Locale.Category;
  74 import java.util.Optional;
  75 import java.util.Properties;
  76 import java.util.Map;
  77 import java.util.Set;
  78 import java.util.TreeSet;
  79 import java.util.jar.Attributes;
  80 import java.util.jar.JarFile;
  81 import java.util.jar.Manifest;
  82 import jdk.internal.misc.VM;


 886                 out.format(", %s", ob);
 887             }
 888         }
 889         out.format("%n");
 890     }
 891 
 892     /**
 893      * Called by the launcher to list the observable modules.
 894      * If called without any sub-options then the output is a simple list of
 895      * the modules. If called with sub-options then the sub-options are the
 896      * names of the modules to list (-listmods:java.base,java.desktop for
 897      * example).
 898      */
 899     static void listModules(boolean printToStderr, String optionFlag)
 900         throws IOException, ClassNotFoundException
 901     {
 902         initOutput(printToStderr);
 903 
 904         ModuleFinder finder = jdk.internal.module.ModuleBootstrap.finder();
 905 
 906         int colon = optionFlag.indexOf('=');
 907         if (colon == -1) {
 908             finder.findAll().stream()
 909                 .sorted(Comparator.comparing(ModuleReference::descriptor))
 910                 .forEach(md -> {
 911                     ostream.println(midAndLocation(md.descriptor(),
 912                                                    md.location()));
 913                 });
 914         } else {
 915             String[] names = optionFlag.substring(colon+1).split(",");
 916             for (String name: names) {
 917                 ModuleReference mref = finder.find(name).orElse(null);
 918                 if (mref == null) {
 919                     // not found
 920                     continue;
 921                 }
 922 
 923                 ModuleDescriptor md = mref.descriptor();
 924                 ostream.println(midAndLocation(md, mref.location()));
 925 
 926                 for (Requires d : md.requires()) {


< prev index next >