/*
* 01/03/2009
*
* BasicCompletion.java - A straightforward Completion implementation.
*
* This library is distributed under a modified BSD license. See the included
* RSyntaxTextArea.License.txt file for details.
*/
package org.fife.ui.autocomplete;
/**
* A straightforward {@link Completion} implementation. This implementation
* can be used if you have a relatively short number of static completions
* with no (or short) summaries.<p>
*
* This implementation uses the replacement text as the input text. It also
* includes a "short description" field, which (if non-<code>null</code>), is
* used in the completion choices list.
*
* @author Robert Futrell
* @version 1.0
*/
public class BasicCompletion extends AbstractCompletion {
private String replacementText;
private String shortDesc;
private String summary;
/**
* Constructor.
*
* @param provider The parent completion provider.
* @param replacementText The text to replace.
*/
public BasicCompletion(CompletionProvider provider, String replacementText){
this(provider, replacementText, null);
}
/**
* Constructor.
*
* @param provider The parent completion provider.
* @param replacementText The text to replace.
* @param shortDesc A short description of the completion. This will be
* displayed in the completion list. This may be <code>null</code>.
*/
public BasicCompletion(CompletionProvider provider, String replacementText,
String shortDesc) {
this(provider, replacementText, shortDesc, null);
}
/**
* Constructor.
*
* @param provider The parent completion provider.
* @param replacementText The text to replace.
* @param shortDesc A short description of the completion. This will be
* displayed in the completion list. This may be <code>null</code>.
* @param summary The summary of this completion. This should be HTML.
* This may be <code>null</code>.
*/
public BasicCompletion(CompletionProvider provider, String replacementText,
String shortDesc, String summary) {
super(provider);
this.replacementText = replacementText;
this.shortDesc = shortDesc;
this.summary = summary;
}
/**
* {@inheritDoc}
*/
public String getReplacementText() {
return replacementText;
}
/**
* Returns the short description of this completion, usually used in
* the completion choices list.
*
* @return The short description, or <code>null</code> if there is none.
* @see #setShortDescription(String)
*/
public String getShortDescription() {
return shortDesc;
}
/**
* {@inheritDoc}
*/
public String getSummary() {
return summary;
}
/**
* Sets the short description of this completion.
*
* @param shortDesc The short description of this completion.
* @see #getShortDescription()
*/
public void setShortDescription(String shortDesc) {
this.shortDesc = shortDesc;
}
/**
* Sets the summary for this completion.
*
* @param summary The summary for this completion.
* @see #getSummary()
*/
public void setSummary(String summary) {
this.summary = summary;
}
/**
* Returns a string representation of this completion. If the short
* description is not <code>null</code>, this method will return:
*
* <code>getInputText() + " - " + shortDesc</code>
*
* otherwise, it will return <tt>getInputText()</tt>.
*
* @return A string representation of this completion.
*/
@Override
public String toString() {
if (shortDesc==null) {
return getInputText();
}
return getInputText() + " - " + shortDesc;
}
}