Sha256: 955fd6fc9e8851a9e73e3d08fd806cc34d91c10f5034f0accd53b5e5eeb296e5

Contents?: true

Size: 1.72 KB

Versions: 2

Compression:

Stored size: 1.72 KB

Contents

package org.embulk.parser.poi_excel.bean.record;

import java.util.Iterator;

import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.embulk.parser.poi_excel.bean.PoiExcelColumnBean;
import org.embulk.spi.Exec;
import org.slf4j.Logger;

public class PoiExcelRecordRow extends PoiExcelRecord {
	private final Logger log = Exec.getLogger(getClass());

	private Iterator<Row> rowIterator;
	private Row currentRow;

	@Override
	protected void initializeLoop(int skipHeaderLines) {
		this.rowIterator = getSheet().iterator();
		this.currentRow = null;
		while (rowIterator.hasNext()) {
			Row row = rowIterator.next();

			int rowIndex = row.getRowNum();
			if (rowIndex < skipHeaderLines) {
				if (log.isDebugEnabled()) {
					log.debug("row({}) skipped", rowIndex);
				}
				continue;
			}

			this.currentRow = row;
			break;
		}
	}

	@Override
	public boolean exists() {
		return currentRow != null;
	}

	@Override
	public void moveNext() {
		if (rowIterator.hasNext()) {
			this.currentRow = rowIterator.next();
		} else {
			this.currentRow = null;
		}
	}

	@Override
	protected void logStartEnd(String part) {
		assert currentRow != null;
		if (log.isDebugEnabled()) {
			log.debug("row({}) {}", currentRow.getRowNum(), part);
		}
	}

	@Override
	public int getRowIndex(PoiExcelColumnBean bean) {
		assert currentRow != null;
		return currentRow.getRowNum();
	}

	@Override
	public int getColumnIndex(PoiExcelColumnBean bean) {
		return bean.getColumnIndex();
	}

	@Override
	public Cell getCell(PoiExcelColumnBean bean) {
		assert currentRow != null;
		int columnIndex = getColumnIndex(bean);
		return currentRow.getCell(columnIndex);
	}
}

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
embulk-parser-poi_excel-0.1.13 src/main/java/org/embulk/parser/poi_excel/bean/record/PoiExcelRecordRow.java
embulk-parser-poi_excel-0.1.12 src/main/java/org/embulk/parser/poi_excel/bean/record/PoiExcelRecordRow.java