1 package com.lexicalscope.jewel.cli;
2
3 import com.lexicalscope.fluentreflection.FluentClass;
4 import com.lexicalscope.fluentreflection.FluentMethod;
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 interface OptionAdapter {
23 String description();
24 boolean isHidden();
25 String pattern();
26
27 boolean hasDefaultValue();
28 boolean defaultToNull();
29 String[] defaultValue();
30
31 boolean isMultiValued();
32 int minimum();
33 int exactly();
34 int maximum();
35
36 FluentClass<? extends Object> getValueType();
37 FluentMethod method();
38 FluentMethod correspondingOptionalityMethod();
39 }