Removed half-baked java source code parser.
[javainspect.git] / src / main / java / eu / svjatoslav / inspector / java / commandline / TargetImageTypeParameter.java
1 package eu.svjatoslav.inspector.java.commandline;
2
3 import eu.svjatoslav.commons.commandline.parameterparser.ArgumentCount;
4 import eu.svjatoslav.commons.commandline.parameterparser.Parameter;
5 import eu.svjatoslav.commons.string.String2;
6 import eu.svjatoslav.inspector.java.structure.TargetImageType;
7
8 import java.util.Arrays;
9
10 public class TargetImageTypeParameter extends Parameter<TargetImageType, TargetImageTypeParameter> {
11
12     public TargetImageTypeParameter(){
13         super("Target image type. Default is: svg.", ArgumentCount.SINGLE);
14     }
15
16     @Override
17     public String describeFormat() {
18         String2 result = new String2("");
19
20         Arrays.stream(TargetImageType.values())
21                 .forEach(targetImageType -> result.appendWithSeparator(", ", targetImageType.fileExtension));
22
23         result.prepend("options: ");
24
25         return result.toString();
26     }
27
28     @Override
29     public TargetImageType getValue() {
30         return TargetImageType.valueOf(arguments.get(0).toUpperCase());
31     }
32
33     @Override
34     public boolean validate(String value) {
35         try {
36             TargetImageType.valueOf(value.toUpperCase());
37         } catch (final IllegalArgumentException exception) {
38             return false;
39         }
40
41         return true;
42     }
43 }