Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Oct 28, 2011
  1. Added AsDoc for all public methods of InjectionMapping and removed so…

    authored
    …me oddities in its API discovered during documentation writing
  2. Adds MappingEvent.POST_MAPPING_REMOVE dispatched by the injector imme…

    authored
    …diately after removing a mapping in Injector#unmap
  3. Fixes bug that caused the DescribeTypeJSON detection to throw and pre…

    authored
    …vent using the injector in Flash Player < 10.1
  4. Adds support for unsealing mappings by using a secret key returned by…

    authored
    … the call to InjectionMapping#seal()
  5. Adds FactoryProvider, a dependency provider that accepts another depe…

    authored
    …ndency provider's class and creates a new instance of it with dependencies injected into for each call to DependencyProvider#apply, enabling custom providers with their own dependencies.
  6. instance construction events PRE_CONSTRUCT and POST_CONSTRUCT are als…

    authored
    …o dispatched during Injector#injectInto, now.
  7. Implemented dispatching of events for three phases of instance creati…

    authored
    …on: POST_INSTANTIATE, PRE_CONSTRUCT and POST_CONSTRUCT
  8. Implemented InjectionMapping#seal, preventing any changes to the mapp…

    authored
    …ing, including unmapping it in the injector.
  9. Renamed InjectionRule to InjectionMapping and removed all mentions of…

    authored
    … "rule" in the source and tests code
  10. Moved InjectionPointConfig#apply to Injector#applyMapping as preparat…

    authored
    …ion of removing InjectionPointConfig
  11. Removed InjectionRule#toRule. The replacement is InjectionRule#setPro…

    authored
    …vider(new OtherRuleProvider(rule));
  12. Added support for soft mappings that only get used if no ancestor-inj…

    authored
    …ector has a mapping for the request in question
  13. Completely changed how dependencies are resolved, simplifying things …

    authored
    …like child injectors and soft mappings and increasing performance by another ~25%
    
    With this change, all mappings to providers are stored in a dictionary per injector and updated by the InjectionRule on provider-change. The InjectionPointConfigs got an apply-method that iterates over the injectors until it finds a provider-mapping and then applies it directly, removing several levels of indirection from the process.
  14. Re-integrated named injections into the default injector. All mapping…

    authored
    …s now have an optional "name" parameter again. This changed shaved off about 150 LOC and is preparation for vast changes to dependency resolution.
  15. Removed parameter "constructingInjector" from DependencyProvider#appl…

    authored
    …y and moved the only usage into the SingletonProvider's ctor, simplifying the DependencyProvider interface
  16. Changed dependency providers to allow access to the class whose depen…

    authored
    …dencies are to be provided
    
    This change enables providing different values based on the class requesting a dependency. A major use-case is a logger that's pre-configured for the class it is used in.
  17. Changed InjectionPoint#applyInjection to not return anything. Introdu…

    authored
    …ced ConstructorInjectionPoint#createInstance and made NoParamsConstructorInjectionPoint inherit from that instead.
  18. Further small speed increases in injector, gaining another ~20% or so.

    authored
    Specifically, turned array of injection points into a linked list and changed method (and ctor) parameter values gathering to reuse one array instance instead of creating and discarding a new instance for each injection.
Something went wrong with that request. Please try again.