aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorGregory Kick <gk5885@gmail.com>2013-07-01 16:00:45 -0500
committerGregory Kick <gk5885@gmail.com>2013-07-01 16:00:45 -0500
commit19ee07f6cc5e3e2e8a44ac7bba6e24e7036b1bc6 (patch)
treef423a8edffe1fc4d1257d3268cd6ec98eecf57bc /README.md
parent4e8d34af7b9b04de4ce9bbad50ceade8c94b44e3 (diff)
downloadauto-19ee07f6cc5e3e2e8a44ac7bba6e24e7036b1bc6.tar.gz
Add a quick elevator pitch to the README.
Diffstat (limited to 'README.md')
-rw-r--r--README.md56
1 files changed, 51 insertions, 5 deletions
diff --git a/README.md b/README.md
index 4aa28875..a5b452ac 100644
--- a/README.md
+++ b/README.md
@@ -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