org.fife.ui.autocomplete
Class AbstractCompletion

java.lang.Object
  extended by org.fife.ui.autocomplete.AbstractCompletion
All Implemented Interfaces:
java.lang.Comparable<Completion>, Completion
Direct Known Subclasses:
BasicCompletion, MarkupTagCompletion, TemplateCompletion

public abstract class AbstractCompletion
extends java.lang.Object
implements Completion

Base class for possible completions. Most, if not all, Completion implementations can extend this class. It remembers the CompletionProvider that returns this completion, and also implements Comparable, allowing such completions to be compared lexicographically (ignoring case).

This implementation assumes the input text and replacement text are the same value. It also returns the input text from its toString() method (which is what DefaultListCellRenderer uses to render objects). Subclasses that wish to override any of this behavior can simply override the corresponding method(s) needed to do so.

Version:
1.0
Author:
Robert Futrell

Constructor Summary
AbstractCompletion(CompletionProvider provider)
          Constructor.
 
Method Summary
 int compareTo(Completion c2)
          Compares this completion to another one lexicographically, ignoring case.
 java.lang.String getAlreadyEntered(javax.swing.text.JTextComponent comp)
          Returns the portion of this completion that has already been entered into the text component.
 javax.swing.Icon getIcon()
          The default implementation returns null.
 java.lang.String getInputText()
          Returns the text the user has to (start) typing for this completion to be offered.
 CompletionProvider getProvider()
          Returns the provider that returned this completion.
 int getRelevance()
          Returns the "relevance" of this completion.
 java.lang.String getToolTipText()
          The default implementation returns null.
 void setRelevance(int relevance)
          Sets the relevance of this completion.
 java.lang.String toString()
          Returns a string representation of this completion.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.fife.ui.autocomplete.Completion
getReplacementText, getSummary
 

Constructor Detail

AbstractCompletion

public AbstractCompletion(CompletionProvider provider)
Constructor.

Parameters:
provider - The provider that created this completion.
Method Detail

compareTo

public int compareTo(Completion c2)
Compares this completion to another one lexicographically, ignoring case.

Specified by:
compareTo in interface java.lang.Comparable<Completion>
Specified by:
compareTo in interface Completion
Parameters:
c2 - Another completion instance.
Returns:
How this completion compares to the other one.

getAlreadyEntered

public java.lang.String getAlreadyEntered(javax.swing.text.JTextComponent comp)
Returns the portion of this completion that has already been entered into the text component. The match is case-insensitive.

This is a convenience method for: getProvider().getAlreadyEnteredText(comp).

Specified by:
getAlreadyEntered in interface Completion
Parameters:
comp - The text component.
Returns:
The already-entered portion of this completion.

getIcon

public javax.swing.Icon getIcon()
The default implementation returns null. Subclasses who wish to display an icon can override this method.

Specified by:
getIcon in interface Completion
Returns:
The icon for this completion.

getInputText

public java.lang.String getInputText()
Returns the text the user has to (start) typing for this completion to be offered. The default implementation simply returns Completion.getReplacementText().

Specified by:
getInputText in interface Completion
Returns:
The text the user has to (start) typing for this completion.
See Also:
Completion.getReplacementText()

getProvider

public CompletionProvider getProvider()
Returns the provider that returned this completion.

Specified by:
getProvider in interface Completion
Returns:
The provider.

getRelevance

public int getRelevance()
Returns the "relevance" of this completion. This is used when sorting completions by their relevance. It is an abstract concept that may mean different things to different languages, and may depend on the context of the completion.

By default, all completions have a relevance of 0. The higher the value returned by this method, the higher up in the list this completion will be; the lower the value returned, the lower it will be. Completions with equal relevance values will be sorted alphabetically.

Specified by:
getRelevance in interface Completion
Returns:
The relevance of this completion.

getToolTipText

public java.lang.String getToolTipText()
The default implementation returns null. Subclasses can override this method.

Specified by:
getToolTipText in interface Completion
Returns:
The tool tip text.

setRelevance

public void setRelevance(int relevance)
Sets the relevance of this completion.

Parameters:
relevance - The new relevance of this completion.
See Also:
getRelevance()

toString

public java.lang.String toString()
Returns a string representation of this completion. The default implementation returns getInputText().

Overrides:
toString in class java.lang.Object
Returns:
A string representation of this completion.