Permalink
Commits on Mar 22, 2013
  1. Merge pull request #87 from bysse/master

    Added a default, throwing, case to ConstructorInjectionPoint
    
    Triggered by constructors with more than 10 arguments.
    committed Mar 22, 2013
Commits on Mar 21, 2013
Commits on Feb 15, 2013
  1. Merge pull request #84 from chwthewke/method-injection-fix

    Constructor injection fix
    committed Feb 15, 2013
  2. Merge pull request #83 from chwthewke/maven

    Maven build fixes
    committed Feb 15, 2013
Commits on Jan 31, 2013
  1. Fix for a bug in MethodInjectionPoint

    The global Array _parameterValues was incorrectly shared between
    reentrant calls to MethodInjectionPoint.applyInjection, thus losing
    some dependencies for injection.
    chwthewke committed Jan 31, 2013
  2. Test exposing a bug in MethodInjectionPoint

    A class with several dependencies injected through its constructor
    fails to receive the first dependency if the second one is
    constructor-injected and has at least one dependency.
    chwthewke committed Jan 31, 2013
  3. Maven build

    Fixes the maven build by reducing overlap between sources and resources, and removing unnecessary '<includeFiles>'.
    chwthewke committed Jan 31, 2013
Commits on Oct 4, 2012
  1. Refactored Injector so that getProvider and getDefaultProvider are no…

    … longer chained, so that types aren't unnecessarily being recreated from fqcns, and to allow earlier exit for bad named requests.
    Stray committed with Jul 17, 2012
  2. Added blockParentFallbackProvider flag so that child injectors can op…

    …t out of ancestor fallback providers.
    Stray committed with Jul 17, 2012
  3. Realised that defending against names in getOrCreateNewInstance was s…

    …illy, so just removed the ability to pass a name to the method.
    Stray committed with Jul 17, 2012
  4. Major revision to implement fallbackProviders.

    - satisfies, satisfiesDirectly are now consistent with the response to "can I safely getInstance(x)?"
    - Made instantiateUnmapped public.
    - getInstance no longer creates unmapped instances unless the fallbackProvider can do so.
    - Added hasMapping and hasDirectMapping, as satisfies and satisfiesDirectly will also consult fallbackProvider.
    - fallbackProvider is null by default. Can be set to instance or class, implementing FallbackDependencyProvider.
    - Prevents fallback instantiation of common base classes (Array, Number, uint, String etc), but allows interfaces (if fallbackProvider satisfies).
    - Prevents fallback instantiation of named dependencies.
    - fallbackProvider trickles down from parent to child (closest ancestor wins), but is not set on childInjectors.
    - Cleaned up test naming in InjectorTests. Those I've 'cleaned' are snake_case. 3 which were confusing are still camelCase.
    
    TODO:
    - getOrCreate(x) as a single point of entry to getInstance, falling back to instantiateUnmapped.
    - Add a bool to instantiateUnmapped to require it to create new instances through the whole dependency tree.
    - Look at whether childInjectors need to 'opt out' of parent fallbackProviders - perhaps by setting fallbackProvider to NO_FALLBACK.
    Stray committed with Jul 16, 2012
Commits on Jul 14, 2012
  1. Merge pull request #75 from Stray/master

    Subclass InjectorError to provide more specific errors where appropriate
    committed Jul 14, 2012
  2. Added InjectorInterfaceConstructionError

    More specific error so that extensions can catch and inform the user in
    a friendly way. Name is just first 'good enough' thing I thought of -
    please suggest improvements.
    Stray committed Jul 14, 2012
Commits on Jul 11, 2012
  1. Change Injector#teardown to re-initialize all Dictionaries used to ho…

    …ld internal state.
    
    Thanks @darscan for the hint: the previous behavior was suboptimal indeed. Especially given that no error checking was done to detect the usage of torn down injectors.
    Also increases version to 2.0.0rc1
    Closes #71
    committed Jul 11, 2012
Commits on Jun 8, 2012
  1. Removes `InjectionMapping#strong` and `InjectionMapping#shared` as re…

    …versing `soft` and `local` is a fringe use-case
    committed Jun 8, 2012
Commits on Jun 7, 2012
  1. Merge pull request #69 from darscan/buildfix

    re-introduces user.properties
    committed Jun 7, 2012
Commits on Jun 2, 2012
  1. re-introduces user.properties

    darscan committed Jun 2, 2012
  2. Moves contents of the org.swiftsuspenders.injection package back into…

    … the main package
    
    
    @darscan notes that injection is what Swiftsuspenders is all about and that is makes no sense to hide that functionality in a sub-package.
    committed Jun 2, 2012
  3. Changes the injector's behavior to automatically create instances of …

    …unmapped classes when they're requested as dependencies while still throwing for unmapped interfaces
    
    Fixes #36
    committed Jun 2, 2012
Commits on Jun 1, 2012
  1. Adds support for orderly destruction of all managed objects (i.e. the…

    … objects created by or injected into by the injector) using Injector#teardown()
    committed Jun 1, 2012
  2. Adds support for manually kicking off an instance's destruction with …

    …Injector#destroyInstance
    committed Jun 1, 2012
Commits on May 31, 2012
  1. Adds support for manually kicking off an instance's destruction with …

    …Injector#destroyInstance
    committed May 31, 2012
  2. Adds support for automated destruction of singletons on unmapping, wh…

    …ere destruction means invocation of [PreDestroy] methods, nulling out of the singleton instance and throwing an error upon consecutive attempts at using the provider
    committed May 31, 2012