// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: braces fieldsfirst space lnc package com.fasterxml.jackson.databind; import com.fasterxml.jackson.annotation.PropertyAccessor; import com.fasterxml.jackson.core.Base64Variant; import com.fasterxml.jackson.core.JsonFactory; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.cfg.BaseSettings; import com.fasterxml.jackson.databind.cfg.ContextAttributes; import com.fasterxml.jackson.databind.cfg.HandlerInstantiator; import com.fasterxml.jackson.databind.cfg.MapperConfig; import com.fasterxml.jackson.databind.cfg.MapperConfigBase; import com.fasterxml.jackson.databind.deser.DeserializationProblemHandler; import com.fasterxml.jackson.databind.introspect.ClassIntrospector; import com.fasterxml.jackson.databind.introspect.NopAnnotationIntrospector; import com.fasterxml.jackson.databind.introspect.SimpleMixInResolver; import com.fasterxml.jackson.databind.introspect.VisibilityChecker; import com.fasterxml.jackson.databind.jsontype.SubtypeResolver; import com.fasterxml.jackson.databind.jsontype.TypeDeserializer; import com.fasterxml.jackson.databind.jsontype.TypeResolverBuilder; import com.fasterxml.jackson.databind.node.JsonNodeFactory; import com.fasterxml.jackson.databind.type.TypeFactory; import com.fasterxml.jackson.databind.util.LinkedNode; import com.fasterxml.jackson.databind.util.RootNameLookup; import java.io.Serializable; import java.text.DateFormat; import java.util.Locale; import java.util.TimeZone; // Referenced classes of package com.fasterxml.jackson.databind: // DeserializationFeature, JsonMappingException, JavaType, BeanDescription, // AnnotationIntrospector, MapperFeature, PropertyName, PropertyNamingStrategy public final class DeserializationConfig extends MapperConfigBase implements Serializable { private static final long serialVersionUID = 1L; protected final int _deserFeatures; protected final JsonNodeFactory _nodeFactory; protected final int _parserFeatures; protected final int _parserFeaturesToChange; protected final LinkedNode _problemHandlers; private DeserializationConfig(DeserializationConfig deserializationconfig, int i, int j, int k, int l) { super(deserializationconfig, i); _deserFeatures = j; _nodeFactory = deserializationconfig._nodeFactory; _problemHandlers = deserializationconfig._problemHandlers; _parserFeatures = k; _parserFeaturesToChange = l; } private DeserializationConfig(DeserializationConfig deserializationconfig, PropertyName propertyname) { super(deserializationconfig, propertyname); _deserFeatures = deserializationconfig._deserFeatures; _problemHandlers = deserializationconfig._problemHandlers; _nodeFactory = deserializationconfig._nodeFactory; _parserFeatures = deserializationconfig._parserFeatures; _parserFeaturesToChange = deserializationconfig._parserFeaturesToChange; } private DeserializationConfig(DeserializationConfig deserializationconfig, BaseSettings basesettings) { super(deserializationconfig, basesettings); _deserFeatures = deserializationconfig._deserFeatures; _nodeFactory = deserializationconfig._nodeFactory; _problemHandlers = deserializationconfig._problemHandlers; _parserFeatures = deserializationconfig._parserFeatures; _parserFeaturesToChange = deserializationconfig._parserFeaturesToChange; } protected DeserializationConfig(DeserializationConfig deserializationconfig, ContextAttributes contextattributes) { super(deserializationconfig, contextattributes); _deserFeatures = deserializationconfig._deserFeatures; _problemHandlers = deserializationconfig._problemHandlers; _nodeFactory = deserializationconfig._nodeFactory; _parserFeatures = deserializationconfig._parserFeatures; _parserFeaturesToChange = deserializationconfig._parserFeaturesToChange; } protected DeserializationConfig(DeserializationConfig deserializationconfig, SimpleMixInResolver simplemixinresolver) { super(deserializationconfig, simplemixinresolver); _deserFeatures = deserializationconfig._deserFeatures; _problemHandlers = deserializationconfig._problemHandlers; _nodeFactory = deserializationconfig._nodeFactory; _parserFeatures = deserializationconfig._parserFeatures; _parserFeaturesToChange = deserializationconfig._parserFeaturesToChange; } protected DeserializationConfig(DeserializationConfig deserializationconfig, SimpleMixInResolver simplemixinresolver, RootNameLookup rootnamelookup) { super(deserializationconfig, simplemixinresolver, rootnamelookup); _deserFeatures = deserializationconfig._deserFeatures; _problemHandlers = deserializationconfig._problemHandlers; _nodeFactory = deserializationconfig._nodeFactory; _parserFeatures = deserializationconfig._parserFeatures; _parserFeaturesToChange = deserializationconfig._parserFeaturesToChange; } private DeserializationConfig(DeserializationConfig deserializationconfig, SubtypeResolver subtyperesolver) { super(deserializationconfig, subtyperesolver); _deserFeatures = deserializationconfig._deserFeatures; _nodeFactory = deserializationconfig._nodeFactory; _problemHandlers = deserializationconfig._problemHandlers; _parserFeatures = deserializationconfig._parserFeatures; _parserFeaturesToChange = deserializationconfig._parserFeaturesToChange; } private DeserializationConfig(DeserializationConfig deserializationconfig, JsonNodeFactory jsonnodefactory) { super(deserializationconfig); _deserFeatures = deserializationconfig._deserFeatures; _problemHandlers = deserializationconfig._problemHandlers; _nodeFactory = jsonnodefactory; _parserFeatures = deserializationconfig._parserFeatures; _parserFeaturesToChange = deserializationconfig._parserFeaturesToChange; } private DeserializationConfig(DeserializationConfig deserializationconfig, LinkedNode linkednode) { super(deserializationconfig); _deserFeatures = deserializationconfig._deserFeatures; _problemHandlers = linkednode; _nodeFactory = deserializationconfig._nodeFactory; _parserFeatures = deserializationconfig._parserFeatures; _parserFeaturesToChange = deserializationconfig._parserFeaturesToChange; } private DeserializationConfig(DeserializationConfig deserializationconfig, Class class1) { super(deserializationconfig, class1); _deserFeatures = deserializationconfig._deserFeatures; _problemHandlers = deserializationconfig._problemHandlers; _nodeFactory = deserializationconfig._nodeFactory; _parserFeatures = deserializationconfig._parserFeatures; _parserFeaturesToChange = deserializationconfig._parserFeaturesToChange; } public DeserializationConfig(BaseSettings basesettings, SubtypeResolver subtyperesolver, SimpleMixInResolver simplemixinresolver, RootNameLookup rootnamelookup) { super(basesettings, subtyperesolver, simplemixinresolver, rootnamelookup); _deserFeatures = collectFeatureDefaults(com/fasterxml/jackson/databind/DeserializationFeature); _nodeFactory = JsonNodeFactory.instance; _problemHandlers = null; _parserFeatures = 0; _parserFeaturesToChange = 0; } private final DeserializationConfig _withBase(BaseSettings basesettings) { if (_base == basesettings) { return this; } else { return new DeserializationConfig(this, basesettings); } } public TypeDeserializer findTypeDeserializer(JavaType javatype) throws JsonMappingException { Object obj1 = introspectClassAnnotations(javatype.getRawClass()).getClassInfo(); Object obj = getAnnotationIntrospector().findTypeResolver(this, ((com.fasterxml.jackson.databind.introspect.AnnotatedClass) (obj1)), javatype); java.util.Collection collection = null; if (obj == null) { obj1 = getDefaultTyper(javatype); obj = obj1; if (obj1 == null) { return null; } } else { collection = getSubtypeResolver().collectAndResolveSubtypesByTypeId(this, ((com.fasterxml.jackson.databind.introspect.AnnotatedClass) (obj1))); } return ((TypeResolverBuilder) (obj)).buildTypeDeserializer(this, javatype, collection); } public AnnotationIntrospector getAnnotationIntrospector() { if (isEnabled(MapperFeature.USE_ANNOTATIONS)) { return super.getAnnotationIntrospector(); } else { return NopAnnotationIntrospector.instance; } } protected BaseSettings getBaseSettings() { return _base; } public VisibilityChecker getDefaultVisibilityChecker() { VisibilityChecker visibilitychecker1 = super.getDefaultVisibilityChecker(); VisibilityChecker visibilitychecker = visibilitychecker1; if (!isEnabled(MapperFeature.AUTO_DETECT_SETTERS)) { visibilitychecker = visibilitychecker1.withSetterVisibility(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.NONE); } visibilitychecker1 = visibilitychecker; if (!isEnabled(MapperFeature.AUTO_DETECT_CREATORS)) { visibilitychecker1 = visibilitychecker.withCreatorVisibility(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.NONE); } visibilitychecker = visibilitychecker1; if (!isEnabled(MapperFeature.AUTO_DETECT_FIELDS)) { visibilitychecker = visibilitychecker1.withFieldVisibility(com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.NONE); } return visibilitychecker; } public final int getDeserializationFeatures() { return _deserFeatures; } public final JsonNodeFactory getNodeFactory() { return _nodeFactory; } public LinkedNode getProblemHandlers() { return _problemHandlers; } public final boolean hasDeserializationFeatures(int i) { return (_deserFeatures & i) == i; } public final boolean hasSomeOfFeatures(int i) { return (_deserFeatures & i) != 0; } public void initialize(JsonParser jsonparser) { if (_parserFeaturesToChange != 0) { int i = jsonparser.getFeatureMask(); int j = ~_parserFeaturesToChange & i | _parserFeatures; if (i != j) { jsonparser.setFeatureMask(j); } } } public BeanDescription introspect(JavaType javatype) { return getClassIntrospector().forDeserialization(this, javatype, this); } public BeanDescription introspectClassAnnotations(JavaType javatype) { return getClassIntrospector().forClassAnnotations(this, javatype, this); } public BeanDescription introspectDirectClassAnnotations(JavaType javatype) { return getClassIntrospector().forDirectClassAnnotations(this, javatype, this); } public BeanDescription introspectForBuilder(JavaType javatype) { return getClassIntrospector().forDeserializationWithBuilder(this, javatype, this); } public BeanDescription introspectForCreation(JavaType javatype) { return getClassIntrospector().forCreation(this, javatype, this); } public final boolean isEnabled(com.fasterxml.jackson.core.JsonParser.Feature feature, JsonFactory jsonfactory) { int i = feature.getMask(); if ((_parserFeaturesToChange & i) != 0) { return (_parserFeatures & feature.getMask()) != 0; } else { return jsonfactory.isEnabled(feature); } } public final boolean isEnabled(DeserializationFeature deserializationfeature) { return (_deserFeatures & deserializationfeature.getMask()) != 0; } public boolean useRootWrapping() { if (_rootName != null) { return !_rootName.isEmpty(); } else { return isEnabled(DeserializationFeature.UNWRAP_ROOT_VALUE); } } public DeserializationConfig with(Base64Variant base64variant) { return _withBase(_base.with(base64variant)); } public DeserializationConfig with(com.fasterxml.jackson.core.JsonParser.Feature feature) { int i = _parserFeatures | feature.getMask(); int j = _parserFeaturesToChange | feature.getMask(); if (_parserFeatures == i && _parserFeaturesToChange == j) { return this; } else { return new DeserializationConfig(this, _mapperFeatures, _deserFeatures, i, j); } } public DeserializationConfig with(AnnotationIntrospector annotationintrospector) { return _withBase(_base.withAnnotationIntrospector(annotationintrospector)); } public DeserializationConfig with(DeserializationFeature deserializationfeature) { int i = _deserFeatures | deserializationfeature.getMask(); if (i == _deserFeatures) { return this; } else { return new DeserializationConfig(this, _mapperFeatures, i, _parserFeatures, _parserFeaturesToChange); } } public transient DeserializationConfig with(DeserializationFeature deserializationfeature, DeserializationFeature adeserializationfeature[]) { int j = _deserFeatures | deserializationfeature.getMask(); int k = adeserializationfeature.length; for (int i = 0; i < k; i++) { j |= adeserializationfeature[i].getMask(); } if (j == _deserFeatures) { return this; } else { return new DeserializationConfig(this, _mapperFeatures, j, _parserFeatures, _parserFeaturesToChange); } } public DeserializationConfig with(MapperFeature mapperfeature, boolean flag) { int i; if (flag) { i = _mapperFeatures | mapperfeature.getMask(); } else { i = _mapperFeatures & ~mapperfeature.getMask(); } if (i == _mapperFeatures) { return this; } else { return new DeserializationConfig(this, i, _deserFeatures, _parserFeatures, _parserFeaturesToChange); } } public DeserializationConfig with(PropertyNamingStrategy propertynamingstrategy) { return _withBase(_base.withPropertyNamingStrategy(propertynamingstrategy)); } public DeserializationConfig with(ContextAttributes contextattributes) { if (contextattributes == _attributes) { return this; } else { return new DeserializationConfig(this, contextattributes); } } public DeserializationConfig with(HandlerInstantiator handlerinstantiator) { return _withBase(_base.withHandlerInstantiator(handlerinstantiator)); } public DeserializationConfig with(ClassIntrospector classintrospector) { return _withBase(_base.withClassIntrospector(classintrospector)); } public DeserializationConfig with(VisibilityChecker visibilitychecker) { return _withBase(_base.withVisibilityChecker(visibilitychecker)); } public DeserializationConfig with(SubtypeResolver subtyperesolver) { if (_subtypeResolver == subtyperesolver) { return this; } else { return new DeserializationConfig(this, subtyperesolver); } } public DeserializationConfig with(TypeResolverBuilder typeresolverbuilder) { return _withBase(_base.withTypeResolverBuilder(typeresolverbuilder)); } public DeserializationConfig with(JsonNodeFactory jsonnodefactory) { if (_nodeFactory == jsonnodefactory) { return this; } else { return new DeserializationConfig(this, jsonnodefactory); } } public DeserializationConfig with(TypeFactory typefactory) { return _withBase(_base.withTypeFactory(typefactory)); } public DeserializationConfig with(DateFormat dateformat) { return _withBase(_base.withDateFormat(dateformat)); } public DeserializationConfig with(Locale locale) { return _withBase(_base.with(locale)); } public DeserializationConfig with(TimeZone timezone) { return _withBase(_base.with(timezone)); } public transient DeserializationConfig with(MapperFeature amapperfeature[]) { int j = _mapperFeatures; int k = amapperfeature.length; for (int i = 0; i < k; i++) { j |= amapperfeature[i].getMask(); } if (j == _mapperFeatures) { return this; } else { return new DeserializationConfig(this, j, _deserFeatures, _parserFeatures, _parserFeaturesToChange); } } public volatile MapperConfig with(MapperFeature mapperfeature, boolean flag) { return with(mapperfeature, flag); } public volatile MapperConfig with(MapperFeature amapperfeature[]) { return with(amapperfeature); } public volatile MapperConfigBase with(Base64Variant base64variant) { return with(base64variant); } public volatile MapperConfigBase with(AnnotationIntrospector annotationintrospector) { return with(annotationintrospector); } public volatile MapperConfigBase with(PropertyNamingStrategy propertynamingstrategy) { return with(propertynamingstrategy); } public volatile MapperConfigBase with(ContextAttributes contextattributes) { return with(contextattributes); } public volatile MapperConfigBase with(HandlerInstantiator handlerinstantiator) { return with(handlerinstantiator); } public volatile MapperConfigBase with(ClassIntrospector classintrospector) { return with(classintrospector); } public volatile MapperConfigBase with(VisibilityChecker visibilitychecker) { return with(visibilitychecker); } public volatile MapperConfigBase with(SubtypeResolver subtyperesolver) { return with(subtyperesolver); } public volatile MapperConfigBase with(TypeResolverBuilder typeresolverbuilder) { return with(typeresolverbuilder); } public volatile MapperConfigBase with(TypeFactory typefactory) { return with(typefactory); } public volatile MapperConfigBase with(DateFormat dateformat) { return with(dateformat); } public volatile MapperConfigBase with(Locale locale) { return with(locale); } public volatile MapperConfigBase with(TimeZone timezone) { return with(timezone); } public DeserializationConfig withAppendedAnnotationIntrospector(AnnotationIntrospector annotationintrospector) { return _withBase(_base.withAppendedAnnotationIntrospector(annotationintrospector)); } public volatile MapperConfigBase withAppendedAnnotationIntrospector(AnnotationIntrospector annotationintrospector) { return withAppendedAnnotationIntrospector(annotationintrospector); } public transient DeserializationConfig withFeatures(com.fasterxml.jackson.core.JsonParser.Feature afeature[]) { int k = _parserFeatures; int j = _parserFeaturesToChange; int l = afeature.length; for (int i = 0; i < l; i++) { int i1 = afeature[i].getMask(); k |= i1; j |= i1; } if (_parserFeatures == k && _parserFeaturesToChange == j) { return this; } else { return new DeserializationConfig(this, _mapperFeatures, _deserFeatures, k, j); } } public transient DeserializationConfig withFeatures(DeserializationFeature adeserializationfeature[]) { int j = _deserFeatures; int k = adeserializationfeature.length; for (int i = 0; i < k; i++) { j |= adeserializationfeature[i].getMask(); } if (j == _deserFeatures) { return this; } else { return new DeserializationConfig(this, _mapperFeatures, j, _parserFeatures, _parserFeaturesToChange); } } public DeserializationConfig withHandler(DeserializationProblemHandler deserializationproblemhandler) { if (LinkedNode.contains(_problemHandlers, deserializationproblemhandler)) { return this; } else { return new DeserializationConfig(this, new LinkedNode(deserializationproblemhandler, _problemHandlers)); } } public DeserializationConfig withInsertedAnnotationIntrospector(AnnotationIntrospector annotationintrospector) { return _withBase(_base.withInsertedAnnotationIntrospector(annotationintrospector)); } public volatile MapperConfigBase withInsertedAnnotationIntrospector(AnnotationIntrospector annotationintrospector) { return withInsertedAnnotationIntrospector(annotationintrospector); } public DeserializationConfig withNoProblemHandlers() { if (_problemHandlers == null) { return this; } else { return new DeserializationConfig(this, (LinkedNode)null); } } public DeserializationConfig withRootName(PropertyName propertyname) { if (propertyname != null ? propertyname.equals(_rootName) : _rootName == null) { return this; } else { return new DeserializationConfig(this, propertyname); } } public volatile MapperConfigBase withRootName(PropertyName propertyname) { return withRootName(propertyname); } public DeserializationConfig withView(Class class1) { if (_view == class1) { return this; } else { return new DeserializationConfig(this, class1); } } public volatile MapperConfigBase withView(Class class1) { return withView(class1); } public DeserializationConfig withVisibility(PropertyAccessor propertyaccessor, com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility visibility) { return _withBase(_base.withVisibility(propertyaccessor, visibility)); } public volatile MapperConfigBase withVisibility(PropertyAccessor propertyaccessor, com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility visibility) { return withVisibility(propertyaccessor, visibility); } public DeserializationConfig without(com.fasterxml.jackson.core.JsonParser.Feature feature) { int i = _parserFeatures & ~feature.getMask(); int j = _parserFeaturesToChange | feature.getMask(); if (_parserFeatures == i && _parserFeaturesToChange == j) { return this; } else { return new DeserializationConfig(this, _mapperFeatures, _deserFeatures, i, j); } } public DeserializationConfig without(DeserializationFeature deserializationfeature) { int i = _deserFeatures & ~deserializationfeature.getMask(); if (i == _deserFeatures) { return this; } else { return new DeserializationConfig(this, _mapperFeatures, i, _parserFeatures, _parserFeaturesToChange); } } public transient DeserializationConfig without(DeserializationFeature deserializationfeature, DeserializationFeature adeserializationfeature[]) { int j = _deserFeatures & ~deserializationfeature.getMask(); int k = adeserializationfeature.length; for (int i = 0; i < k; i++) { j &= ~adeserializationfeature[i].getMask(); } if (j == _deserFeatures) { return this; } else { return new DeserializationConfig(this, _mapperFeatures, j, _parserFeatures, _parserFeaturesToChange); } } public transient DeserializationConfig without(MapperFeature amapperfeature[]) { int j = _mapperFeatures; int k = amapperfeature.length; for (int i = 0; i < k; i++) { j &= ~amapperfeature[i].getMask(); } if (j == _mapperFeatures) { return this; } else { return new DeserializationConfig(this, j, _deserFeatures, _parserFeatures, _parserFeaturesToChange); } } public volatile MapperConfig without(MapperFeature amapperfeature[]) { return without(amapperfeature); } public transient DeserializationConfig withoutFeatures(com.fasterxml.jackson.core.JsonParser.Feature afeature[]) { int k = _parserFeatures; int j = _parserFeaturesToChange; int l = afeature.length; for (int i = 0; i < l; i++) { int i1 = afeature[i].getMask(); k &= ~i1; j |= i1; } if (_parserFeatures == k && _parserFeaturesToChange == j) { return this; } else { return new DeserializationConfig(this, _mapperFeatures, _deserFeatures, k, j); } } public transient DeserializationConfig withoutFeatures(DeserializationFeature adeserializationfeature[]) { int j = _deserFeatures; int k = adeserializationfeature.length; for (int i = 0; i < k; i++) { j &= ~adeserializationfeature[i].getMask(); } if (j == _deserFeatures) { return this; } else { return new DeserializationConfig(this, _mapperFeatures, j, _parserFeatures, _parserFeaturesToChange); } } }