1 package com.lexicalscope.jewel.cli;
2
3 import java.util.List;
4
5 import com.lexicalscope.jewel.cli.specification.OptionSpecification;
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 class ArgumentValidationExceptionFactory {
24 static ValidationFailureImpl createUnexpectedOptionError(final String name)
25 {
26 return new ValidationFailureUnexpectedOption(new UnexpectedOptionSpecification(name));
27 }
28
29 static ValidationFailureImpl createUnexpectedValueError(final OptionSpecification optionSpecification, final List<String> values)
30 {
31 return new ValidationFailureUnexpectedValue(optionSpecification, values);
32 }
33
34 static ValidationFailureImpl createUnexpectedTrailingValues(final List<String> unparsedArguments) {
35 return new ValidationFailureUnexpectedTrailingValue(unparsedArguments);
36 }
37
38 static ValidationFailureImpl createMissingOptionError(final OptionSpecification optionSpecification)
39 {
40 return new ValidationFailureMissingOption(optionSpecification);
41 }
42
43 static ValidationFailureImpl createInvalidValueForType(
44 final OptionSpecification optionSpecification,
45 final String message)
46 {
47 return new ValidationFailureInvalidValueForType(optionSpecification, message);
48 }
49
50 static ValidationFailureImpl createUnableToConstructType(
51 final OptionSpecification optionSpecification,
52 final String message)
53 {
54 return new ValidationFailureUnableToConstructType(optionSpecification, message);
55 }
56
57 static ValidationFailureImpl createPatternMismatch(
58 final OptionSpecification optionSpecification,
59 final String message)
60 {
61 return new ValidationFailurePatternMismatch(optionSpecification, message);
62 }
63 }