View Javadoc

1   package com.lexicalscope.jewel.cli.specification;
2   
3   import com.lexicalscope.fluent.list.FluentList;
4   import com.lexicalscope.fluentreflection.FluentMethod;
5   import com.lexicalscope.jewel.cli.HelpMessage;
6   
7   /**
8    * BETA: unstable may change in future versions
9    *
10   * @author tim
11   *
12   * @param <O>
13   */
14  public interface OptionsSpecification<O> extends CliSpecification {
15      boolean isSpecified(String key);
16  
17      ParsedOptionSpecification getSpecification(String key);
18  
19      FluentList<ParsedOptionSpecification> getMandatoryOptions();
20  
21      ParsedOptionSpecification getSpecification(FluentMethod reflectedMethod);
22  
23      void describeTo(HelpMessage helpMessage);
24  }