All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.mygreen.supercsv.annotation.CsvColumn Maven / Gradle / Ivy

Go to download

CSVのJavaライブラリであるSuperCSVに、アノテーション機能を追加したライブラリです。

There is a newer version: 2.3
Show newest version
package com.github.mygreen.supercsv.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import org.supercsv.cellprocessor.ift.CellProcessor;

import com.github.mygreen.supercsv.builder.ProcessorBuilder;


/**
 * CSVのカラムであることを表現するためのアノテーションです。
 * 

フィールドに付与します。

* *

基本的な使い方

*
    *
  • 属性{@link #number()}でカラムの番号を指定します。 *
    値は1から始まります。 *
  • *
  • ヘッダー行が存在する場合、属性{@link #label()}で見出しの値を指定します。 *
    省略した場合、フィールド名が適用されます。 *
  • *
* *

 * {@literal @CsvBean}
 * public class SampleCsv {
 *     
 *     {@literal @CsvColumn(number=1)}
 *     private int no;
 *     
 *     {@literal @CsvColumn(number=2, label="名前")}
 *     private String name;
 *     
 *     // getter/setterは省略
 * }
 * 
* * @version 2.1 * @author T.TSUCHIE * */ @Target({ElementType.FIELD}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface CsvColumn { /** * 列番号を指定します。 *

他のカラムの値との重複は許可しません。

* @return 番号は1から始まります。 */ int number() default 0; /** * 見出しとなるラベルを指定します。 * @return 指定しない場合、フィールド名が適用されます。 */ String label() default ""; /** * 独自の{@link ProcessorBuilder}を指定して{@link CellProcessor} を組み立てたい場合に指定します。 *

サポートしていないクラスタイプに対応するときなどに指定します。

* @return {@link ProcessorBuilder}を実装したクラスを指定します。 */ @SuppressWarnings("rawtypes") Class[] builder() default {}; }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy