Open Source Repository

Home /csv/supercsv-1.52 | Repository Home


org/supercsv/io/ICsvBeanReader.java
package org.supercsv.io;

import java.io.IOException;

import org.supercsv.cellprocessor.ift.CellProcessor;
import org.supercsv.exception.SuperCSVException;
import org.supercsv.exception.SuperCSVReflectionException;

/**
 * Supertype for readers reading into objects/beans.
 
 @author Kasper B. Graversen
 */
public interface ICsvBeanReader extends ICsvReader {

/**
 * Read a line and populate an instance of the specified type. Since no processing of any fields *
 
 @param clazz
 *            the type to instantiate. If the type is a class type, an instance can be created straight away. If the
 *            type is an interface type, a proxy is created on the fly which acts as an implementation.
 @param nameMapping
 *            an array describing the property name of the line read. The position of the property array corresponds to
 *            the column in the csv file. null denote the column in the csv file is ignored.
 @return an object or null if EOF *
 @since 1.0
 */
public <T> T read(Class<T> clazz, String... nameMappingthrows IOException, SuperCSVReflectionException;

/**
 * Read a line of a csv file and populate a bean with the data. Before population the data is processed by cell
 * processors.
 
 @param clazz
 *            the type to instantiate. If the type is a class type, an instance can be created straight away. If the
 *            type is an interface type, a proxy is created on the fly which acts as an implementation.
 @param nameMapping
 *            an array describing the property name of the line read. The position of the property array corresponds to
 *            the column in the csv file. null denote the column in the csv file.
 @param processors
 *            an array of CellProcessor. The position in the array must match the position of the nameMapping. Null
 *            entries in the array denotes columns that should not be processed.
 @return an object or null if EOF
 @since 1.0
 */
public <T> T read(Class<T> clazz, String[] nameMapping, CellProcessor... processorsthrows IOException,
  SuperCSVReflectionException, SuperCSVException;
}