~/talk

@Eliminate("Boilerplate")

Talkat 360|AnDev 2016 · 2016-07-28..07-29· [android]
github:rharter
slides:none on file

Claim: compile-time annotation processing generates builders so you never handwrite boilerplate; implementation: a working annotation processor extends AbstractProcessor, uses the filer and messager, emits Java source with JavaPoet, and is discovered via META-INF/services. Tests use Google’s compile-testing. Practical details: collects non‑private fields, creates private fields plus public setter methods, writes a build() that new‑s the target type, and keeps generated code out of the runtime by using the Gradle apt configuration; works and repeats consistently.

AI-written summary · about

  1. 0:00Introduction
  2. 0:30Who wrote Java boilerplate
  3. 0:51Model class
  4. 1:28Builder class
  5. 2:09Overview
  6. 2:24Annotation Processing
  7. 3:13Benefits
  8. 6:00Annotations
  9. 7:00Retention Policy
  10. 7:56Target
  11. 8:15Type Element
  12. 8:43Abstract Processor
  13. 9:08Annotation Processor
  14. 12:41Process Method
  15. 13:30Round Environment
  16. 15:13Service Loader
  17. 18:45Code Generation
  18. 19:08Java Poet
  19. 21:30Naming
  20. 22:59Fields
  21. 23:53Methods
  22. 26:16Class
  23. 27:29AnnotationProcessor
  24. 28:22Element Metadata
  25. 30:52Field and Method Spec
  26. 32:10Build Method
  27. 33:12Build Type
  28. 34:12Recap
  29. 35:35Questions
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.