Class StringsCompleter

  • All Implemented Interfaces:
    Completer
    Direct Known Subclasses:
    EnumCompleter

    public class StringsCompleter
    extends java.lang.Object
    implements Completer
    Completer for a set of strings.
    Since:
    2.3
    • Field Detail

      • candidates

        protected java.util.Collection<Candidate> candidates
      • stringsSupplier

        protected java.util.function.Supplier<java.util.Collection<java.lang.String>> stringsSupplier
    • Constructor Detail

      • StringsCompleter

        public StringsCompleter()
      • StringsCompleter

        public StringsCompleter​(java.util.function.Supplier<java.util.Collection<java.lang.String>> stringsSupplier)
      • StringsCompleter

        public StringsCompleter​(java.lang.String... strings)
      • StringsCompleter

        public StringsCompleter​(java.lang.Iterable<java.lang.String> strings)
      • StringsCompleter

        public StringsCompleter​(Candidate... candidates)
      • StringsCompleter

        public StringsCompleter​(java.util.Collection<Candidate> candidates)
    • Method Detail

      • complete

        public void complete​(LineReader reader,
                             ParsedLine commandLine,
                             java.util.List<Candidate> candidates)
        Description copied from interface: Completer
        Populates candidates with a list of possible completions for the command line.

        The list of candidates will be sorted and filtered by the LineReader, so that the list of candidates displayed to the user will usually be smaller than the list given by the completer. Thus it is not necessary for the completer to do any matching based on the current buffer. On the contrary, in order for the typo matcher to work, all possible candidates for the word being completed should be returned.

        Implementations should add Candidate objects to the candidates list. Each candidate can include additional information such as descriptions, groups, and display attributes that will be used when presenting completion options to the user.

        This method is called by the LineReader when the user requests completion, typically by pressing the Tab key.

        Specified by:
        complete in interface Completer
        Parameters:
        reader - The line reader instance that is requesting completion
        commandLine - The parsed command line containing the current input state
        candidates - The List of candidates to populate with completion options
        See Also:
        Candidate
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object