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
9
10
11
12
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 }