XlsLabelledArrayCellsForIterateTable.java

  1. package com.gh.mygreen.xlsmapper.annotation;

  2. import java.lang.annotation.Annotation;

  3. import com.gh.mygreen.xlsmapper.fieldprocessor.ProcessCase;
  4. import com.gh.mygreen.xlsmapper.fieldprocessor.impl.IterateTablesProcessor;

  5. /**
  6.  * {@link XlsLabelledArrayCells}を{@link IterateTablesProcessor}にブリッジするためのアノテーションクラス。
  7.  *
  8.  * @since 2.0
  9.  * @author T.TSUCHIE
  10.  *
  11.  */
  12. public class XlsLabelledArrayCellsForIterateTable implements XlsLabelledArrayCells {

  13.     private final Class<? extends Annotation> annotationType;

  14.     private final int labelRow;
  15.     private final int labelColumn;

  16.     private final int size;
  17.     private final boolean elementMerged;
  18.     private final ArrayDirection direction;
  19.     private final Class<?> elementClass;
  20.     private final boolean optional;
  21.     private final int range;
  22.     private final LabelledCellType type;
  23.     private final int skip;
  24.     private final boolean labelMarged;
  25.     private final ProcessCase[] cases;


  26.     public XlsLabelledArrayCellsForIterateTable(XlsLabelledArrayCells anno, int labelRow, int labelColumn) {
  27.         this.annotationType = anno.annotationType();
  28.         this.labelRow = labelRow;
  29.         this.labelColumn = labelColumn;

  30.         this.size = anno.size();
  31.         this.elementMerged = anno.elementMerged();
  32.         this.direction = anno.direction();
  33.         this.elementClass = anno.elementClass();
  34.         this.optional = anno.optional();
  35.         this.range = anno.range();
  36.         this.type = anno.type();
  37.         this.skip = anno.skip();
  38.         this.labelMarged = anno.labelMerged();
  39.         this.cases = anno.cases();

  40.     }

  41.     @Override
  42.     public Class<? extends Annotation> annotationType() {
  43.         return annotationType;
  44.     }

  45.     @Override
  46.     public int size() {
  47.         return size;
  48.     }

  49.     @Override
  50.     public boolean elementMerged() {
  51.         return elementMerged;
  52.     }

  53.     @Override
  54.     public ArrayDirection direction() {
  55.         return direction;
  56.     }

  57.     @Override
  58.     public Class<?> elementClass() {
  59.         return elementClass;
  60.     }

  61.     @Override
  62.     public boolean optional() {
  63.         return optional;
  64.     }

  65.     @Override
  66.     public int range() {
  67.         return range;
  68.     }

  69.     @Override
  70.     public LabelledCellType type() {
  71.         return type;
  72.     }

  73.     @Override
  74.     public String label() {
  75.         return "";
  76.     }

  77.     @Override
  78.     public int labelRow() {
  79.         return labelRow;
  80.     }

  81.     @Override
  82.     public int labelColumn() {
  83.         return labelColumn;
  84.     }

  85.     @Override
  86.     public String headerLabel() {
  87.         return "";
  88.     }

  89.     @Override
  90.     public int skip() {
  91.         return skip;
  92.     }

  93.     @Override
  94.     public boolean labelMerged() {
  95.         return labelMarged;
  96.     }

  97.     @Override
  98.     public ProcessCase[] cases() {
  99.        return cases;
  100.     }

  101. }