MergedRecord.java
package com.gh.mygreen.xlsmapper.fieldprocessor;
import org.apache.poi.ss.util.CellRangeAddress;
/**
* ネストしたレコードを処理するために、親のレコードの結合情報を保持しておくためのクラス。
*
* @since 1.4
* @author T.TSUCHIE
*
*/
public class MergedRecord {
/**
* 該当する見出し情報
*/
private final RecordHeader headerRecord;
/**
* 結合された領域の情報
*/
private final CellRangeAddress mergedRange;
/**
* 結合されたサイズ
*/
private final int mergedSize;
public MergedRecord(final RecordHeader headerRecord, final CellRangeAddress mergedRange, int mergedSize) {
this.headerRecord = headerRecord;
this.mergedRange = mergedRange;
this.mergedSize = mergedSize;
}
/**
* 該当する見出しの情報を取得する。
* @return
*/
public RecordHeader getHeaderRecord() {
return headerRecord;
}
/**
* 結合情報を取得する。
* @return
*/
public CellRangeAddress getMergedRange() {
return mergedRange;
}
/**
* 結合された行の幅を取得する。
* @return
*/
public int getRowSpan() {
return mergedRange.getLastRow() - mergedRange.getFirstRow() + 1;
}
/**
* 結合された列の幅を取得する。
* @return
*/
public int getColSpan() {
return mergedRange.getLastColumn() - mergedRange.getFirstColumn() + 1;
}
/**
* 結合されたサイズを取得する。
* <p>Horizontalの場合は縦幅、Verticalの場合は横幅が設定される。
* @return
*/
public int getMergedSize() {
return mergedSize;
}
}