<?xml version="1.0" encoding="UTF-8"?>
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
<parameters>
<parameter key="jms_serializer.metadata.file_locator.class">Metadata\Driver\FileLocator</parameter>
<parameter key="jms_serializer.metadata.annotation_driver.class">JMS\Serializer\Metadata\Driver\AnnotationDriver</parameter>
<parameter key="jms_serializer.metadata.chain_driver.class">Metadata\Driver\DriverChain</parameter>
<parameter key="jms_serializer.metadata.yaml_driver.class">JMS\Serializer\Metadata\Driver\YamlDriver</parameter>
<parameter key="jms_serializer.metadata.xml_driver.class">JMS\Serializer\Metadata\Driver\XmlDriver</parameter>
<parameter key="jms_serializer.metadata.php_driver.class">JMS\Serializer\Metadata\Driver\PhpDriver</parameter>
<parameter key="jms_serializer.metadata.doctrine_type_driver.class">JMS\Serializer\Metadata\Driver\DoctrineTypeDriver</parameter>
<parameter key="jms_serializer.metadata.doctrine_phpcr_type_driver.class">JMS\Serializer\Metadata\Driver\DoctrinePHPCRTypeDriver</parameter>
<parameter key="jms_serializer.metadata.lazy_loading_driver.class">Metadata\Driver\LazyLoadingDriver</parameter>
<parameter key="jms_serializer.metadata.metadata_factory.class">Metadata\MetadataFactory</parameter>
<parameter key="jms_serializer.metadata.cache.file_cache.class">Metadata\Cache\FileCache</parameter>
<parameter key="jms_serializer.event_dispatcher.class">JMS\Serializer\EventDispatcher\LazyEventDispatcher</parameter>
<parameter key="jms_serializer.camel_case_naming_strategy.class">JMS\Serializer\Naming\CamelCaseNamingStrategy</parameter>
<parameter key="jms_serializer.identical_property_naming_strategy.class">JMS\Serializer\Naming\IdenticalPropertyNamingStrategy</parameter>
<parameter key="jms_serializer.serialized_name_annotation_strategy.class">JMS\Serializer\Naming\SerializedNameAnnotationStrategy</parameter>
<parameter key="jms_serializer.cache_naming_strategy.class">JMS\Serializer\Naming\CacheNamingStrategy</parameter>
<parameter key="jms_serializer.doctrine_object_constructor.class">JMS\Serializer\Construction\DoctrineObjectConstructor</parameter>
<parameter key="jms_serializer.unserialize_object_constructor.class">JMS\Serializer\Construction\UnserializeObjectConstructor</parameter>
<parameter key="jms_serializer.version_exclusion_strategy.class">JMS\Serializer\Exclusion\VersionExclusionStrategy</parameter>
<parameter key="jms_serializer.serializer.class">JMS\Serializer\Serializer</parameter>
<parameter key="jms_serializer.twig_extension.class">JMS\Serializer\Twig\SerializerExtension</parameter>
<parameter key="jms_serializer.twig_runtime_extension.class">JMS\Serializer\Twig\SerializerRuntimeExtension</parameter>
<parameter key="jms_serializer.twig_runtime_extension_helper.class">JMS\Serializer\Twig\SerializerRuntimeHelper</parameter>
<parameter key="jms_serializer.templating.helper.class">JMS\SerializerBundle\Templating\SerializerHelper</parameter>
<parameter key="jms_serializer.json_serialization_visitor.class">JMS\Serializer\JsonSerializationVisitor</parameter>
<parameter key="jms_serializer.json_serialization_visitor.options" type="collection"></parameter>
<parameter key="jms_serializer.json_deserialization_visitor.class">JMS\Serializer\JsonDeserializationVisitor</parameter>
<parameter key="jms_serializer.xml_serialization_visitor.class">JMS\Serializer\XmlSerializationVisitor</parameter>
<parameter key="jms_serializer.xml_deserialization_visitor.class">JMS\Serializer\XmlDeserializationVisitor</parameter>
<parameter key="jms_serializer.xml_deserialization_visitor.doctype_whitelist" type="collection"></parameter>
<parameter key="jms_serializer.xml_serialization_visitor.format_output"></parameter>
<parameter key="jms_serializer.yaml_serialization_visitor.class">JMS\Serializer\YamlSerializationVisitor</parameter>
<parameter key="jms_serializer.handler_registry.class">JMS\Serializer\Handler\LazyHandlerRegistry</parameter>
<parameter key="jms_serializer.datetime_handler.class">JMS\Serializer\Handler\DateHandler</parameter>
<parameter key="jms_serializer.array_collection_handler.class">JMS\Serializer\Handler\ArrayCollectionHandler</parameter>
<parameter key="jms_serializer.php_collection_handler.class">JMS\Serializer\Handler\PhpCollectionHandler</parameter>
<parameter key="jms_serializer.form_error_handler.class">JMS\Serializer\Handler\FormErrorHandler</parameter>
<parameter key="jms_serializer.constraint_violation_handler.class">JMS\Serializer\Handler\ConstraintViolationHandler</parameter>
<parameter key="jms_serializer.doctrine_proxy_subscriber.class">JMS\Serializer\EventDispatcher\Subscriber\DoctrineProxySubscriber</parameter>
<parameter key="jms_serializer.stopwatch_subscriber.class">JMS\SerializerBundle\Serializer\StopwatchEventSubscriber</parameter>
<parameter key="jms_serializer.configured_context_factory.class">JMS\SerializerBundle\ContextFactory\ConfiguredContextFactory</parameter>
<parameter key="jms_serializer.expression_evaluator.class">JMS\Serializer\Expression\ExpressionEvaluator</parameter>
<parameter key="jms_serializer.expression_language.class">Symfony\Component\ExpressionLanguage\ExpressionLanguage</parameter>
<parameter key="jms_serializer.expression_language.function_provider.class">JMS\SerializerBundle\ExpressionLanguage\BasicSerializerFunctionsProvider</parameter>
<parameter key="jms_serializer.accessor_strategy.default.class">JMS\Serializer\Accessor\DefaultAccessorStrategy</parameter>
<parameter key="jms_serializer.accessor_strategy.expression.class">JMS\Serializer\Accessor\ExpressionAccessorStrategy</parameter>
<parameter key="jms_serializer.cache.cache_warmer.class">JMS\SerializerBundle\Cache\CacheWarmer</parameter>
</parameters>
<services>
<!-- Event Dispatcher -->
<service id="jms_serializer.event_dispatcher" class="%jms_serializer.event_dispatcher.class%" public="false">
<argument type="service" id="service_container" />
</service>
<!-- some services are intentionally public="true" for performance reasons, lazy initialization -->
<service id="jms_serializer.doctrine_proxy_subscriber" class="%jms_serializer.doctrine_proxy_subscriber.class%" public="true">
<argument type="constant">true</argument>
<argument type="constant">false</argument>
<tag name="jms_serializer.event_subscriber" />
</service>
<service id="jms_serializer.stopwatch_subscriber" class="%jms_serializer.stopwatch_subscriber.class%" public="true">
<tag name="jms_serializer.event_subscriber" />
<argument type="service" id="debug.stopwatch" />
</service>
<!-- Handlers -->
<service id="jms_serializer.handler_registry" class="%jms_serializer.handler_registry.class%">
<argument type="service" id="service_container" />
</service>
<service id="jms_serializer.datetime_handler" class="%jms_serializer.datetime_handler.class%" public="true">
<tag name="jms_serializer.subscribing_handler" />
</service>
<service id="jms_serializer.array_collection_handler" class="%jms_serializer.array_collection_handler.class%" public="true">
<argument type="constant">false</argument>
<tag name="jms_serializer.subscribing_handler" />
</service>
<service id="jms_serializer.php_collection_handler" class="%jms_serializer.php_collection_handler.class%" public="true">
<tag name="jms_serializer.subscribing_handler" />
</service>
<service id="jms_serializer.form_error_handler" class="%jms_serializer.form_error_handler.class%" public="true">
<argument type="service" id="translator" on-invalid="null" />
<tag name="jms_serializer.subscribing_handler" />
</service>
<service id="jms_serializer.constraint_violation_handler" class="%jms_serializer.constraint_violation_handler.class%" public="true">
<tag name="jms_serializer.subscribing_handler" />
</service>
<!-- Metadata Drivers -->
<service id="jms_serializer.metadata.file_locator" class="%jms_serializer.metadata.file_locator.class%" public="false">
<argument type="collection" /><!-- Namespace Prefixes mapping to Directories -->
</service>
<service id="jms_serializer.metadata.yaml_driver" class="%jms_serializer.metadata.yaml_driver.class%" public="false">
<argument type="service" id="jms_serializer.metadata.file_locator" />
</service>
<service id="jms_serializer.metadata.xml_driver" class="%jms_serializer.metadata.xml_driver.class%" public="false">
<argument type="service" id="jms_serializer.metadata.file_locator" />
</service>
<service id="jms_serializer.metadata.php_driver" class="%jms_serializer.metadata.php_driver.class%" public="false">
<argument type="service" id="jms_serializer.metadata.file_locator" />
</service>
<service id="jms_serializer.metadata.annotation_driver" class="%jms_serializer.metadata.annotation_driver.class%" public="false">
<argument type="service" id="annotation_reader" />
</service>
<service id="jms_serializer.metadata.chain_driver" class="%jms_serializer.metadata.chain_driver.class%" public="false">
<argument type="collection">
<argument type="service" id="jms_serializer.metadata.yaml_driver" />
<argument type="service" id="jms_serializer.metadata.xml_driver" />
<argument type="service" id="jms_serializer.metadata.php_driver" />
<argument type="service" id="jms_serializer.metadata.annotation_driver" />
</argument>
</service>
<service id="jms_serializer.metadata.doctrine_type_driver" class="%jms_serializer.metadata.doctrine_type_driver.class%" public="false">
<argument type="service" id="jms_serializer.metadata.chain_driver" />
<argument type="service" id="doctrine" />
</service>
<service id="jms_serializer.metadata.doctrine_phpcr_type_driver" class="%jms_serializer.metadata.doctrine_phpcr_type_driver.class%" public="false">
<argument type="service" id="jms_serializer.metadata.chain_driver" />
<argument type="service" id="doctrine_phpcr" />
</service>
<service id="jms_serializer.metadata.lazy_loading_driver" class="%jms_serializer.metadata.lazy_loading_driver.class%" public="false">
<argument type="service" id="service_container" />
<argument>jms_serializer.metadata_driver</argument>
</service>
<service id="jms_serializer.metadata_driver" alias="jms_serializer.metadata.chain_driver" public="true"/>
<!-- Metadata Factory -->
<service id="jms_serializer.metadata.cache.file_cache" class="%jms_serializer.metadata.cache.file_cache.class%" public="false">
<argument /><!-- Directory -->
</service>
<service id="jms_serializer.metadata.cache" alias="jms_serializer.metadata.cache.file_cache" public="false" />
<service id="jms_serializer.metadata_factory" class="%jms_serializer.metadata.metadata_factory.class%" public="false">
<argument type="service" id="jms_serializer.metadata.lazy_loading_driver" />
<argument>Metadata\ClassHierarchyMetadata</argument>
<argument />
<call method="setCache">
<argument type="service" id="jms_serializer.metadata.cache" on-invalid="ignore" />
</call>
</service>
<!-- Exclusion Strategies -->
<service id="jms_serializer.version_exclusion_strategy"
class="%jms_serializer.version_exclusion_strategy.class%"
public="false"
abstract="true" />
<!-- Naming Strategies -->
<service id="jms_serializer.camel_case_naming_strategy" class="%jms_serializer.camel_case_naming_strategy.class%" public="false" />
<service id="jms_serializer.identical_property_naming_strategy" class="%jms_serializer.identical_property_naming_strategy.class%" public="false" />
<service id="jms_serializer.serialized_name_annotation_strategy" class="%jms_serializer.serialized_name_annotation_strategy.class%" public="false">
<argument type="service" id="jms_serializer.camel_case_naming_strategy" />
</service>
<service id="jms_serializer.cache_naming_strategy" class="%jms_serializer.cache_naming_strategy.class%" public="false" />
<service id="jms_serializer.naming_strategy" alias="jms_serializer.serialized_name_annotation_strategy" public="false" />
<!-- Object Constructors -->
<service id="jms_serializer.doctrine_object_constructor" class="%jms_serializer.doctrine_object_constructor.class%" public="false">
<argument type="service" id="doctrine"/>
<argument type="service" id="jms_serializer.unserialize_object_constructor"/>
<argument type="string">null</argument>
</service>
<service id="jms_serializer.doctrine_phpcr_object_constructor" class="%jms_serializer.doctrine_object_constructor.class%" public="false">
<argument type="service" id="doctrine_phpcr"/>
<argument type="service" id="jms_serializer.unserialize_object_constructor"/>
</service>
<service id="jms_serializer.unserialize_object_constructor" class="%jms_serializer.unserialize_object_constructor.class%" public="false" />
<service id="jms_serializer.object_constructor" alias="jms_serializer.unserialize_object_constructor" public="true" />
<!-- Serializer -->
<service id="jms_serializer.serializer" class="%jms_serializer.serializer.class%" public="false">
<argument type="service" id="jms_serializer.metadata_factory" />
<argument type="service" id="jms_serializer.handler_registry" />
<argument type="service" id="jms_serializer.object_constructor" />
<argument type="collection" /><!-- Serialization Visitors -->
<argument type="collection" /><!-- Deserialization Visitors -->
<argument type="service" id="jms_serializer.event_dispatcher" />
<argument type="service" id="jms_serializer.type_parser" on-invalid="null" />
<argument type="constant">NULL</argument> <!-- expression evaluator -->
<call method="setSerializationContextFactory">
<argument type="service" id="jms_serializer.serialization_context_factory" />
</call>
<call method="setDeserializationContextFactory">
<argument type="service" id="jms_serializer.deserialization_context_factory" />
</call>
</service>
<service id="jms_serializer.deserialization_context_factory" alias="jms_serializer.configured_deserialization_context_factory" public="true"/>
<service id="jms_serializer.serialization_context_factory" alias="jms_serializer.configured_serialization_context_factory" public="true"/>
<service id="jms_serializer" alias="jms_serializer.serializer" public="true"/><!-- Preferred Alias -->
<service id="JMS\Serializer\SerializerInterface" alias="jms_serializer" public="false" />
<service id="JMS\Serializer\ArrayTransformerInterface" alias="jms_serializer" public="false" />
<!-- expression language components -->
<service id="jms_serializer.expression_evaluator" class="%jms_serializer.expression_evaluator.class%">
<argument type="service" id="jms_serializer.expression_language"/>
<argument type="collection">
<argument type="service" key="container" id="service_container"/>
</argument>
</service>
<service id="jms_serializer.expression_language" class="%jms_serializer.expression_language.class%" public="false">
<call method="registerProvider">
<argument type="service" id="jms_serializer.expression_language.function_provider" />
</call>
</service>
<service id="jms_serializer.expression_language.function_provider" class="%jms_serializer.expression_language.function_provider.class%" public="false"/>
<!-- Twig Extension -->
<service id="jms_serializer.twig_extension.serializer" class="%jms_serializer.twig_extension.class%" public="false">
<argument type="service" id="jms_serializer" />
<tag name="twig.extension" />
</service>
<service id="jms_serializer.twig_extension.serializer_runtime_helper" class="%jms_serializer.twig_runtime_extension_helper.class%" public="true">
<argument type="service" id="jms_serializer" />
<tag name="twig.runtime" />
</service>
<!-- PHP templating helper -->
<service id="jms_serializer.templating.helper.serializer" class="%jms_serializer.templating.helper.class%">
<argument type="service" id="jms_serializer" />
<tag name="templating.helper" alias="jms_serializer" />
</service>
<!-- accessor strategy -->
<service id="jms_serializer.accessor_strategy" public="false" alias="jms_serializer.accessor_strategy.default"/>
<service id="jms_serializer.accessor_strategy.default" public="false" class="%jms_serializer.accessor_strategy.default.class%"/>
<service id="jms_serializer.accessor_strategy.expression" public="false" class="%jms_serializer.accessor_strategy.expression.class%">
<argument type="service" id="jms_serializer.expression_evaluator"/>
<argument type="service" id="jms_serializer.accessor_strategy.default"/>
</service>
<!-- Visitors -->
<service id="jms_serializer.json_serialization_visitor" class="%jms_serializer.json_serialization_visitor.class%" public="true">
<argument type="service" id="jms_serializer.naming_strategy" />
<argument type="service" id="jms_serializer.accessor_strategy"/>
<call method="setOptions">
<argument>%jms_serializer.json_serialization_visitor.options%</argument>
</call>
<tag name="jms_serializer.serialization_visitor" format="json" />
</service>
<service id="jms_serializer.json_deserialization_visitor" class="%jms_serializer.json_deserialization_visitor.class%" public="true">
<argument type="service" id="jms_serializer.naming_strategy" />
<tag name="jms_serializer.deserialization_visitor" format="json" />
</service>
<service id="jms_serializer.xml_serialization_visitor" class="%jms_serializer.xml_serialization_visitor.class%" public="true">
<argument type="service" id="jms_serializer.naming_strategy" />
<argument type="service" id="jms_serializer.accessor_strategy"/>
<tag name="jms_serializer.serialization_visitor" format="xml" />
<call method="setFormatOutput">
<argument>%jms_serializer.xml_serialization_visitor.format_output%</argument>
</call>
</service>
<service id="jms_serializer.xml_deserialization_visitor" class="%jms_serializer.xml_deserialization_visitor.class%" public="true">
<argument type="service" id="jms_serializer.naming_strategy" />
<call method="setDoctypeWhitelist">
<argument>%jms_serializer.xml_deserialization_visitor.doctype_whitelist%</argument>
</call>
<tag name="jms_serializer.deserialization_visitor" format="xml" />
</service>
<service id="jms_serializer.yaml_serialization_visitor" class="%jms_serializer.yaml_serialization_visitor.class%" public="true">
<argument type="service" id="jms_serializer.naming_strategy" />
<argument type="service" id="jms_serializer.accessor_strategy"/>
<tag name="jms_serializer.serialization_visitor" format="yml" />
</service>
<service id="jms_serializer.cache.cache_warmer" class="%jms_serializer.cache.cache_warmer.class%" public="false">
<argument/> <!-- included dirs -->
<argument type="service" id="jms_serializer.metadata_factory"/>
<argument/> <!-- excluded dirs -->
<tag name="kernel.cache_warmer" />
</service>
<!-- context factories -->
<service id="jms_serializer.configured_serialization_context_factory"
class="%jms_serializer.configured_context_factory.class%"
public="false" />
<service id="jms_serializer.configured_deserialization_context_factory"
class="%jms_serializer.configured_context_factory.class%"
public="false" />
</services>
</container>