org.fife.ui.autocomplete
Class DefaultCompletionProvider

java.lang.Object
  extended by org.fife.ui.autocomplete.CompletionProviderBase
      extended by org.fife.ui.autocomplete.AbstractCompletionProvider
          extended by org.fife.ui.autocomplete.DefaultCompletionProvider
All Implemented Interfaces:
CompletionProvider

public class DefaultCompletionProvider
extends AbstractCompletionProvider

A basic completion provider implementation. This provider has no understanding of language semantics. It simply checks the text entered up to the caret position for a match against known completions. This is all that is needed in the majority of cases.

Version:
1.0
Author:
Robert Futrell

Field Summary
protected  Segment seg
           
 
Fields inherited from class org.fife.ui.autocomplete.AbstractCompletionProvider
comparator, completions
 
Fields inherited from class org.fife.ui.autocomplete.CompletionProviderBase
EMPTY_STRING
 
Constructor Summary
DefaultCompletionProvider()
          Constructor.
DefaultCompletionProvider(String[] words)
          Creates a completion provider that provides completion for a simple list of words.
 
Method Summary
 String getAlreadyEnteredText(JTextComponent comp)
          Returns the text just before the current caret position that could be the start of something auto-completable.
 List getCompletionsAt(JTextComponent tc, Point p)
          Returns the completions that have been entered at the specified visual location.
 List getParameterizedCompletions(JTextComponent tc)
          Returns a list of parameterized completions that have been entered at the current caret position of a text component (and thus can have their completion choices displayed).
protected  void init()
          Initializes this completion provider.
protected  boolean isValidChar(char ch)
          Returns whether the specified character is valid in an auto-completion.
 void loadFromXML(File file)
          Loads completions from an XML file.
 void loadFromXML(InputStream in)
          Loads completions from an XML input stream.
 void loadFromXML(InputStream in, ClassLoader cl)
          Loads completions from an XML input stream.
 void loadFromXML(String resource)
          Loads completions from an XML file.
 
Methods inherited from class org.fife.ui.autocomplete.AbstractCompletionProvider
addCompletion, addCompletions, addWordCompletions, checkProviderAndAdd, clear, getCompletionByInputText, getCompletionsImpl, removeCompletion
 
Methods inherited from class org.fife.ui.autocomplete.CompletionProviderBase
clearParameterizedCompletionParams, getCompletions, getListCellRenderer, getParameterChoicesProvider, getParameterListEnd, getParameterListSeparator, getParameterListStart, getParent, isAutoActivateOkay, setAutoActivationRules, setListCellRenderer, setParameterChoicesProvider, setParameterizedCompletionParams, setParent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

seg

protected Segment seg
Constructor Detail

DefaultCompletionProvider

public DefaultCompletionProvider()
Constructor. The returned provider will not be aware of any completions.

See Also:
AbstractCompletionProvider.addCompletion(Completion)

DefaultCompletionProvider

public DefaultCompletionProvider(String[] words)
Creates a completion provider that provides completion for a simple list of words.

Parameters:
words - The words to offer as completion suggestions. If this is null, no completions will be known.
See Also:
BasicCompletion
Method Detail

getAlreadyEnteredText

public String getAlreadyEnteredText(JTextComponent comp)
Returns the text just before the current caret position that could be the start of something auto-completable.

This method returns all characters before the caret that are matched by isValidChar(char). Returns the text just before the current caret position that could be the start of something auto-completable.

Parameters:
comp - The text component.
Returns:
The text. A return value of null means nothing should be auto-completed; a value of an empty string ("") means auto-completion should still be considered (i.e., all possible choices are valid).

getCompletionsAt

public List getCompletionsAt(JTextComponent tc,
                             Point p)
Returns the completions that have been entered at the specified visual location. This can be used for tool tips when the user hovers the mouse over completed text.

Parameters:
tc - The text component.
p - The position, usually from a MouseEvent.
Returns:
The completions, or an empty list if there are none.

getParameterizedCompletions

public List getParameterizedCompletions(JTextComponent tc)
Returns a list of parameterized completions that have been entered at the current caret position of a text component (and thus can have their completion choices displayed).

Parameters:
tc - The text component.
Returns:
The list of ParameterizedCompletions. If no completions are available, this may be null.

init

protected void init()
Initializes this completion provider.


isValidChar

protected boolean isValidChar(char ch)
Returns whether the specified character is valid in an auto-completion. The default implementation is equivalent to "Character.isLetterOrDigit(ch) || ch=='_'". Subclasses can override this method to change what characters are matched.

Parameters:
ch - The character.
Returns:
Whether the character is valid.

loadFromXML

public void loadFromXML(File file)
                 throws IOException
Loads completions from an XML file. The XML should validate against the completion XML schema.

Parameters:
file - An XML file to load from.
Throws:
IOException - If an IO error occurs.

loadFromXML

public void loadFromXML(InputStream in)
                 throws IOException
Loads completions from an XML input stream. The XML should validate against the completion XML schema.

Parameters:
in - The input stream to read from.
Throws:
IOException - If an IO error occurs.

loadFromXML

public void loadFromXML(InputStream in,
                        ClassLoader cl)
                 throws IOException
Loads completions from an XML input stream. The XML should validate against the completion XML schema.

Parameters:
in - The input stream to read from.
cl - The class loader to use when loading any extra classes defined in the XML, such as custom FunctionCompletions. This may be null if the default is to be used, or if no custom completions are defined in the XML.
Throws:
IOException - If an IO error occurs.

loadFromXML

public void loadFromXML(String resource)
                 throws IOException
Loads completions from an XML file. The XML should validate against the completion XML schema.

Parameters:
resource - A resource the current ClassLoader can get to.
Throws:
IOException - If an IO error occurs.


Copyright © 2003-2011. All Rights Reserved.