Class AggregateCompleter

  • All Implemented Interfaces:
    Completer

    public class AggregateCompleter
    extends java.lang.Object
    implements Completer
    Completer which contains multiple completers and aggregates them together.
    Since:
    2.3
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.Collection<Completer> completers  
    • Constructor Summary

      Constructors 
      Constructor Description
      AggregateCompleter​(java.util.Collection<Completer> completers)
      Construct an AggregateCompleter with the given completers.
      AggregateCompleter​(Completer... completers)
      Construct an AggregateCompleter with the given completers.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void complete​(LineReader reader, ParsedLine line, java.util.List<Candidate> candidates)
      Perform a completion operation across all aggregated completers.
      java.util.Collection<Completer> getCompleters()
      Retrieve the collection of completers currently being aggregated.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • completers

        private final java.util.Collection<Completer> completers
    • Constructor Detail

      • AggregateCompleter

        public AggregateCompleter​(Completer... completers)
        Construct an AggregateCompleter with the given completers. The completers will be used in the order given.
        Parameters:
        completers - the completers
      • AggregateCompleter

        public AggregateCompleter​(java.util.Collection<Completer> completers)
        Construct an AggregateCompleter with the given completers. The completers will be used in the order given.
        Parameters:
        completers - the completers
    • Method Detail

      • getCompleters

        public java.util.Collection<Completer> getCompleters()
        Retrieve the collection of completers currently being aggregated.
        Returns:
        the aggregated completers
      • complete

        public void complete​(LineReader reader,
                             ParsedLine line,
                             java.util.List<Candidate> candidates)
        Perform a completion operation across all aggregated completers. The effect is similar to the following code:
        completers.forEach(c -> c.complete(reader, line, candidates));
        Specified by:
        complete in interface Completer
        Parameters:
        reader - The line reader
        line - The parsed command line
        candidates - The List of candidates to populate
        See Also:
        Completer.complete(LineReader, ParsedLine, List)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
        Returns:
        a string representing the aggregated completers