View Javadoc

1   package org.codehaus.groovy.sandbox.ui;
2   
3   import java.io.BufferedReader;
4   import java.io.IOException;
5   import java.io.InputStreamReader;
6   import java.io.InputStream;
7   import java.io.PrintStream;
8   
9   /***
10   * Pure Java prompt using just System.in.
11   */
12  public class JavaPrompt implements Prompt
13  {
14      private String prompt;
15      private BufferedReader input;
16      private final PrintStream out;
17      private final PrintStream err;
18  
19      public JavaPrompt(InputStream in, PrintStream out, PrintStream err)
20      {
21          this.out = out;
22          this.err = err;
23          this.input = new BufferedReader(new InputStreamReader(in));
24      }
25  
26      public JavaPrompt()
27      {
28          this(System.in, System.out, System.err);
29      }
30  
31      public String readLine() throws IOException
32      {
33          out.print(prompt);
34          out.flush();
35          return input.readLine();
36      }
37  
38      public String getPrompt()
39      {
40          return prompt;
41      }
42  
43      public void setPrompt(String prompt)
44      {
45          this.prompt = prompt;
46      }
47  
48      public void setCompleter(Completer completer)
49      {
50          // completer not supported
51      }
52  
53      public void close()
54      {
55          try
56          {
57              input.close();
58          }
59          catch (IOException e)
60          {
61              e.printStackTrace(err);
62          }
63      }
64  }