0.4: Merge pull request #32 from OleksandrKucherenko/merged-updates
The New Version of the library is just released! Welcome to version 0.4!
What is it? AutoProxy is a java annotation processing library inspired by Google AutoValue library. Its main purpose is to generate wrapper around the existing interface or abstract class. (works for Kotlin classes too!)
Why I should use it? Several cases are in use right now:
- make detachable implementations, when needed to redirect calls to NoOp (No Operation) code without other modules failure.
- act as a proxy in call and provide developer easy interface to inject side effects. Example: log all calls and parameters of calls
- Class Stubs/Fakes generation (mocks vs fakes)
- Late initialization, when all calls are recorded by proxy, and when instance become available, replay them all on it.
Changes:
- method names generated as @stringdef annotation, that allows verifying usage of constants in IDE (andoridx.annotations). No place to mistakes!
- added "create" static method that simplifies the creation of proxy class instance with lambda injection.
- added "dispatchByName" method that simplifies call of inner methods inside the predicate's
- added flags that allow forcing generation of the helper methods
- incremental annotation processing