annotation processor 毎度忘れる。
- ElementはVariableElementやTypeElementなどにcast出来たりするよ
- ClassName.get(int.class)できない。
- TypeName.INTなどがある
- TypeNameを色々と渡すような実装にしたけど、auto/commonとかTypesUtils, ElementUtilsがあるのでElementを渡すようにしたほうがよかったかも???またはClassName???
- google/auto/commonなど参考にするとよい
- DeepLinkDispatchも使ってた
- debugger でデバッグ出来るようにしておくとよい
- printデバッグしててハゲそうだった
- ProcessingContext, Writer, Definition という役割にクラスを分けるとキレイぽい
- Ormaがこんな感じだった
- getAnnotaton().hoge() でClass型取ろうとしても取れない。今回つくったAnnotationExtendでやってるように取るとよい
- processorではJava8つかうとよい streamが使えてシュッ
- VariableElement#getConstantValue() は primitive型かStringの値しかとれない それら以外はnullになる
- TypeElementとかはドキュメントよむ
- 毎度読んでる気がする Aptを使ったAndroidライブラリの作り方 - Qiita
- http://qiita.com/opengl-8080/items/beda51fe4f23750c33e9
- JavaPoet 使い方メモ - Qiita
Observable<String>
を作りたい場合はこうするParameterizedTypeName.get(RxJavaTypes.Observable, JavaTypes.String)
- ClassNameなどをRxJavaTypesやJavaTypesなどに定義しておくと使いまわせてまとめられて便利