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  /***
26   * Format the String value from the CSV file to some other Object.
27   * 
28   * @author robweber
29   * 
30   */
31  public interface CsvFieldFormatter {
32  
33      /***
34       * This method converts the String to an Object.
35       * 
36       * If an error occurs during the conversion, a {@link RuntimeException} may
37       * be thrown here. If that does happen, it is possible that only the current
38       * CSV record is tainted. Invoke {@link CsvToObjectMapper#loadNextRecord()}
39       * and try again.
40       * 
41       * @param rawPropertyValue
42       * @return An Object representation of the given String.
43       */
44      Object formatString(String rawPropertyValue);
45  
46      /***
47       * Converts an Object to a String.
48       * 
49       * @param object
50       *            The Object to convert into a String.
51       * @return A String representation of the given Object.
52       */
53      String formatObject(Object object);
54  
55  }