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

org.supercsv.ext.annotation.CsvNumberConverter Maven / Gradle / Ivy

Go to download

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

There is a newer version: 2.3
Show newest version
package org.supercsv.ext.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 java.math.RoundingMode;
import java.text.DecimalFormat;
import java.util.Currency;

import org.supercsv.cellprocessor.ift.CellProcessor;
import org.supercsv.ext.cellprocessor.constraint.Max;
import org.supercsv.ext.cellprocessor.constraint.Min;


/**
 * 数値型の変換規則を定義するアノテーション。
 * 
 * 

対応する型は以下の通りです。

*
    *
  • プリミティブ型「byte/short/int/long/float/double」および、そのラッパークラス。
  • *
  • java.math.BigDecimal/java.math.BigInteger
  • *
* * @version 1.2 * @author T.TSUCHIE * */ @Target({ElementType.FIELD}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface CsvNumberConverter { /** * 数値の書式を指定します。 *

{@link DecimalFormat}で解釈可能な値を指定する必要があります。

*/ String pattern() default ""; /** * 読み込み時に数値の解析を厳密に行うか判定します。 *

属性{@link #pattern()}を指定した時のみ有効になります。 * @return trueの場合、非厳密に判定を行います。 */ boolean lenient() default false; /** * 通貨コード {@link Currency} を指定します。(ISO 4217 Code) *

属性{@link #pattern()}を指定したときのみ有効になります。 * @return 通貨コード (ISO 4217 コード) */ String currency() default ""; /** * ロケールを指定します。 *

{@literal <言語コード>}、{@literal <言語コード>_<国コード>}、{@literal <言語コード>_<国コード>_<バリアント>}の3つの書式で指定します。

*

例 'ja'、'ja_JP'、'ja_JP_JP'

*

属性{@link #pattern()}を指定したときのみ有効になります。 * @return 省略した場合、システム標準の値を使用します。 */ String locale() default ""; /** * 丸め動作を指定します。 *

属性{@link #pattern()}を指定したときのみ有効になります。 * @since 1.2 * @return フォーマットする際の桁の丸めの方法。 */ RoundingMode rounding() default RoundingMode.HALF_EVEN; /** * カラムの値が指定した値以上(最小値)かどうかチェックします。 *

{@link CellProcessor}の{@link Min}が設定されます。

* @return 値は、クラスタイプやアノテーションで指定した書式に沿った値を指定する必要があります。 */ String min() default ""; /** * カラムの値が指定した値以下(最大値)かどうかチェックします。 *

{@link CellProcessor}の{@link Max}が設定されます。

* @return 値は、クラスタイプやアノテーションで指定した書式に沿った値を指定する必要があります。 */ String max() default ""; }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy