jline
Class CandidateListCompletionHandler

java.lang.Object
  extended byjline.CandidateListCompletionHandler
All Implemented Interfaces:
CompletionHandler

public class CandidateListCompletionHandler
extends java.lang.Object
implements CompletionHandler

A CompletionHandler that deals with multiple distinct completions by outputting the complete list of possibilities to the console. This mimics the behavior of the readline library.

TODO:

Author:
Marc Prud'hommeaux

Field Summary
private static java.util.ResourceBundle loc
           
 
Constructor Summary
CandidateListCompletionHandler()
           
 
Method Summary
 boolean complete(ConsoleReader reader, java.util.List candidates, int pos)
           
private  java.lang.String getUnambiguousCompletions(java.util.List candidates)
          Returns a root that matches all the String elements of the specified List, or null if there are no commalities.
private  void printCandidates(ConsoleReader reader, java.util.Collection candidates)
          Print out the candidates.
private static void setBuffer(ConsoleReader reader, java.lang.String value, int offset)
           
private  boolean startsWith(java.lang.String starts, java.lang.String[] candidates)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

loc

private static java.util.ResourceBundle loc
Constructor Detail

CandidateListCompletionHandler

public CandidateListCompletionHandler()
Method Detail

complete

public boolean complete(ConsoleReader reader,
                        java.util.List candidates,
                        int pos)
                 throws java.io.IOException
Specified by:
complete in interface CompletionHandler
Throws:
java.io.IOException

setBuffer

private static void setBuffer(ConsoleReader reader,
                              java.lang.String value,
                              int offset)
                       throws java.io.IOException
Throws:
java.io.IOException

printCandidates

private final void printCandidates(ConsoleReader reader,
                                   java.util.Collection candidates)
                            throws java.io.IOException
Print out the candidates. If the size of the candidates is greated than the getAutoprintThreshhold, they prompt with aq warning.

Parameters:
candidates - the list of candidates to print
Throws:
java.io.IOException

getUnambiguousCompletions

private final java.lang.String getUnambiguousCompletions(java.util.List candidates)
Returns a root that matches all the String elements of the specified List, or null if there are no commalities. For example, if the list contains foobar, foobaz, foobuz, the method will return foob.


startsWith

private final boolean startsWith(java.lang.String starts,
                                 java.lang.String[] candidates)
Returns:
true is all the elements of candidates start with starts