
org.sfm.csv.impl.writer.FormattingAppender Maven / Gradle / Ivy
package org.sfm.csv.impl.writer;
import org.sfm.map.FieldMapper;
import org.sfm.map.MappingContext;
import org.sfm.reflect.Getter;
import java.text.Format;
import static org.sfm.utils.Asserts.requireNonNull;
public class FormattingAppender implements FieldMapper {
private final Getter getter;
private final Getter, Format> formatAccessor;
public FormattingAppender(Getter getter, Getter, Format> formatAccessor) {
this.getter = getter;
this.formatAccessor = formatAccessor;
}
@Override
public void mapTo(S source, Appendable target, MappingContext context) throws Exception {
Object o = getter.get(source);
if (o != null) {
Format format = formatAccessor.get(context);
requireNonNull("Format in mapping context", format);
target.append(format.format(o));
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy