public function fillAware(BeanDefinition $def, $bean)
    {
        $class = get_class($bean);
        $rClass = $this->_reflectionFactory->getClass($class);
        if ($rClass->implementsInterface('Ding\Reflection\IReflectionFactoryAware')) {
            $bean->setReflectionFactory($this->_reflectionFactory);
        }
        if ($rClass->implementsInterface('Ding\Bean\IBeanNameAware')) {
            $bean->setBeanName($def->getName());
        }
        if ($rClass->implementsInterface('Ding\Logger\ILoggerAware')) {
            $bean->setLogger(\Logger::getLogger($class));
        }
        if ($rClass->implementsInterface('Ding\Container\IContainerAware')) {
            $bean->setContainer($this);
        }
        if ($rClass->implementsInterface('Ding\Resource\IResourceLoaderAware')) {
            $bean->setResourceLoader($this);
        }
        if ($rClass->implementsInterface('Ding\Aspect\IAspectManagerAware')) {
            $bean->setAspectManager($this->_aspectManager);
        }

        if ($rClass->implementsInterface('Ding\Bean\IBeanDefinitionProvider')) {
            $this->registerBeanDefinitionProvider($bean);
        }
        if ($rClass->implementsInterface('Ding\Bean\Lifecycle\IAfterConfigListener')) {
            $this->_lifecycleManager->addAfterConfigListener($bean);
        }
        if ($rClass->implementsInterface('Ding\Bean\Lifecycle\IAfterDefinitionListener')) {
            $this->_lifecycleManager->addAfterDefinitionListener($bean);
        }
        if ($rClass->implementsInterface('Ding\Bean\Lifecycle\IBeforeCreateListener')) {
            $this->_lifecycleManager->addBeforeCreateListener($bean);
        }
        if ($rClass->implementsInterface('Ding\Bean\Lifecycle\IAfterCreateListener')) {
            $this->_lifecycleManager->addAfterCreateListener($bean);
        }
        if ($rClass->implementsInterface('Ding\Bean\Lifecycle\IBeforeAssembleListener')) {
            $this->_lifecycleManager->addBeforeAssembleListener($bean);
        }
        if ($rClass->implementsInterface('Ding\Bean\Lifecycle\IAfterAssembleListener')) {
            $this->_lifecycleManager->addAfterAssembleListener($bean);
        }
        if ($rClass->implementsInterface('Ding\Aspect\IAspectProvider')) {
            $this->_aspectManager->registerAspectProvider($bean);
        }
        if ($rClass->implementsInterface('Ding\Aspect\IPointcutProvider')) {
            $this->_aspectManager->registerPointcutProvider($bean);
        }
    }
public function fillAware(BeanDefinition $def, $bean)
    {
        $class = get_class($bean);
        $rClass = $this->_reflectionFactory->getClass($class);
        if ($rClass->implementsInterface('Ding\Reflection\IReflectionFactoryAware')) {
            $bean->setReflectionFactory($this->_reflectionFactory);
        }
        if ($rClass->implementsInterface('Ding\Bean\IBeanNameAware')) {
            $bean->setBeanName($def->getName());
        }
        if ($rClass->implementsInterface('Ding\Logger\ILoggerAware')) {
            $bean->setLogger(\Logger::getLogger($class));
        }
        if ($rClass->implementsInterface('Ding\Container\IContainerAware')) {
            $bean->setContainer($this);
        }
        if ($rClass->implementsInterface('Ding\Resource\IResourceLoaderAware')) {
            $bean->setResourceLoader($this);
        }
        if ($rClass->implementsInterface('Ding\Aspect\IAspectManagerAware')) {
            $bean->setAspectManager($this->_aspectManager);
        }

        if ($rClass->implementsInterface('Ding\Bean\IBeanDefinitionProvider')) {
            $this->registerBeanDefinitionProvider($bean);
        }
        if ($rClass->implementsInterface('Ding\Bean\Lifecycle\IAfterConfigListener')) {
            $this->_lifecycleManager->addAfterConfigListener($bean);
        }
        if ($rClass->implementsInterface('Ding\Bean\Lifecycle\IAfterDefinitionListener')) {
            $this->_lifecycleManager->addAfterDefinitionListener($bean);
        }
        if ($rClass->implementsInterface('Ding\Bean\Lifecycle\IBeforeCreateListener')) {
            $this->_lifecycleManager->addBeforeCreateListener($bean);
        }
        if ($rClass->implementsInterface('Ding\Bean\Lifecycle\IAfterCreateListener')) {
            $this->_lifecycleManager->addAfterCreateListener($bean);
        }
        if ($rClass->implementsInterface('Ding\Bean\Lifecycle\IBeforeAssembleListener')) {
            $this->_lifecycleManager->addBeforeAssembleListener($bean);
        }
        if ($rClass->implementsInterface('Ding\Bean\Lifecycle\IAfterAssembleListener')) {
            $this->_lifecycleManager->addAfterAssembleListener($bean);
        }
        if ($rClass->implementsInterface('Ding\Aspect\IAspectProvider')) {
            $this->_aspectManager->registerAspectProvider($bean);
        }
        if ($rClass->implementsInterface('Ding\Aspect\IPointcutProvider')) {
            $this->_aspectManager->registerPointcutProvider($bean);
        }
    }
public function fillAware ( BeanDefinition $ def , $ bean ) { $ class = get_class ( $ bean ) ; $ rClass = $ this -> _reflectionFactory -> getClass ( $ class ) ; if ( $ rClass -> implementsInterface ( 'Ding\Reflection\IReflectionFactoryAware' ) ) { $ bean -> setReflectionFactory ( $ this -> _reflectionFactory ) ; } if ( $ rClass -> implementsInterface ( 'Ding\Bean\IBeanNameAware' ) ) { $ bean -> setBeanName ( $ def -> getName ( ) ) ; } if ( $ rClass -> implementsInterface ( 'Ding\Logger\ILoggerAware' ) ) { $ bean -> setLogger ( \ Logger :: getLogger ( $ class ) ) ; } if ( $ rClass -> implementsInterface ( 'Ding\Container\IContainerAware' ) ) { $ bean -> setContainer ( $ this ) ; } if ( $ rClass -> implementsInterface ( 'Ding\Resource\IResourceLoaderAware' ) ) { $ bean -> setResourceLoader ( $ this ) ; } if ( $ rClass -> implementsInterface ( 'Ding\Aspect\IAspectManagerAware' ) ) { $ bean -> setAspectManager ( $ this -> _aspectManager ) ; } if ( $ rClass -> implementsInterface ( 'Ding\Bean\IBeanDefinitionProvider' ) ) { $ this -> registerBeanDefinitionProvider ( $ bean ) ; } if ( $ rClass -> implementsInterface ( 'Ding\Bean\Lifecycle\IAfterConfigListener' ) ) { $ this -> _lifecycleManager -> addAfterConfigListener ( $ bean ) ; } if ( $ rClass -> implementsInterface ( 'Ding\Bean\Lifecycle\IAfterDefinitionListener' ) ) { $ this -> _lifecycleManager -> addAfterDefinitionListener ( $ bean ) ; } if ( $ rClass -> implementsInterface ( 'Ding\Bean\Lifecycle\IBeforeCreateListener' ) ) { $ this -> _lifecycleManager -> addBeforeCreateListener ( $ bean ) ; } if ( $ rClass -> implementsInterface ( 'Ding\Bean\Lifecycle\IAfterCreateListener' ) ) { $ this -> _lifecycleManager -> addAfterCreateListener ( $ bean ) ; } if ( $ rClass -> implementsInterface ( 'Ding\Bean\Lifecycle\IBeforeAssembleListener' ) ) { $ this -> _lifecycleManager -> addBeforeAssembleListener ( $ bean ) ; } if ( $ rClass -> implementsInterface ( 'Ding\Bean\Lifecycle\IAfterAssembleListener' ) ) { $ this -> _lifecycleManager -> addAfterAssembleListener ( $ bean ) ; } if ( $ rClass -> implementsInterface ( 'Ding\Aspect\IAspectProvider' ) ) { $ this -> _aspectManager -> registerAspectProvider ( $ bean ) ; } if ( $ rClass -> implementsInterface ( 'Ding\Aspect\IPointcutProvider' ) ) { $ this -> _aspectManager -> registerPointcutProvider ( $ bean ) ; } }
Will look for "aware" kind of interfaces and inject whatever necessary.

@param BeanDefinition $def The Bean Definition
@param object $bean The bean

@return void
Will look for aware kind of interfaces and inject whatever necessary .