org.simpleflatmapper.poi.impl.TransformRowMapper Maven / Gradle / Ivy
The newest version!
package org.simpleflatmapper.poi.impl;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.simpleflatmapper.map.MappingContext;
import org.simpleflatmapper.map.MappingException;
import org.simpleflatmapper.map.TransformEnumerable;
import org.simpleflatmapper.poi.RowMapper;
import org.simpleflatmapper.util.CheckedConsumer;
import org.simpleflatmapper.util.Enumerable;
import org.simpleflatmapper.util.Function;
import org.simpleflatmapper.util.TransformCheckedConsumer;
import org.simpleflatmapper.util.TransformIterator;
import java.util.Iterator;
public class TransformRowMapper implements RowMapper {
private final Function transform;
private final RowMapper delegate;
public TransformRowMapper(RowMapper delegate, Function transform) {
this.delegate = delegate;
this.transform = transform;
}
@Override
public O map(Row source) throws MappingException {
return transform.apply(delegate.map(source));
}
@Override
public O map(Row source, MappingContext super Row> context) throws MappingException {
return transform.apply(delegate.map(source, context));
}
@Override
public Iterator iterator(Sheet sheet) {
return new TransformIterator(delegate.iterator(sheet), transform);
}
@Override
public Iterator iterator(int startRow, Sheet sheet) {
return new TransformIterator(delegate.iterator(startRow, sheet), transform);
}
@Override
public Enumerable enumerate(Sheet sheet) {
return new TransformEnumerable(delegate.enumerate(sheet), transform);
}
@Override
public Enumerable enumerate(int startRow, Sheet sheet) {
return new TransformEnumerable(delegate.enumerate(startRow, sheet), transform);
}
@Override
public > RH forEach(Sheet sheet, RH consumer) {
delegate.forEach(sheet, new TransformCheckedConsumer(consumer, transform));
return consumer;
}
@Override
public > RH forEach(int startRow, Sheet sheet, RH consumer) {
delegate.forEach(startRow, sheet, new TransformCheckedConsumer(consumer, transform));
return consumer;
}
//IFJAVA8_START
@Override
public java.util.stream.Stream stream(Sheet sheet) {
return delegate.stream(sheet).map(transform::apply);
}
public java.util.stream.Stream stream(int startRow, Sheet sheet) {
return delegate.stream(startRow, sheet).map(transform::apply);
}
//IFJAVA8_END
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy