< prev index next >

src/jdk.internal.le/share/classes/jdk/internal/jline/console/internal/ConsoleRunner.java

Print this page




  44         }
  45 
  46         String historyFileName = System.getProperty(ConsoleRunner.property, null);
  47 
  48         String mainClass = argList.remove(0);
  49         ConsoleReader reader = new ConsoleReader();
  50 
  51         if (historyFileName != null) {
  52             reader.setHistory(new FileHistory(new File(Configuration.getUserHome(),
  53                 String.format(".jline-%s.%s.history", mainClass, historyFileName))));
  54         }
  55         else {
  56             reader.setHistory(new FileHistory(new File(Configuration.getUserHome(),
  57                 String.format(".jline-%s.history", mainClass))));
  58         }
  59 
  60         String completors = System.getProperty(ConsoleRunner.class.getName() + ".completers", "");
  61         List<Completer> completorList = new ArrayList<Completer>();
  62 
  63         for (StringTokenizer tok = new StringTokenizer(completors, ","); tok.hasMoreTokens();) {

  64             Object obj = Class.forName(tok.nextToken()).newInstance();
  65             completorList.add((Completer) obj);
  66         }
  67 
  68         if (completorList.size() > 0) {
  69             reader.addCompleter(new ArgumentCompleter(completorList));
  70         }
  71 
  72         ConsoleReaderInputStream.setIn(reader);
  73 
  74         try {
  75             Class<?> type = Class.forName(mainClass);
  76             Method method = type.getMethod("main", String[].class);
  77             method.invoke(null);
  78         }
  79         finally {
  80             // just in case this main method is called from another program
  81             ConsoleReaderInputStream.restoreIn();
  82         }
  83     }


  44         }
  45 
  46         String historyFileName = System.getProperty(ConsoleRunner.property, null);
  47 
  48         String mainClass = argList.remove(0);
  49         ConsoleReader reader = new ConsoleReader();
  50 
  51         if (historyFileName != null) {
  52             reader.setHistory(new FileHistory(new File(Configuration.getUserHome(),
  53                 String.format(".jline-%s.%s.history", mainClass, historyFileName))));
  54         }
  55         else {
  56             reader.setHistory(new FileHistory(new File(Configuration.getUserHome(),
  57                 String.format(".jline-%s.history", mainClass))));
  58         }
  59 
  60         String completors = System.getProperty(ConsoleRunner.class.getName() + ".completers", "");
  61         List<Completer> completorList = new ArrayList<Completer>();
  62 
  63         for (StringTokenizer tok = new StringTokenizer(completors, ","); tok.hasMoreTokens();) {
  64             @SuppressWarnings("deprecation")
  65             Object obj = Class.forName(tok.nextToken()).newInstance();
  66             completorList.add((Completer) obj);
  67         }
  68 
  69         if (completorList.size() > 0) {
  70             reader.addCompleter(new ArgumentCompleter(completorList));
  71         }
  72 
  73         ConsoleReaderInputStream.setIn(reader);
  74 
  75         try {
  76             Class<?> type = Class.forName(mainClass);
  77             Method method = type.getMethod("main", String[].class);
  78             method.invoke(null);
  79         }
  80         finally {
  81             // just in case this main method is called from another program
  82             ConsoleReaderInputStream.restoreIn();
  83         }
  84     }
< prev index next >