View Javadoc

1   /***
2    * Copyright (C) 2008 rweber <quietgenie@users.sourceforge.net>
3    * 
4    * This file is part of CsvObjectMapper.
5    * 
6    * CsvObjectMapper is free software: you can redistribute it and/or modify
7    * it under the terms of the GNU Lesser General Public License as published by
8    * the Free Software Foundation, either version 3 of the License, or
9    * (at your option) any later version.
10   * 
11   * CsvObjectMapper is distributed in the hope that it will be useful,
12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   * GNU Lesser General Public License for more details.
15   * 
16   * You should have received a copy of the GNU Lesser General Public License
17   * along with CsvObjectMapper.  If not, see <http://www.gnu.org/licenses/>.
18   */
19  
20  /***
21   * 
22   */
23  package com.projectnine.csvmapper;
24  
25  import org.apache.commons.validator.GenericValidator;
26  
27  /***
28   * This {@link CsvFieldValidator} prevents non-standard US Postal codes from
29   * passing validation.
30   * 
31   * @author robweber
32   * @deprecated Use {@link RegularExpressionCsvFieldValidator} with a regular
33   *             expression of "^//d{5}//p{Punct}?//s?(?://d{4})?$" instead.
34   */
35  public class PostalCodeCsvFieldValidator extends CsvFieldValidator {
36      private static final String ZIPCODE_REGEXP = "^//d{5}([-]?//d{4})?$";
37  
38      public static void main(String[] args) throws Exception {
39          CsvFieldValidationContext context = new CsvFieldValidationContext();
40          context.setValueToValidate("12222-0000");
41          new PostalCodeCsvFieldValidator().execute(context);
42      }
43  
44      @Override
45      protected boolean doValidate(
46              CsvFieldValidationContext csvFieldValidationContext)
47              throws Exception {
48          if (GenericValidator.matchRegexp(csvFieldValidationContext
49                  .getValueToValidate(), ZIPCODE_REGEXP)) {
50              return false;
51          }
52  
53          throw new ValidationException("The tendered zip code, "
54                  + csvFieldValidationContext.getValueToValidate()
55                  + ", is not a valid zip code.");
56      }
57  }