View Javadoc

1   package com.lexicalscope.jewel.cli;
2   
3   import java.util.List;
4   
5   import com.lexicalscope.jewel.cli.specification.OptionSpecification;
6   
7   /*
8    * Copyright 2011 Tim Wood
9    *
10   * Licensed under the Apache License, Version 2.0 (the "License");
11   * you may not use this file except in compliance with the License.
12   * You may obtain a copy of the License at
13   *
14   * http://www.apache.org/licenses/LICENSE-2.0
15   *
16   * Unless required by applicable law or agreed to in writing, software
17   * distributed under the License is distributed on an "AS IS" BASIS,
18   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19   * See the License for the specific language governing permissions and
20   * limitations under the License.
21   */
22  
23  class ValidationFailureUnexpectedValue extends ValidationFailureImpl
24  {
25      private static final long serialVersionUID = 2360308973259628892L;
26  
27      public ValidationFailureUnexpectedValue(final OptionSpecification specification, final List<String> values) {
28          super(specification, formatMessage(values));
29      }
30  
31      private static String formatMessage(final List<String> values) {
32          if(values.size() > 1)
33          {
34              return String.format(ArgumentValidationException.m_messages.getString("validationError.UnexpectedValues"), values);
35          }
36          return String.format(ArgumentValidationException.m_messages.getString("validationError.UnexpectedValue"), values.get(0));
37      }
38  
39      @Override public ValidationFailureType getFailureType() {
40          return ValidationFailureType.UnexpectedValue;
41      }
42  }