diff options
author | Gregory Kick <gk5885@gmail.com> | 2013-07-01 16:00:45 -0500 |
---|---|---|
committer | Gregory Kick <gk5885@gmail.com> | 2013-07-01 16:00:45 -0500 |
commit | 19ee07f6cc5e3e2e8a44ac7bba6e24e7036b1bc6 (patch) | |
tree | f423a8edffe1fc4d1257d3268cd6ec98eecf57bc /README.md | |
parent | 4e8d34af7b9b04de4ce9bbad50ceade8c94b44e3 (diff) | |
download | auto-19ee07f6cc5e3e2e8a44ac7bba6e24e7036b1bc6.tar.gz |
Add a quick elevator pitch to the README.
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 56 |
1 files changed, 51 insertions, 5 deletions
@@ -1,10 +1,58 @@ AutoFactory ====== -A source code generator for JSR-330-compatible factories +A source code generator for JSR-330-compatible factories. -For more information please see [the website][1]. +What is this? +------------- +[Java](https://en.wikipedia.org/wiki/Java_(programming_language)) is full of [factories](http://en.wikipedia.org/wiki/Factory_method_pattern). They're mechanical, repetitive, typically untested and sometimes the source of subtle bugs. _Sounds like a job for robots!_ + +AutoFactory generates factories that can be used on their own or with [JSR-330](http://jcp.org/en/jsr/detail?id=330)-compatible [dependency injectors](http://en.wikipedia.org/wiki/Dependency_injection) from a simple annotation. + +Save time. Save code. Save sanity. + +Example +------- + +Say you have: + +```java +@AutoFactory +final class SomeClass { + private final String providedDepA; + private final String depB; + + SomeClass(@Provided @AQualifier String providedDepA, String depB) { + this.providedDepA = providedDepA; + this.depB = depB; + } + + … +} +``` + +AutoFactory will generate: + +```java +import javax.annotation.Generated; +import javax.inject.Inject; +import javax.inject.Provider; + +@Generated(value = "com.google.autofactory.AutoFactoryProcessor") +final class SimpleClassMixedDepsFactory { + private final Provider<String> providedDepAProvider; + + @Inject SimpleClassMixedDepsFactory( + @AQualifier Provider<String> providedDepAProvider) { + this.providedDepAProvider = providedDepAProvider; + } + + SimpleClassMixedDeps create(String depB) { + return new SimpleClassMixedDeps(providedDepAProvider.get(), depB); + } +} +``` Download -------- @@ -27,7 +75,7 @@ artifact as an "optional" dependency: </dependencies> ``` -You can also find downloadable .jars on the [GitHub download page][2]. +You can also find downloadable .jars on the [GitHub download page](http://github.com/google/autofactory/downloads). @@ -50,5 +98,3 @@ License - [1]: http://google.github.com/autofactory/ - [2]: http://github.com/google/autofactory/downloads |