All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.sfm.csv.parser.StringArrayConsumer Maven / Gradle / Ivy

package org.sfm.csv.parser;

import java.util.ArrayList;
import java.util.List;

import org.sfm.csv.impl.cellreader.StringCellValueReader;
import org.sfm.utils.RowHandler;

public final class StringArrayConsumer> implements CellConsumer {
	private final RH handler;
	private final List currentRow = new ArrayList(10);

	public StringArrayConsumer(RH handler) {
		this.handler = handler;
	}

	@Override
	public void newCell(char[] chars, int offset, int length) {
		String str = StringCellValueReader.readString(chars, offset, length);
		currentRow.add(str);
	}

	@Override
	public void endOfRow() {
		try {
			handler.handle(currentRow.toArray(new String[currentRow.size()]));
			currentRow.clear();
		} catch (Exception e) {
			throw new RuntimeException(e.getMessage(), e);
		}
	}

	public RH handler() {
		return handler;
	}

	@Override
	public void end() {
		if (!currentRow.isEmpty()) {
			endOfRow();
		}
	}

	public static > StringArrayConsumer newInstance(RH handler) {
		return new StringArrayConsumer(handler);
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy