com.github.mygreen.supercsv.cellprocessor.conversion.WordReplace Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of super-csv-annotation Show documentation
Show all versions of super-csv-annotation Show documentation
CSVのJavaライブラリであるSuperCSVに、アノテーション機能を追加したライブラリです。
package com.github.mygreen.supercsv.cellprocessor.conversion;
import org.supercsv.cellprocessor.CellProcessorAdaptor;
import org.supercsv.cellprocessor.ift.StringCellProcessor;
import org.supercsv.util.CsvContext;
/**
* 一致する語彙を置換するCellProcessor。
*
* @since 2.0
* @author T.TSUCHIE
*
*/
public class WordReplace extends CellProcessorAdaptor implements StringCellProcessor {
private final CharReplacer replacer;
public WordReplace(final CharReplacer replacer) {
super();
checkPreconditions(replacer);
this.replacer = replacer;
}
public WordReplace(final CharReplacer replacer, final StringCellProcessor next) {
super(next);
checkPreconditions(replacer);
this.replacer = replacer;
}
private static void checkPreconditions(final CharReplacer replacer) {
if(replacer == null) {
throw new NullPointerException("replacer should not be null.");
}
}
@Override
public T execute(final Object value, final CsvContext context) {
if(value == null) {
return next.execute(value, context);
}
final String result = replacer.replace(value.toString());
return next.execute(result, context);
}
}