
com.lexicalscope.jewel.cli.ValidationErrorBuilderImpl Maven / Gradle / Ivy
package com.lexicalscope.jewel.cli;
import java.util.ArrayList;
import java.util.List;
class ValidationErrorBuilderImpl implements ValidationErrorBuilder
{
private final List validationExceptions =
new ArrayList();
public void missingValue(final OptionSpecification optionSpecification)
{
validationExceptions.add(new ValidationFailureMissingValue(optionSpecification));
}
public void wrongNumberOfValues(final OptionSpecification optionSpecification, final List excessValues)
{
validationExceptions.add(new ValidationFailureWrongNumberOfValues(optionSpecification, excessValues));
}
public void unexpectedOption(final String name)
{
validationExceptions.add(ArgumentValidationExceptionFactory.createUnexpectedOptionError(name));
}
public void unexpectedValue(final OptionSpecification optionSpecification, final List values)
{
validationExceptions.add(ArgumentValidationExceptionFactory.createUnexpectedValueError(optionSpecification, values));
}
@Override public void unexpectedTrailingValue(final List unparsedArguments) {
validationExceptions.add(ArgumentValidationExceptionFactory.createUnexpectedTrailingValues(unparsedArguments));
}
public void missingOption(final OptionSpecification optionSpecification)
{
validationExceptions.add(ArgumentValidationExceptionFactory.createMissingOptionError(optionSpecification));
}
public void invalidValueForType(final OptionSpecification optionSpecification, final String message)
{
validationExceptions.add(ArgumentValidationExceptionFactory.createInvalidValueForType(
optionSpecification,
message));
}
public void unableToConstructType(final OptionSpecification optionSpecification, final String message)
{
validationExceptions
.add(ArgumentValidationExceptionFactory.createUnableToConstructType(optionSpecification, message));
}
public void patternMismatch(final OptionSpecification optionSpecification, final String value)
{
validationExceptions.add(ArgumentValidationExceptionFactory.createPatternMismatch(optionSpecification, value));
}
public void validate() throws ArgumentValidationException
{
if (validationExceptions.size() > 0)
{
throw new ArgumentValidationException(validationExceptions);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy