com.fasterxml.jackson.dataformat.xml
Class XmlTypeResolverBuilder

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

public class XmlTypeResolverBuilder
extends com.fasterxml.jackson.databind.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 com.fasterxml.jackson.databind.jsontype.impl.StdTypeResolverBuilder
_customIdResolver, _defaultImpl, _idType, _includeAs, _typeIdVisible, _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  com.fasterxml.jackson.databind.jsontype.TypeIdResolver idResolver(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.JavaType baseType, Collection<com.fasterxml.jackson.databind.jsontype.NamedType> subtypes, boolean forSer, boolean forDeser)
           
 com.fasterxml.jackson.databind.jsontype.impl.StdTypeResolverBuilder init(com.fasterxml.jackson.annotation.JsonTypeInfo.Id idType, com.fasterxml.jackson.databind.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.
 com.fasterxml.jackson.databind.jsontype.impl.StdTypeResolverBuilder typeProperty(String typeIdPropName)
           
 
Methods inherited from class com.fasterxml.jackson.databind.jsontype.impl.StdTypeResolverBuilder
buildTypeDeserializer, buildTypeSerializer, defaultImpl, getDefaultImpl, getTypeProperty, inclusion, isTypeIdVisible, noTypeInfoBuilder, typeIdVisibility
 
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 com.fasterxml.jackson.databind.jsontype.impl.StdTypeResolverBuilder init(com.fasterxml.jackson.annotation.JsonTypeInfo.Id idType,
                                                                                com.fasterxml.jackson.databind.jsontype.TypeIdResolver idRes)
Specified by:
init in interface com.fasterxml.jackson.databind.jsontype.TypeResolverBuilder<com.fasterxml.jackson.databind.jsontype.impl.StdTypeResolverBuilder>
Overrides:
init in class com.fasterxml.jackson.databind.jsontype.impl.StdTypeResolverBuilder

typeProperty

public com.fasterxml.jackson.databind.jsontype.impl.StdTypeResolverBuilder typeProperty(String typeIdPropName)
Specified by:
typeProperty in interface com.fasterxml.jackson.databind.jsontype.TypeResolverBuilder<com.fasterxml.jackson.databind.jsontype.impl.StdTypeResolverBuilder>
Overrides:
typeProperty in class com.fasterxml.jackson.databind.jsontype.impl.StdTypeResolverBuilder

idResolver

protected com.fasterxml.jackson.databind.jsontype.TypeIdResolver idResolver(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config,
                                                                            com.fasterxml.jackson.databind.JavaType baseType,
                                                                            Collection<com.fasterxml.jackson.databind.jsontype.NamedType> subtypes,
                                                                            boolean forSer,
                                                                            boolean forDeser)
Overrides:
idResolver in class com.fasterxml.jackson.databind.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 © 2012 fasterxml.com. All Rights Reserved.