com.fasterxml.jackson.xml
Class XmlTypeResolverBuilder

java.lang.Object
  extended by org.codehaus.jackson.map.jsontype.impl.StdTypeResolverBuilder
      extended by com.fasterxml.jackson.xml.XmlTypeResolverBuilder
All Implemented Interfaces:
org.codehaus.jackson.map.jsontype.TypeResolverBuilder<org.codehaus.jackson.map.jsontype.impl.StdTypeResolverBuilder>

public class XmlTypeResolverBuilder
extends org.codehaus.jackson.map.jsontype.impl.StdTypeResolverBuilder

Custom specialization of StdTypeResolverBuilder; needed so that type id property name can be modified as necessary to make it legal XML element or attribute name.


Nested Class Summary
protected static class XmlTypeResolverBuilder.XmlClassNameIdResolver
           
protected static class XmlTypeResolverBuilder.XmlMinimalClassNameIdResolver
           
 
Field Summary
 
Fields inherited from class org.codehaus.jackson.map.jsontype.impl.StdTypeResolverBuilder
_customIdResolver, _idType, _includeAs, _typeProperty
 
Constructor Summary
XmlTypeResolverBuilder()
           
 
Method Summary
protected static String decodeXmlClassName(String className)
          Helper method for decoding "XML safe" Java class name back into actual class name
protected static String encodeXmlClassName(String className)
          Helper method for encoding regular Java class name in form that can be used as XML element name.
protected  org.codehaus.jackson.map.jsontype.TypeIdResolver idResolver(org.codehaus.jackson.type.JavaType baseType, Collection<org.codehaus.jackson.map.jsontype.NamedType> subtypes, boolean forSer, boolean forDeser)
           
 org.codehaus.jackson.map.jsontype.impl.StdTypeResolverBuilder init(org.codehaus.jackson.annotate.JsonTypeInfo.Id idType, org.codehaus.jackson.map.jsontype.TypeIdResolver idRes)
           
protected static String sanitizeXmlTypeName(String name)
          Since XML names can not contain all characters JSON names can, we may need to replace characters.
 org.codehaus.jackson.map.jsontype.impl.StdTypeResolverBuilder typeProperty(String typeIdPropName)
           
 
Methods inherited from class org.codehaus.jackson.map.jsontype.impl.StdTypeResolverBuilder
buildTypeDeserializer, buildTypeSerializer, getTypeProperty, inclusion
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XmlTypeResolverBuilder

public XmlTypeResolverBuilder()
Method Detail

init

public org.codehaus.jackson.map.jsontype.impl.StdTypeResolverBuilder init(org.codehaus.jackson.annotate.JsonTypeInfo.Id idType,
                                                                          org.codehaus.jackson.map.jsontype.TypeIdResolver idRes)
Specified by:
init in interface org.codehaus.jackson.map.jsontype.TypeResolverBuilder<org.codehaus.jackson.map.jsontype.impl.StdTypeResolverBuilder>
Overrides:
init in class org.codehaus.jackson.map.jsontype.impl.StdTypeResolverBuilder

typeProperty

public org.codehaus.jackson.map.jsontype.impl.StdTypeResolverBuilder typeProperty(String typeIdPropName)
Specified by:
typeProperty in interface org.codehaus.jackson.map.jsontype.TypeResolverBuilder<org.codehaus.jackson.map.jsontype.impl.StdTypeResolverBuilder>
Overrides:
typeProperty in class org.codehaus.jackson.map.jsontype.impl.StdTypeResolverBuilder

idResolver

protected org.codehaus.jackson.map.jsontype.TypeIdResolver idResolver(org.codehaus.jackson.type.JavaType baseType,
                                                                      Collection<org.codehaus.jackson.map.jsontype.NamedType> subtypes,
                                                                      boolean forSer,
                                                                      boolean forDeser)
Overrides:
idResolver in class org.codehaus.jackson.map.jsontype.impl.StdTypeResolverBuilder

sanitizeXmlTypeName

protected static String sanitizeXmlTypeName(String name)
Since XML names can not contain all characters JSON names can, we may need to replace characters. Let's start with trivial replacement of ASCII characters that can not be included.


encodeXmlClassName

protected static String encodeXmlClassName(String className)
Helper method for encoding regular Java class name in form that can be used as XML element name.


decodeXmlClassName

protected static String decodeXmlClassName(String className)
Helper method for decoding "XML safe" Java class name back into actual class name



Copyright © 2011 fasterxml.com. All Rights Reserved.