Changeset 313

Show
Ignore:
Timestamp:
03/01/07 16:09:04 (2 years ago)
Author:
mikey
Message:

added net.stubbles.ioc.injection.stubInjectionProvider

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/main/php/net/stubbles/ioc/injection/injection.php

    r310 r313  
    88 */ 
    99stubClassLoader::load('net.stubbles.ioc.injection.stubInjectionException', 
     10                      'net.stubbles.ioc.injection.stubInjectionProvider', 
    1011                      'net.stubbles.ioc.injection.stubInjectionMap', 
    1112                      'net.stubbles.ioc.injection.stubInjectionAnnotation' 
  • trunk/src/main/php/net/stubbles/ioc/injection/stubInjectAnnotation.php

    r310 r313  
    5959     * processes all injections 
    6060     * 
    61      * @param   stubReflectionClass     $refClass      the reflection class for $injectible 
    62      * @param   stubInjectionMap        $injectionMap  map of values to inject 
    63      * @param   object                  $injectible    the class to inject into 
     61     * @param   stubReflectionClass     $refClass           the reflection class for $injectible 
     62     * @param   stubInjectionProvider   $injectionProvider  map of values to inject 
     63     * @param   object                  $injectible         the class to inject into 
    6464     * @throws  stubInjectionException 
    6565     */ 
    66     protected function handleInjections(stubReflectionClass $refClass, stubInjectionMap $injectionMap, $injectible) 
     66    protected function handleInjections(stubReflectionClass $refClass, stubInjectionProvider $injectionProvider, $injectible) 
    6767    { 
    6868        foreach ($this->injections as $injection) { 
    69             if ($injectionMap->hasInjection($injection) == false) { 
     69            if ($injectionProvider->hasInjection($injection) == false) { 
    7070                throw new stubInjectionException('Injectible needs ' . $injection . ' but it was not given in list of injected classes.'); 
    7171            } 
     
    7474            if ($refClass->hasMethod($methodName) == true && $refClass->getMethod($methodName)->isPublic() == true) { 
    7575                try { 
    76                     $refClass->getMethod($methodName)->invoke($injectible, $injectionMap->getInjection($injection)); 
     76                    $refClass->getMethod($methodName)->invoke($injectible, $injectionProvider->getInjection($injection)); 
    7777                } catch (ReflectionException $re) { 
    7878                    throw new stubInjectionException('Could not inject ' . $injection . ': ' . $re->getMessage()); 
    7979                } 
    8080            } elseif ($refClass->hasProperty($injection) == true && $refClass->getProperty($injection)->isPublic() == true) { 
    81                 $refClass->getProperty($injection)->setValue($injectible, $injectionMap->getInjection($injection)); 
     81                $refClass->getProperty($injection)->setValue($injectible, $injectionProvider->getInjection($injection)); 
    8282            } elseif ($refClass->hasMethod('__set') == true && $refClass->getMethod('__set')->isPublic() == true) { 
    83                 $refClass->getMethod('__set')->invoke($injectible, $injection, $injectionMap->getInjection($injection)); 
     83                $refClass->getMethod('__set')->invoke($injectible, $injection, $injectionProvider->getInjection($injection)); 
    8484            } else { 
    8585                throw new stubInjectionException('Given injectible has no method or property that accepts injection ' . $injection); 
     
    9191     * static call to hide all injection details 
    9292     * 
    93      * @param   InjectionMap            $injectionMap  map of values to inject 
    94      * @param   object                  $injectible    the class to inject into 
     93     * @param   stubInjectionProvider   $injectionProvider  map of values to inject 
     94     * @param   object                  $injectible         the class to inject into 
    9595     * @throws  stubInjectionException 
    9696     */ 
    97     public static function factory(stubInjectionMap $injectionMap, $injectible) 
     97    public static function factory(stubInjectionProvider $injectionProvider, $injectible) 
    9898    { 
    9999        if (is_object($injectible) == false) { 
     
    104104        if ($refClass->hasAnnotation('Inject') == true) { 
    105105            $inject = $refClass->getAnnotation('Inject'); 
    106             $inject->handleInjections($refClass, $injectionMap, $injectible); 
     106            $inject->handleInjections($refClass, $injectionProvider, $injectible); 
    107107        } 
    108108    } 
  • trunk/src/main/php/net/stubbles/ioc/injection/stubInjectionMap.php

    r307 r313  
    77 * @subpackage  ioc_injection 
    88 */ 
     9stubClassLoader::load('net.stubbles.ioc.injection.stubInjectionProvider'); 
    910/** 
    1011 * Map for injections. 
     
    1314 * @subpackage  ioc_injection 
    1415 */ 
    15 class stubInjectionMap extends stubBaseObject 
     16class stubInjectionMap extends stubBaseObject implements stubInjectionProvider 
    1617{ 
    1718    /**