Commits on May 11, 2010
Commits on May 10, 2010
  1. Changed behavior of child injectors. Instead of permanently returning…

    tschneidereit committed May 10, 2010
    … to the parent injector once a missing dependency is encountered, the dependency is satisfied by the parent injector but the child injector retains control and processes subsequent injections further down the object tree
Commits on May 2, 2010
Commits on Apr 24, 2010
  1. getInstance changed to getMappedInstance to explicitly identify what …

    joelhooks committed Apr 24, 2010
    …the API actually does. getInstance implies that I will recieve an instance no matter what. Instead I get an error if it isn't mapped. This is an unexpected result. Sure, getInstance is nice and short, but a little verbosity here makes the intent of the API much clearer. An alternative would be to use Injector#instantiate to return an injected instance if the mapping is not available.
  2. Injector#getConfigurationRequest now checks parent for config to supp…

    joelhooks committed Apr 24, 2010
    …ort a proper true result for hasMapping on a child injector.
Commits on Apr 15, 2010
Commits on Mar 28, 2010
  1. fixed conflict

    joelhooks committed Mar 28, 2010
Commits on Mar 6, 2010
  1. Completed integration and further refactored Jon Toland's patch that …

    tschneidereit committed Mar 6, 2010
    …factored out constructor retrieval for both Injector and Reflector
  2. Refactor Injector#injectInto to fix bug in Reflector#getClass passing…

    Jonathan Toland committed with tschneidereit Feb 21, 2010
    … Proxy.
    Signed-off-by: Till Schneidereit <>
  3. Changed behavior of mapValue: Mapped values aren't injected into once…

    tschneidereit committed Mar 6, 2010
    … they are themselves injected into another instance anymore
    Closes #20
Commits on Mar 1, 2010
  1. Optimization of rule mapping: Named mappings now simply append a post…

    tschneidereit committed Mar 1, 2010
    …fix to the classname instead of being stored in stacked dictionaries. This should increase speed and decrease memory use for nearly all operations. Thanks to dnalot (Jon Toland) for the idea.
  2. Slight code cleanup

    tschneidereit committed Mar 1, 2010
  3. Changed handling of singleton instances: Instead of an injector-wide …

    tschneidereit committed Mar 1, 2010
    …map of instances, each singleton mapping is now responsible for keeping the result class's instance itself. A nice side-effect is that singleton instances are automatically free for garbage collection as soon as the mapping rule is unmapped.
    Closes #19
Commits on Feb 9, 2010
  1. Merge branch 'master' into childinjectors

    tschneidereit committed Feb 9, 2010
    * master:
      FIX: Injector throws exception when trying to inject into mapped XML values
  2. Added support for directly applying injector mapping rules and return…

    tschneidereit committed Jan 23, 2010
    …ing the result using Injector#getMappedResponse
  3. Added support for querying mapping existence with Injector#hasMapping

    tschneidereit committed Jan 23, 2010
    Additionally, some duplicated code in Injector was moved into helper methods
  4. Added proper error message for wrong XML configuration options to Inj…

    tschneidereit committed Jan 18, 2010
  5. Made Injector#setParentInjector public to enable turning independentl…

    tschneidereit committed Jan 4, 2010
    …y created injectors into child injectors.
    This is mainly meant to be used in the context of Robotlegs, which subclasses Injector to allow for using swappable injector implementations through a uniform interface.
    Because SwiftSuspenders must not have a dependency on Robotlegs, we can't internally create an instance of Robotlegs' SwiftSuspendersInjector. Using the public setParentInjector method, it's possible to manually instantiate SwiftSuspendersInjector and set the parent context's injector as the parent injector afterwards.