Class AbstractCompletion

  • All Implemented Interfaces:
    Comparable<Completion>, Completion
    Direct Known Subclasses:
    BasicCompletion, 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 Detail

      • 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 Detail

      • compareTo

        public int compareTo​(Completion c2)
        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​(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 Icon getIcon()
        Returns the icon to use for this completion.
        Specified by:
        getIcon in interface Completion
        Returns:
        The icon, or null for none.
      • 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 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:
        getIcon()
      • 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 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.