public int complete()

in commands/src/main/java/org/jclouds/karaf/commands/support/GenericCompleterSupport.java [47:73]


   public int complete(String buffer, int cursor, List<String> candidates) {
     CommandSession commandSession = CommandSessionHolder.getSession();
     ArgumentCompleter.ArgumentList list = (ArgumentCompleter.ArgumentList) commandSession.get(ArgumentCompleter.ARGUMENTS_LIST);
     delegate.getStrings().clear();

     if (list != null) {
        String contextName = extractContextName(list.getArguments());
       String providerOrApi = extractProviderOrApiFromArguments(list.getArguments());
       Collection<String> values;

       if (contextName != null && cache.containsKey(contextName)) {
         values = cache.get(contextName);
       } else if (providerOrApi != null && cache.containsKey(providerOrApi)) {
         values = cache.get(providerOrApi);
       } else {
         values = cache.values();
       }

       for (String item : values) {
         if (buffer == null || item.startsWith(buffer)) {
           delegate.getStrings().add(item);
         }
       }
     }

     return delegate.complete(buffer, cursor, candidates);
   }