1
2
3
4
5
6
7
8
9
10
11 package org.mule.module.json.config;
12
13 import org.mule.config.spring.parsers.collection.ChildMapEntryDefinitionParser;
14 import org.mule.config.spring.parsers.generic.OrphanDefinitionParser;
15 import org.mule.config.spring.parsers.specific.FilterDefinitionParser;
16 import org.mule.config.spring.parsers.specific.MessageProcessorDefinitionParser;
17 import org.mule.module.json.filters.IsJsonFilter;
18 import org.mule.module.json.transformers.JsonToObject;
19 import org.mule.module.json.transformers.ObjectToJson;
20
21 import org.springframework.beans.factory.xml.NamespaceHandlerSupport;
22
23
24
25
26 public class JsonNamespaceHandler extends NamespaceHandlerSupport
27 {
28 public void init()
29 {
30 registerBeanDefinitionParser("is-json-filter", new FilterDefinitionParser(IsJsonFilter.class));
31 registerBeanDefinitionParser("object-to-json-transformer", new MessageProcessorDefinitionParser(ObjectToJson.class));
32 registerBeanDefinitionParser("json-to-object-transformer", new MessageProcessorDefinitionParser(JsonToObject.class));
33 registerBeanDefinitionParser("serialization-mixin", new ChildMapEntryDefinitionParser("serializationMixins", "targetClass", "mixinClass"));
34 registerBeanDefinitionParser("deserialization-mixin", new ChildMapEntryDefinitionParser("deserializationMixins", "targetClass", "mixinClass"));
35 registerBeanDefinitionParser("mixin", new ChildMapEntryDefinitionParser("mixins", "targetClass", "mixinClass"));
36 registerBeanDefinitionParser("mapper", new OrphanDefinitionParser(MapperFactoryBean.class, true));
37 }
38 }