public function getBasicDefinition($class)
    {
        if (!class_exists($class)) {
            throw new \InvalidArgumentException("$class is not a valid class name");
        }

        $definition = new Definition($class, []);

        $traits = $this->classUsesDeep($class);
        foreach ($traits as $trait) {
            switch ($trait) {
                case 'Smartbox\Integration\FrameworkBundle\DependencyInjection\Traits\UsesEvaluator':
                    $definition->addMethodCall('setEvaluator', [new Reference('smartesb.util.evaluator')]);
                    break;

                case 'Smartbox\Integration\FrameworkBundle\DependencyInjection\Traits\UsesSerializer':
                    $definition->addMethodCall('setSerializer', [new Reference('jms_serializer')]);
                    break;

                case 'Smartbox\Integration\FrameworkBundle\DependencyInjection\Traits\UsesValidator':
                    $definition->addMethodCall('setValidator', [new Reference('validator')]);
                    break;

                case 'Smartbox\Integration\FrameworkBundle\DependencyInjection\Traits\UsesEventDispatcher':
                    $definition->addMethodCall('setEventDispatcher', [new Reference('event_dispatcher')]);
                    break;

                case 'Smartbox\Integration\FrameworkBundle\DependencyInjection\Traits\UsesEndpointFactory':
                    $definition->addMethodCall('setEndpointFactory', [new Reference('smartesb.endpoint_factory')]);
                    break;

                case 'Smartbox\Integration\FrameworkBundle\DependencyInjection\Traits\UsesEndpointRouter':
                    $definition->addMethodCall('setEndpointsRouter', [new Reference('smartesb.router.endpoints')]);
                    break;

                case 'Smartbox\Integration\FrameworkBundle\DependencyInjection\Traits\MessageFactoryAware':
                    $definition->addMethodCall('setMessageFactory', [new Reference('smartesb.message_factory')]);
                    break;

                case 'Smartbox\Integration\FrameworkBundle\DependencyInjection\Traits\UsesCacheService':
                    $definition->addMethodCall('setCacheService', [new Reference('smartcore.cache_service')]);
                    break;

                case 'Symfony\Component\DependencyInjection\ContainerAwareTrait':
                    $definition->addMethodCall('setContainer', [new Reference('service_container')]);
                    break;
            }
        }

        return $definition;
    }
public function getBasicDefinition($class)
    {
        if (!class_exists($class)) {
            throw new \InvalidArgumentException("$class is not a valid class name");
        }

        $definition = new Definition($class, []);

        $traits = $this->classUsesDeep($class);
        foreach ($traits as $trait) {
            switch ($trait) {
                case 'Smartbox\Integration\FrameworkBundle\DependencyInjection\Traits\UsesEvaluator':
                    $definition->addMethodCall('setEvaluator', [new Reference('smartesb.util.evaluator')]);
                    break;

                case 'Smartbox\Integration\FrameworkBundle\DependencyInjection\Traits\UsesSerializer':
                    $definition->addMethodCall('setSerializer', [new Reference('jms_serializer')]);
                    break;

                case 'Smartbox\Integration\FrameworkBundle\DependencyInjection\Traits\UsesValidator':
                    $definition->addMethodCall('setValidator', [new Reference('validator')]);
                    break;

                case 'Smartbox\Integration\FrameworkBundle\DependencyInjection\Traits\UsesEventDispatcher':
                    $definition->addMethodCall('setEventDispatcher', [new Reference('event_dispatcher')]);
                    break;

                case 'Smartbox\Integration\FrameworkBundle\DependencyInjection\Traits\UsesEndpointFactory':
                    $definition->addMethodCall('setEndpointFactory', [new Reference('smartesb.endpoint_factory')]);
                    break;

                case 'Smartbox\Integration\FrameworkBundle\DependencyInjection\Traits\UsesEndpointRouter':
                    $definition->addMethodCall('setEndpointsRouter', [new Reference('smartesb.router.endpoints')]);
                    break;

                case 'Smartbox\Integration\FrameworkBundle\DependencyInjection\Traits\MessageFactoryAware':
                    $definition->addMethodCall('setMessageFactory', [new Reference('smartesb.message_factory')]);
                    break;

                case 'Smartbox\Integration\FrameworkBundle\DependencyInjection\Traits\UsesCacheService':
                    $definition->addMethodCall('setCacheService', [new Reference('smartcore.cache_service')]);
                    break;

                case 'Symfony\Component\DependencyInjection\ContainerAwareTrait':
                    $definition->addMethodCall('setContainer', [new Reference('service_container')]);
                    break;
            }
        }

        return $definition;
    }
public function getBasicDefinition ( $ class ) { if ( ! class_exists ( $ class ) ) { throw new \ InvalidArgumentException ( "$class is not a valid class name" ) ; } $ definition = new Definition ( $ class , [ ] ) ; $ traits = $ this -> classUsesDeep ( $ class ) ; foreach ( $ traits as $ trait ) { switch ( $ trait ) { case 'Smartbox\Integration\FrameworkBundle\DependencyInjection\Traits\UsesEvaluator' : $ definition -> addMethodCall ( 'setEvaluator' , [ new Reference ( 'smartesb.util.evaluator' ) ] ) ; break ; case 'Smartbox\Integration\FrameworkBundle\DependencyInjection\Traits\UsesSerializer' : $ definition -> addMethodCall ( 'setSerializer' , [ new Reference ( 'jms_serializer' ) ] ) ; break ; case 'Smartbox\Integration\FrameworkBundle\DependencyInjection\Traits\UsesValidator' : $ definition -> addMethodCall ( 'setValidator' , [ new Reference ( 'validator' ) ] ) ; break ; case 'Smartbox\Integration\FrameworkBundle\DependencyInjection\Traits\UsesEventDispatcher' : $ definition -> addMethodCall ( 'setEventDispatcher' , [ new Reference ( 'event_dispatcher' ) ] ) ; break ; case 'Smartbox\Integration\FrameworkBundle\DependencyInjection\Traits\UsesEndpointFactory' : $ definition -> addMethodCall ( 'setEndpointFactory' , [ new Reference ( 'smartesb.endpoint_factory' ) ] ) ; break ; case 'Smartbox\Integration\FrameworkBundle\DependencyInjection\Traits\UsesEndpointRouter' : $ definition -> addMethodCall ( 'setEndpointsRouter' , [ new Reference ( 'smartesb.router.endpoints' ) ] ) ; break ; case 'Smartbox\Integration\FrameworkBundle\DependencyInjection\Traits\MessageFactoryAware' : $ definition -> addMethodCall ( 'setMessageFactory' , [ new Reference ( 'smartesb.message_factory' ) ] ) ; break ; case 'Smartbox\Integration\FrameworkBundle\DependencyInjection\Traits\UsesCacheService' : $ definition -> addMethodCall ( 'setCacheService' , [ new Reference ( 'smartcore.cache_service' ) ] ) ; break ; case 'Symfony\Component\DependencyInjection\ContainerAwareTrait' : $ definition -> addMethodCall ( 'setContainer' , [ new Reference ( 'service_container' ) ] ) ; break ; } } return $ definition ; }
Creates a basic service definition for the given class, injecting the typical dependencies according with the
traits the class uses.

@return Definition
Creates a basic service definition for the given class injecting the typical dependencies according with the traits the class uses .