1 package com.lexicalscope.jewel.cli; 2 3 import java.util.List; 4 5 import com.lexicalscope.jewel.cli.specification.OptionSpecification; 6 7 public interface ValidationErrorBuilder 8 { 9 void unexpectedOption(String name); 10 11 void unexpectedValue(OptionSpecification optionSpecification, List<String> values); 12 13 void missingValue(OptionSpecification optionSpecification); 14 15 void wrongNumberOfValues(OptionSpecification optionSpecification, List<String> values); 16 17 void unexpectedTrailingValue(List<String> unparsedArguments); 18 19 void missingOption(OptionSpecification optionSpecification); 20 21 void unableToConstructType(OptionSpecification optionSpecification, String message); 22 23 void invalidValueForType(OptionSpecification optionSpecification, String message); 24 25 void patternMismatch(OptionSpecification optionSpecification, String value); 26 27 void validate() throws ArgumentValidationException; 28 }