package com.lexicalscope.jewel.cli; import java.util.List; import com.lexicalscope.jewel.cli.specification.OptionSpecification; public interface ValidationErrorBuilder { void unexpectedOption(String name); void unexpectedValue(OptionSpecification optionSpecification, List<String> values); void missingValue(OptionSpecification optionSpecification); void wrongNumberOfValues(OptionSpecification optionSpecification, List<String> values); void unexpectedTrailingValue(List<String> unparsedArguments); void missingOption(OptionSpecification optionSpecification); void unableToConstructType(OptionSpecification optionSpecification, String message); void invalidValueForType(OptionSpecification optionSpecification, String message); void patternMismatch(OptionSpecification optionSpecification, String value); void validate() throws ArgumentValidationException; }