Module platform

Class AbstractCompletion

java.lang.Object
de.grogra.pf.ui.autocomplete.impl.AbstractCompletion
All Implemented Interfaces:
Completion, Comparable<Completion>
Direct Known Subclasses:
BasicCompletion, ClassCompletion, MarkupTagCompletion, TemplateCompletion

public abstract class AbstractCompletion extends 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 Details

    • AbstractCompletion

      protected AbstractCompletion(CompletionProvider provider)
      Constructor.
      Parameters:
      provider - The provider that created this completion.
    • AbstractCompletion

      protected AbstractCompletion(CompletionProvider provider, Icon icon)
      Constructor.
      Parameters:
      provider - The provider that created this completion.
      icon - The icon for this completion.
  • Method Details

    • compareTo

      public int compareTo(Completion c2)
      Description copied from interface: Completion
      Compares this completion to another one lexicographically, ignoring case.
      Specified by:
      compareTo in interface Comparable<Completion>
      Specified by:
      compareTo in interface Completion
      Parameters:
      c2 - Another completion instance.
      Returns:
      How this completion compares to the other one.
    • getAlreadyEntered

      public String getAlreadyEntered(AutoCompletableTextArea comp)
      Description copied from interface: Completion
      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 Icon getIcon()
      Description copied from interface: Completion
      Returns the icon to use for this completion.
      Specified by:
      getIcon in interface Completion
      Returns:
      The icon, or null for none.
    • getCompareString

      public String getCompareString()
      Description copied from interface: Completion
      Return the String used for comparing this Completion to others
      Specified by:
      getCompareString in interface Completion
      Returns:
    • getInputText

      public 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:
    • getProvider

      public CompletionProvider getProvider()
      Description copied from interface: Completion
      Returns the provider that returned this completion.
      Specified by:
      getProvider in interface Completion
      Returns:
      The provider.
    • getRelevance

      public int getRelevance()
      Description copied from interface: Completion
      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 String getToolTipText()
      The default implementation returns null. Subclasses can override this method.
      Specified by:
      getToolTipText in interface Completion
      Returns:
      The tool tip text.
    • setIcon

      public void setIcon(Icon icon)
      Sets the icon to use for this completion.
      Parameters:
      icon - The icon to use.
      See Also:
    • setRelevance

      public void setRelevance(int relevance)
      Sets the relevance of this completion.
      Parameters:
      relevance - The new relevance of this completion.
      See Also:
    • toString

      public String toString()
      Returns a string representation of this completion. The default implementation returns getInputText().
      Overrides:
      toString in class Object
      Returns:
      A string representation of this completion.