Coverage Report - com.lexicalscope.jewel.cli.ValidationErrorBuilderImpl
 
Classes in this File Line Coverage Branch Coverage Complexity
ValidationErrorBuilderImpl
73%
17/23
100%
2/2
1.2
 
 1  
 package com.lexicalscope.jewel.cli;
 2  
 
 3  
 import java.util.ArrayList;
 4  
 import java.util.List;
 5  
 
 6  
 import com.lexicalscope.jewel.cli.specification.OptionSpecification;
 7  
 
 8  388
 public class ValidationErrorBuilderImpl implements ValidationErrorBuilder
 9  
 {
 10  388
     private final List<ValidationFailure> validationExceptions =
 11  
             new ArrayList<ValidationFailure>();
 12  
 
 13  
     public void missingValue(final OptionSpecification optionSpecification)
 14  
     {
 15  0
         validationExceptions.add(new ValidationFailureMissingValue(optionSpecification));
 16  0
     }
 17  
 
 18  
     public void wrongNumberOfValues(final OptionSpecification optionSpecification, final List<String> excessValues)
 19  
     {
 20  34
         validationExceptions.add(new ValidationFailureWrongNumberOfValues(optionSpecification, excessValues));
 21  34
     }
 22  
 
 23  
     public void unexpectedOption(final String name)
 24  
     {
 25  8
         validationExceptions.add(ArgumentValidationExceptionFactory.createUnexpectedOptionError(name));
 26  8
     }
 27  
 
 28  
     public void unexpectedValue(final OptionSpecification optionSpecification, final List<String> values)
 29  
     {
 30  0
         validationExceptions.add(ArgumentValidationExceptionFactory.createUnexpectedValueError(optionSpecification, values));
 31  0
     }
 32  
 
 33  
     @Override public void unexpectedTrailingValue(final List<String> unparsedArguments) {
 34  2
         validationExceptions.add(ArgumentValidationExceptionFactory.createUnexpectedTrailingValues(unparsedArguments));
 35  2
     }
 36  
 
 37  
     public void missingOption(final OptionSpecification optionSpecification)
 38  
     {
 39  14
         validationExceptions.add(ArgumentValidationExceptionFactory.createMissingOptionError(optionSpecification));
 40  14
     }
 41  
 
 42  
     public void invalidValueForType(final OptionSpecification optionSpecification, final String message)
 43  
     {
 44  10
         validationExceptions.add(ArgumentValidationExceptionFactory.createInvalidValueForType(
 45  
                 optionSpecification,
 46  
                 message));
 47  10
     }
 48  
 
 49  
     public void unableToConstructType(final OptionSpecification optionSpecification, final String message)
 50  
     {
 51  0
         validationExceptions
 52  
         .add(ArgumentValidationExceptionFactory.createUnableToConstructType(optionSpecification, message));
 53  0
     }
 54  
 
 55  
     public void patternMismatch(final OptionSpecification optionSpecification, final String value)
 56  
     {
 57  6
         validationExceptions.add(ArgumentValidationExceptionFactory.createPatternMismatch(optionSpecification, value));
 58  6
     }
 59  
 
 60  
     public void validate() throws ArgumentValidationException
 61  
     {
 62  542
         if (validationExceptions.size() > 0)
 63  
         {
 64  72
             throw new ArgumentValidationException(validationExceptions);
 65  
         }
 66  470
     }
 67  
 }