protected AnnotationIntrospector _constructIntrospector() { return new JacksonXmlAnnotationIntrospector(_cfgDefaultUseWrapper); } }
@Override public String findNamespace(Annotated ann) { String ns = super.findNamespace(ann); if (ns == null || ns.isEmpty()) { return "http://www.opengis.net/wfs/3.0"; } else { return ns; } } });
@Override public PropertyName findNameForSerialization(Annotated a) { PropertyName name = _findXmlName(a); if (name == null) { name = super.findNameForSerialization(a); if (name == null) { if (a.hasAnnotation(JacksonXmlText.class)) { return PropertyName.USE_DEFAULT; } } } return name; }
@Override public PropertyName findNameForDeserialization(Annotated a) { PropertyName name = _findXmlName(a); if (name == null) { name = super.findNameForDeserialization(a); if (name == null) { if (a.hasAnnotation(JacksonXmlText.class)) { return PropertyName.USE_DEFAULT; } } } return name; }
@Override protected AnnotationIntrospector _jacksonIntrospector() { return new JacksonXmlAnnotationIntrospector(); }
@Override public PropertyName findNameForDeserialization(Annotated a) { PropertyName name = _findXmlName(a); if (name == null) { name = super.findNameForDeserialization(a); if (name == null) { if (a.hasAnnotation(JacksonXmlText.class)) { return PropertyName.USE_DEFAULT; } } } return name; }
public Builder(XmlFactory f) { super(f); // 21-Jun-2017, tatu: Seems like there are many cases in XML where ability to coerce empty // String into `null` (where it otherwise is an error) is very useful. enable(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT); _defaultUseWrapper = JacksonXmlAnnotationIntrospector.DEFAULT_USE_WRAPPER; _nameForTextElement = FromXmlParser.DEFAULT_UNNAMED_TEXT_PROPERTY; // as well as AnnotationIntrospector: note, however, that "use wrapper" may well // change later on annotationIntrospector(new JacksonXmlAnnotationIntrospector(_defaultUseWrapper)); // Need to mangle Type Ids (to avoid invalid XML Name characters); one way is this: typeResolverProvider(new XmlTypeResolverProvider()); // Some changes easiest to apply via Module addModule(new XmlModule()); // 04-May-2018, tatu: Important! Let's also default `String` `null` handling to coerce // to empty string -- this lets us induce `null` from empty tags first _configOverrides.findOrCreateOverride(String.class) .setNullHandling(JsonSetter.Value.forValueNulls(Nulls.AS_EMPTY)); }
@Override public PropertyName findNameForSerialization(Annotated a) { PropertyName name = _findXmlName(a); if (name == null) { name = super.findNameForSerialization(a); if (name == null) { if (a.hasAnnotation(JacksonXmlText.class)) { return PropertyName.USE_DEFAULT; } } } return name; }