Class 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
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private javax.swing.Icon icon
      The icon to use for this completion.
      private CompletionProvider provider
      The provider that created this completion.
      private int relevance
      The relevance of this completion.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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()
      Returns the icon to use for this completion.
      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 setIcon​(javax.swing.Icon icon)
      Sets the icon to use for this completion.
      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
    • Field Detail

      • provider

        private final CompletionProvider provider
        The provider that created this completion.
      • icon

        private javax.swing.Icon icon
        The icon to use for this completion.
      • relevance

        private int relevance
        The relevance of this completion. Completion instances with higher "relevance" values are inserted higher into the list of possible completions than those with lower values. Completion instances with equal relevance values are sorted alphabetically.
    • Constructor Detail

      • AbstractCompletion

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

        protected AbstractCompletion​(CompletionProvider provider,
                                     javax.swing.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)
        Description copied from interface: Completion
        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)
        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 javax.swing.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.
      • 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 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.
      • setIcon

        public void setIcon​(javax.swing.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 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.