CSVFormat.java
package org.cyclopsgroup.caff.format;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;
import org.cyclopsgroup.caff.CharIterator;
/**
* Format implementation based on CSV syntax
*
* @author <a href="mailto:jiaqi.guo@gmail.com">Jiaqi Guo</a>
* @param <T> Type of bean to format or parse
*/
public class CSVFormat<T> extends Format<T> {
private final CSVImpl<T> impl;
/**
* @param beanType Type of bean to format or parse
*/
public CSVFormat(Class<T> beanType) {
super(beanType);
impl = new CSVImpl<T>(beanType);
}
@Override
public T parse(CharSequence content) throws IOException {
T bean = createBean();
impl.populate(bean, CharIterator.instanceOf(content));
return bean;
}
@Override
public void populate(T bean, Reader reader) throws IOException {
impl.populate(bean, CharIterator.instanceOf(reader));
}
@Override
public void print(T object, Writer output) throws IOException {
impl.print(object, output);
}
}