2011-03-01から1ヶ月間の記事一覧

guice 3.0 の AssistedInject 新機能

Google guice 3.0 がリリースされて新機能の1つに、AssistedInject の Factory生成がある。 guice 2.0 では、 bind(PaymentFactory.class).toProvider(FactoryProvider.newFactory( PaymentFactory.class, RealPayment.class)); toProvider でFactoryProvid…

Google guice 3.0 が遂にリリース

Google guice 3.0 が遂にリリースされた。 JSR-330 サポートで、javax.inject.Inject を使用できるようになったことで、 3.0 で配布される javax.inject.jar をclasspath に通さなくてはならなくなったが、 Constructor Bindings が非常にうれしい。 JSR-330…

CSV書き込み(3)

前回の CsvLineWriteProcessor を使ってみると。。。 final List<String> datas = new ArrayList<String>(); datas.add(new String{"uran" , "Hellow \"\" 2quot! " ,"Aaaa123"}); datas.add(new String{"beth" , "" , "BB , CC"}); datas.add(new String{"ann" , " ,," , "</string></string>…

CSV書き込み(2)

前回の続きで、CSV書き込みのインタフェース実装を受け取って処理するもの。 そんなに難しいものではない。 import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.io.OutputStream…

CSV書き込み(1)

csv4j の読込は1行プロセッサをcall させる方法だが、csv4j の CSVWriter は、 そうではなく、がっかりだ。 それならば、まずは インタフェースを。 import java.util.List; /** * CsvLineWriteProcessor CSV書込みプロセッサ */ public interface CsvLineW…

アノテーションをコーディングの中心に(2)

前回のつづき、、、 以下、任意のアノテーション import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * MyTarget.java */ @Retentio…

アノテーションをコーディングの中心に(1)

アノテーションを書くことをコーディングの中心にできないだろうか。 (長いので2回に分けて投稿) インターセプタが実行する前処理、後処理をインターフェースとして定義する。 →これだけだと何のことかさっぱりわからない。でもこれが後で重要 インターフ…

正規表現プロセッサ

csv4j を久しぶりに使って思った。なぜ今まで正規表現プロセッサを 書かなかったのだろうか?ごちゃごちゃと力づくのコーディングをして放置して しまったのであろう。 反省すべきであった。 パターンマッチで一致するごとに実行するメソッドをインターフェ…

複数CSVを csv4j で解析する

複数の同じ形式のCSVファイルを、1回の解析プロセッサの指定で実行することを csv4j で考えた。 CSVFileProcessorと似たメソッドを持つクラスと、CSVLineProcessor インターフェースにそっくりなものを用意する → ExCSVLineProcessor 1行解析で実行される…

2バイト文字可のpropertiesの為に

JDK1.5 での開発を行わなくてはならないこと。あまり開発作業環境が統一&整備されていない状況。 そんな中で日本語文字を含むプロパティの必要性が発生してしまった場合は困る。 JDK1.6 なら、ResouceBundle.Controle が存在して newBundle をオーバライド…

csv4j 文字コード指定でCSV読む場合、

csv4j CSV 文字コード指定して読むならば、CSVFileProcessor ではなくて、 CSVStreamProcessor を使う CSVFileProcessor の processFile で CSVLineProcessor を与えたのと同様に、InputStreamReader で 文字コード指定してやればよい。 CSVStreamProcessor …