XlsLabelledArrayCellsForIterateTable.java
package com.gh.mygreen.xlsmapper.annotation;
import java.lang.annotation.Annotation;
import com.gh.mygreen.xlsmapper.fieldprocessor.ProcessCase;
import com.gh.mygreen.xlsmapper.fieldprocessor.impl.IterateTablesProcessor;
/**
* {@link XlsLabelledArrayCells}を{@link IterateTablesProcessor}にブリッジするためのアノテーションクラス。
*
* @since 2.0
* @author T.TSUCHIE
*
*/
public class XlsLabelledArrayCellsForIterateTable implements XlsLabelledArrayCells {
private final Class<? extends Annotation> annotationType;
private final int labelRow;
private final int labelColumn;
private final int size;
private final boolean elementMerged;
private final ArrayDirection direction;
private final Class<?> elementClass;
private final boolean optional;
private final int range;
private final LabelledCellType type;
private final int skip;
private final boolean labelMarged;
private final ProcessCase[] cases;
public XlsLabelledArrayCellsForIterateTable(XlsLabelledArrayCells anno, int labelRow, int labelColumn) {
this.annotationType = anno.annotationType();
this.labelRow = labelRow;
this.labelColumn = labelColumn;
this.size = anno.size();
this.elementMerged = anno.elementMerged();
this.direction = anno.direction();
this.elementClass = anno.elementClass();
this.optional = anno.optional();
this.range = anno.range();
this.type = anno.type();
this.skip = anno.skip();
this.labelMarged = anno.labelMerged();
this.cases = anno.cases();
}
@Override
public Class<? extends Annotation> annotationType() {
return annotationType;
}
@Override
public int size() {
return size;
}
@Override
public boolean elementMerged() {
return elementMerged;
}
@Override
public ArrayDirection direction() {
return direction;
}
@Override
public Class<?> elementClass() {
return elementClass;
}
@Override
public boolean optional() {
return optional;
}
@Override
public int range() {
return range;
}
@Override
public LabelledCellType type() {
return type;
}
@Override
public String label() {
return "";
}
@Override
public int labelRow() {
return labelRow;
}
@Override
public int labelColumn() {
return labelColumn;
}
@Override
public String headerLabel() {
return "";
}
@Override
public int skip() {
return skip;
}
@Override
public boolean labelMerged() {
return labelMarged;
}
@Override
public ProcessCase[] cases() {
return cases;
}
}