Class OptionalHandlerFactory
java.lang.Object
com.fasterxml.jackson.databind.ext.OptionalHandlerFactory
- All Implemented Interfaces:
Serializable
Helper class used for isolating details of handling optional+external types
(javax.xml classes) from standard factories that offer them.
Note that 2.7 changed handling to slightly less dynamic, to avoid having to traverse class hierarchy, which turned to be a performance issue in certain cases. Since DOM classes are assumed to exist on all Java 1.6 environments (yes, even on Android/GAE), this part could be simplified by slightly less dynamic lookups.
Also with 2.7 we are supporting JDK 1.7/Java 7 type(s).
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final Java7Handlersprivate static final Class<?> private static final Class<?> private static final Stringprivate static final Stringprivate static final Stringprivate static final Stringprivate static final Stringprivate static final Stringprivate static final Stringprivate static final Stringstatic final OptionalHandlerFactoryprivate static final Stringprivate static final Stringprivate static final Stringprivate static final long -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate booleanfindDeserializer(JavaType type, DeserializationConfig config, BeanDescription beanDesc) findSerializer(SerializationConfig config, JavaType type, BeanDescription beanDesc) booleanhasDeserializerFor(Class<?> valueType) private booleanhasSuperClassStartingWith(Class<?> rawType, String prefix) Since 2.7 we only need to check for class extension, as all implemented types are classes, not interfaces.private Objectinstantiate(Class<?> handlerClass, JavaType valueType) private Objectinstantiate(String className, JavaType valueType)
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
PACKAGE_PREFIX_JAVAX_XML
- See Also:
-
SERIALIZERS_FOR_JAVAX_XML
- See Also:
-
DESERIALIZERS_FOR_JAVAX_XML
- See Also:
-
SERIALIZER_FOR_DOM_NODE
- See Also:
-
DESERIALIZER_FOR_DOM_DOCUMENT
- See Also:
-
DESERIALIZER_FOR_DOM_NODE
- See Also:
-
CLASS_DOM_NODE
-
CLASS_DOM_DOCUMENT
-
_jdk7Helper
-
instance
-
_sqlDeserializers
-
_sqlSerializers
-
CLS_NAME_JAVA_SQL_TIMESTAMP
- See Also:
-
CLS_NAME_JAVA_SQL_DATE
- See Also:
-
CLS_NAME_JAVA_SQL_TIME
- See Also:
-
CLS_NAME_JAVA_SQL_BLOB
- See Also:
-
CLS_NAME_JAVA_SQL_SERIALBLOB
- See Also:
-
-
Constructor Details
-
OptionalHandlerFactory
protected OptionalHandlerFactory()
-
-
Method Details
-
findSerializer
public JsonSerializer<?> findSerializer(SerializationConfig config, JavaType type, BeanDescription beanDesc) -
findDeserializer
public JsonDeserializer<?> findDeserializer(JavaType type, DeserializationConfig config, BeanDescription beanDesc) throws JsonMappingException - Throws:
JsonMappingException
-
hasDeserializerFor
-
_IsXOfY
-
instantiate
-
instantiate
-
hasSuperClassStartingWith
Since 2.7 we only need to check for class extension, as all implemented types are classes, not interfaces. This has performance implications for some cases, as we do not need to go over interfaces implemented, just superclasses- Since:
- 2.7
-