みけです。
ひょんなことから
わかめ氏のつくった軽量のJSONパーサーである、
JsonPullParserの勉強会に行って来ました。
なお、当日の参加者によるツイートはまとめられています。
宗教戦争
このブログをご覧の方はご存知のことかと思いますが、
わかめ氏はeclipseユーザーですが、
僕やイケメンこと山本裕介氏は最強のJava IDEである、
IntelliJ IDEAのユーザーです。
というわけで、アノテーションプロセッサーの設定方法で若干、
戸惑いました。
…30分後
こんなやりとりがあったとか、なかったとか…
IntelliJ IDEAでの設定
正しくは次のように設定します。
- IntelliJ IDEAのPreferenceを選びます。
- Compiler > Annotation Processors を開きます。
- Enable Annotation Processing にチェックを入れます。
- Processor Pathにjsonpullparser-apt-1.4.11.jarのパスを入力します。
- Annotation Processorsのところで + ボタンを押して、次のとおり入力します。
- Processor FQN に
net.vvakame.util.jsonpullparser.factory.JsonAnnotationProcessor
と入力します。 - Processor Options に
JsonPullParserClassPostfix=Generated
と入力します。
- Processor FQN に
- Processed Modules にて + ボタンを押して、 Generated Source Directory Name に
.apt_generated
(ここは好きに入れて下さい)と入力します。
- OKボタンを押します。
- 次にProject Structureを開きます。
- Modules > Sources を選びます。
.apt_generated
ディレクトリーを選択して、Sourcesボタンを押します。
- OKボタンを押します。
以上で設定は完了です。
ソースを自動生成
Eclipseではファイルを保存するという行為が必要ですが、
IntelliJ IDEAは勝手にファイルを保存してくれます。
(「手動でファイルを保存するのが許されるのは小学生までだよねぇ、キャッキャッ」とは言いませんが…)
そのため、Eclipseではファイル保存というトリガーによって、
Annotation Processorが起動しますが、
IntelliJ IDEAではトリガーがないので、
手動でAnnotation Processorを起動する必要があります。
手順は以下のとおり。
- Build > Rebuild Projectを選択します。
簡単ですね。
JsonPullParserのアノテーションたち
JsonPullParserで重要なアノテーションは以下の二つです。
@JsonModel
- 一つのオブジェクトを表象するアノテーション
- Javaのクラスに付与する
@JsonKey
- 一つのキー-バリューペアを表象するアノテーション
- Javaのクラスのプロパティに付与する
decamelize
をtrueにすると、Javaではあまり望まれないような体裁のキー(例:first_name
)をJavaのスタイルのプロパティー(例firstName
)に合わせてくれます。- valueにキー値を設定することで、classなどJavaで予約語となっているようなキーのマッピングを指定することができます。
- converterを指定すると、JsonPullParserを直接操作することが可能になります。
まあ、やってみよう!
というわけで、さっそくモデルクラスを書いて、
パーサーを作ってもらいましょう!
このモデルを書いた後、一度ビルドします。
その後にテストを書きます。
実行結果は…
おお、成功しました(∩´∀`)∩ワーイ
ちなみに、Groovyクラスタの方は自重して下さい。
さて、ここまでできることがわかると、
Groovy使いの僕としては、
アノテーションプロセッサーの設定を手でするのが面倒になってきます。
というわけで、アノテーションプロセッサーをビルドに含める、build.gradleを作成しました。
こんな感じ。
あ、そういえば、Annotation Processingって、gradleでどうやるんだろう… T.B.D.
0 件のコメント:
コメントを投稿