Commits on Mar 1, 2010
  1. Changed handling of singleton instances: Instead of an injector-wide …

    …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
    committed Mar 1, 2010
Commits on Feb 9, 2010
  1. Merge branch 'master' into childinjectors

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

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

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

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

    …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.
    committed Jan 4, 2010
  6. Changed Injector#unmap to only remove injection results instead of th…

    …e entire injectionConfig.
    committed Dec 8, 2009
  7. Removed old classes

    committed Dec 1, 2009
  8. Added support for child injectors, enabling usage of different inject…

    …ion mappings for parts of a dependency tree
    In addition, injection results classes have been refactored to inherit from a base class instead of implementing an interface to facilitate code-reuse
    committed Dec 1, 2009
  9. Further refactoring of injection configuration: InjectionPoints now g…

    …et assigned a fixed InjectionConfig which may or may not already have a result to return instead of querying the Injectors mappings each time an injection request for the InjectionPoint is made.
    Reasoning for this change:
    The InjectionConfig shouldn't be resolved anew each time a request for its result is made.
    Also, this is the last big step of preparation for creating child injectors that forward requests they can't fulfill themself to a parent injector.
    committed Nov 30, 2009
  10. Cleanup in license headers

    committed Nov 29, 2009
  11. Change to InjectionConfig setup: Singletons dictionary is now stored …

    …in the InjectionConfig instead of being transferred through InjectionPoint
    committed Nov 29, 2009
  12. Changed the way InjectionConfig's are configured: They now receive th…

    …eir injector reference at creation time instead of through the InjectionPoint
    committed Nov 26, 2009
  13. Added test for falsy value mappings (i.e. empty strings, false boolea…

    …ns, numbers with value 0)
    committed Feb 9, 2010
Commits on Dec 10, 2009
Commits on Dec 8, 2009
  1. Fixed an error in the documentation.

    Closes #12
    committed Dec 8, 2009
Commits on Nov 24, 2009
  1. Changed version to 1.0.0

    committed Nov 24, 2009
  2. Fixed a bug that caused a recursive loop for mutually recursive injec…

    …tees, whose dependency resolution wasn't detected early enough.
    committed Nov 24, 2009