roboguice/roboguice — pull request #27 by charlesmunger (2013-04-30 05:21:52+00:00)
Title: Native fragments can now be injected.

1. I haven't written any tests for new functionality, so don't merge yet.
2. I would like to make some breaking changes to the API, but I'd like to gather feedback first. Specifically, I'd like to move all classes that depend on the support package to ```roboguice.fragments.support```, and all packages that depend on native fragments to ```roboguice.fragments.provided```. I'd then deprecate all the classes in ```roboguice.fragments.*```, and replace them with empty classes that extend the moved support-based classes. For example, the current ```RoboFragment``` would be replaced with:

```java
package roboguice.fragments;
@Deprecated
public class RoboFragment extends roboguice.fragments.support.RoboFragment {}
```

Someone with more Maven skills than I could later make the support library fragment classes a seperate POM, so people wishing to use Roboguice don't have to mess with optional dependencies.

Also, I'd love any feedback on how to improve my code. It's a fairly major change, and I replaced a lot of hackery with stuff that's a bit more type safe, but when doing dynamic classloading and casting there's always a potential for dragons.

Fixes #20