XlsLabelledCommentForIterateTable.java

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

  2. import java.lang.annotation.Annotation;

  3. import com.gh.mygreen.xlsmapper.fieldprocessor.ProcessCase;

  4. /**
  5.  * {@link XlsIterateTables}内の{@link XlsLabelledComment}をブリッジするクラス。
  6.  *
  7.  * @since 2.1
  8.  * @author T.TSUCHIE
  9.  *
  10.  */
  11. public class XlsLabelledCommentForIterateTable implements XlsLabelledComment {

  12.     private Class<? extends Annotation> annotationType = null;
  13.    
  14.     private String label = null;
  15.     private int labelColumn = -1;
  16.     private int labelRow = -1;
  17.     private boolean optional = false;
  18.     private String headerLabel = null;
  19.     private ProcessCase[] cases = {};
  20.    
  21.     public XlsLabelledCommentForIterateTable(XlsLabelledComment anno, int labelRow, int labelColumn) {
  22.         this.annotationType = anno.annotationType();
  23.         this.label = "";
  24.         this.labelRow = labelRow;
  25.         this.labelColumn = labelColumn;
  26.         this.optional = anno.optional();
  27.         this.headerLabel = anno.headerLabel();
  28.         this.cases = anno.cases();
  29.        
  30.     }
  31.    
  32.     @Override
  33.     public Class<? extends Annotation> annotationType() {
  34.         return annotationType;
  35.     }

  36.     @Override
  37.     public boolean optional() {
  38.         return optional;
  39.     }

  40.     @Override
  41.     public String label() {
  42.         return label;
  43.     }

  44.     @Override
  45.     public int labelRow() {
  46.         return labelRow;
  47.     }

  48.     @Override
  49.     public int labelColumn() {
  50.         return labelColumn;
  51.     }

  52.     @Override
  53.     public String headerLabel() {
  54.         return headerLabel;
  55.     }

  56.     @Override
  57.     public ProcessCase[] cases() {
  58.         return cases;
  59.     }
  60. }