calabash-android 0.4.7.pre6 → 0.4.7.pre7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/calabash-android/helpers.rb +7 -15
- data/lib/calabash-android/lib/TestServer.apk +0 -0
- data/lib/calabash-android/version.rb +1 -1
- data/test-server/build.xml +2 -2
- data/test-server/instrumentation-backend/.classpath +0 -3
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/HttpServer.java +1 -2
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForProgress.java +1 -1
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/QueryHelper.java +1 -2
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/json/JSONUtils.java +1 -1
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/QueryResult.java +1 -1
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryUtils.java +203 -222
- data/test-server/instrumentation-backend/src/sh/calaba/org/apache/http/entity/mime/version.properties +22 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Base64Variant.java +413 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Base64Variants.java +90 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/FormatSchema.java +29 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonEncoding.java +47 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonFactory.java +937 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonGenerationException.java +28 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonGenerator.java +1197 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonLocation.java +141 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonNode.java +879 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonParseException.java +23 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonParser.java +1434 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonProcessingException.java +80 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonStreamContext.java +122 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonToken.java +161 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/ObjectCodec.java +157 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/PrettyPrinter.java +166 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/SerializableString.java +54 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Version.java +90 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Versioned.java +20 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JacksonAnnotation.java +20 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonAnyGetter.java +25 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonAnySetter.java +24 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonAutoDetect.java +148 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonBackReference.java +41 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonCreator.java +19 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonGetter.java +35 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonIgnore.java +57 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonIgnoreProperties.java +48 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonIgnoreType.java +33 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonManagedReference.java +41 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonMethod.java +90 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonProperty.java +38 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonPropertyOrder.java +46 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonRawValue.java +33 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonSetter.java +33 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonSubTypes.java +44 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonTypeInfo.java +236 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonTypeName.java +28 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonUnwrapped.java +76 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonValue.java +46 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonWriteNullProperties.java +34 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/package-info.java +16 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/DataFormatDetector.java +176 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/DataFormatMatcher.java +117 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/InputAccessor.java +130 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/MatchStrength.java +64 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/package-info.java +8 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/ByteSourceBootstrapper.java +518 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/DefaultPrettyPrinter.java +13 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/Indenter.java +23 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonGeneratorBase.java +570 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonNumericParserBase.java +20 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonParserBase.java +1067 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonParserMinimalBase.java +539 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonReadContext.java +188 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonWriteContext.java +178 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/ReaderBasedParser.java +1815 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/ReaderBasedParserBase.java +228 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/StreamBasedParserBase.java +197 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/Utf8Generator.java +1757 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/Utf8StreamParser.java +2966 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/WriterBasedGenerator.java +1815 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/package-info.java +6 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/BaseReader.java +117 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/CharacterEscapes.java +73 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/IOContext.java +239 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/InputDecorator.java +67 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/JsonStringEncoder.java +408 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/MergedStream.java +145 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/NumberInput.java +303 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/NumberOutput.java +398 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/OutputDecorator.java +40 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/SegmentedStringWriter.java +104 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/SerializedString.java +114 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/UTF32Reader.java +214 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/UTF8Writer.java +387 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/package.html +4 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/AbstractTypeResolver.java +63 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/AnnotationIntrospector.java +1485 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/BeanDescription.java +171 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/BeanProperty.java +123 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/BeanPropertyDefinition.java +66 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ClassIntrospector.java +117 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ContextualDeserializer.java +38 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ContextualKeyDeserializer.java +33 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ContextualSerializer.java +38 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializationConfig.java +926 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializationContext.java +262 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializationProblemHandler.java +56 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializerFactory.java +356 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializerProvider.java +185 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/Deserializers.java +339 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/HandlerInstantiator.java +115 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/InjectableValues.java +85 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonDeserializer.java +166 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonMappingException.java +335 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonSerializable.java +34 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonSerializableWithType.java +22 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonSerializer.java +138 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/KeyDeserializer.java +31 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/KeyDeserializers.java +21 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/MapperConfig.java +1154 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/MappingIterator.java +190 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/MappingJsonFactory.java +81 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/Module.java +255 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ObjectMapper.java +2885 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ObjectReader.java +958 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ObjectWriter.java +554 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/PropertyNamingStrategy.java +258 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ResolvableDeserializer.java +23 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ResolvableSerializer.java +23 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/RuntimeJsonMappingException.java +21 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/SerializationConfig.java +1041 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/SerializerFactory.java +198 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/SerializerProvider.java +552 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/Serializers.java +137 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/TypeDeserializer.java +118 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/TypeSerializer.java +164 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JacksonInject.java +30 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JacksonStdImpl.java +25 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonCachable.java +32 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonDeserialize.java +109 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonFilter.java +31 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonRootName.java +29 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonSerialize.java +216 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonTypeIdResolver.java +35 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonTypeResolver.java +28 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonValueInstantiator.java +26 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonView.java +37 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/NoClass.java +19 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/package-info.java +5 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/AbstractDeserializer.java +102 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ArrayDeserializer.java +28 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ArrayDeserializers.java +11 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BasicDeserializerFactory.java +894 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializer.java +1537 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializerBuilder.java +277 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializerFactory.java +1474 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializerModifier.java +58 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/CollectionDeserializer.java +47 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ContainerDeserializer.java +14 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/CustomDeserializerFactory.java +227 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/DateDeserializer.java +9 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/EnumDeserializer.java +15 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/EnumResolver.java +17 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/FromStringDeserializer.java +13 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/JsonNodeDeserializer.java +54 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/MapDeserializer.java +44 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/SettableAnyProperty.java +177 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/SettableBeanProperty.java +827 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializationContext.java +326 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializer.java +94 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializerProvider.java +494 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializers.java +119 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdKeyDeserializer.java +12 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdKeyDeserializers.java +11 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdScalarDeserializer.java +13 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ThrowableDeserializer.java +13 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/UntypedObjectDeserializer.java +9 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ValueInstantiator.java +280 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ValueInstantiators.java +52 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/BeanPropertyMap.java +257 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/CreatorCollector.java +141 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/CreatorProperty.java +152 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/ExternalTypeHandler.java +173 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/PropertyBasedCreator.java +117 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/PropertyValue.java +117 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/PropertyValueBuffer.java +102 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/UnwrappedPropertyHandler.java +41 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/ValueInjector.java +45 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/package-info.java +9 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/package-info.java +5 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/AtomicBooleanDeserializer.java +22 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/AtomicReferenceDeserializer.java +47 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/CalendarDeserializer.java +47 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ClassDeserializer.java +49 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/CollectionDeserializer.java +265 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ContainerDeserializerBase.java +37 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/DateDeserializer.java +30 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/EnumDeserializer.java +139 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/EnumMapDeserializer.java +90 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/EnumSetDeserializer.java +89 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/FromStringDeserializer.java +265 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/JavaTypeDeserializer.java +38 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/JsonNodeDeserializer.java +314 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/MapDeserializer.java +412 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ObjectArrayDeserializer.java +201 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/PrimitiveArrayDeserializers.java +583 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdDeserializer.java +1136 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdKeyDeserializer.java +340 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdKeyDeserializers.java +108 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdScalarDeserializer.java +34 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdValueInstantiator.java +392 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StringCollectionDeserializer.java +227 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StringDeserializer.java +55 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ThrowableDeserializer.java +164 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/TimestampDeserializer.java +30 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/TokenBufferDeserializer.java +36 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/UntypedObjectDeserializer.java +248 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/package-info.java +15 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/exc/UnrecognizedPropertyException.java +75 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/DOMDeserializer.java +65 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/OptionalHandlerFactory.java +217 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/package-info.java +23 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/Annotated.java +85 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedClass.java +980 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedConstructor.java +143 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedField.java +119 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedMember.java +56 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedMethod.java +188 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedMethodMap.java +85 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedParameter.java +191 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedWithParams.java +195 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotationMap.java +101 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/BasicBeanDescription.java +615 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/BasicClassIntrospector.java +364 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/JacksonAnnotationIntrospector.java +813 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/MemberKey.java +83 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/MethodFilter.java +12 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/NopAnnotationIntrospector.java +209 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/POJOPropertiesCollector.java +713 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/POJOPropertyBuilder.java +648 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/VisibilityChecker.java +424 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/package-info.java +12 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/NamedType.java +53 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/SubtypeResolver.java +39 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/TypeIdResolver.java +74 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/TypeResolverBuilder.java +151 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsArrayTypeDeserializer.java +126 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsArrayTypeSerializer.java +110 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsExternalTypeDeserializer.java +37 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsExternalTypeSerializer.java +129 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsPropertyTypeDeserializer.java +191 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsPropertyTypeSerializer.java +69 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsWrapperTypeDeserializer.java +103 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsWrapperTypeSerializer.java +121 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/ClassNameIdResolver.java +138 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/MinimalClassNameIdResolver.java +66 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/StdSubtypeResolver.java +151 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/StdTypeResolverBuilder.java +202 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeDeserializerBase.java +154 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeIdResolverBase.java +37 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeNameIdResolver.java +154 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeSerializerBase.java +31 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/package-info.java +9 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/package-info.java +10 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleAbstractTypeResolver.java +86 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleDeserializers.java +130 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleKeyDeserializers.java +59 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleModule.java +265 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleSerializers.java +206 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleValueInstantiators.java +45 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/package-info.java +16 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/package-info.java +34 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/AnyGetterWriter.java +48 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ArraySerializers.java +7 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BasicSerializerFactory.java +806 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanPropertyFilter.java +30 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanPropertyWriter.java +512 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializer.java +126 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializerBuilder.java +140 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializerFactory.java +780 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializerModifier.java +95 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ContainerSerializers.java +8 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/CustomSerializerFactory.java +293 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/EnumSerializer.java +17 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/FilterProvider.java +23 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/FilteredBeanPropertyWriter.java +96 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/JdkSerializers.java +11 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/MapSerializer.java +58 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/PropertyBuilder.java +372 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ScalarSerializerBase.java +18 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/SerializerBase.java +23 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/StdKeySerializer.java +10 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/StdSerializerProvider.java +852 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/StdSerializers.java +372 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ToStringSerializer.java +14 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/FailingSerializer.java +43 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/JsonSerializerMap.java +93 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/PropertySerializerMap.java +231 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/ReadOnlyClassToSerializerMap.java +73 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/SerializerCache.java +304 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/SimpleBeanPropertyFilter.java +109 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/SimpleFilterProvider.java +114 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/UnknownSerializer.java +54 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/UnwrappingBeanPropertyWriter.java +99 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/UnwrappingBeanSerializer.java +76 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/package-info.java +5 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/package-info.java +5 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/AsArraySerializerBase.java +185 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/BeanSerializerBase.java +340 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/CalendarSerializer.java +43 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/CollectionSerializer.java +113 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ContainerSerializerBase.java +51 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/DateSerializer.java +42 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/EnumMapSerializer.java +218 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/EnumSerializer.java +84 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/EnumSetSerializer.java +47 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/IndexedStringListSerializer.java +116 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/InetAddressSerializer.java +51 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/IterableSerializer.java +63 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/JsonValueSerializer.java +233 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/MapSerializer.java +422 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/NonTypedScalarSerializerBase.java +34 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/NullSerializer.java +38 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ObjectArraySerializer.java +281 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/RawSerializer.java +52 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ScalarSerializerBase.java +52 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/SerializableSerializer.java +99 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/SerializableWithTypeSerializer.java +90 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/SerializerBase.java +184 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StaticListSerializerBase.java +46 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdArraySerializers.java +476 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdContainerSerializers.java +249 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdJdkSerializers.java +195 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdKeySerializer.java +43 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdKeySerializers.java +95 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StringCollectionSerializer.java +119 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StringSerializer.java +36 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/TimeZoneSerializer.java +38 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ToStringSerializer.java +73 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/TokenBufferSerializer.java +66 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/ArrayType.java +260 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/ClassKey.java +94 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/CollectionLikeType.java +204 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/CollectionType.java +94 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/HierarchicType.java +88 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/MapLikeType.java +265 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/MapType.java +146 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/SimpleType.java +250 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeBase.java +148 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeBindings.java +351 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeFactory.java +1165 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeModifier.java +38 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeParser.java +134 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/package-info.java +10 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Annotations.java +23 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ArrayBuilders.java +293 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/BeanUtil.java +260 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ClassUtil.java +645 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Comparators.java +48 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/EnumResolver.java +108 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/EnumValues.java +82 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ISO8601DateFormat.java +52 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ISO8601Utils.java +230 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/JSONPObject.java +105 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/JSONWrappedObject.java +117 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/LRUMap.java +28 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/LinkedNode.java +45 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Named.java +10 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ObjectBuffer.java +257 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/PrimitiveArrayBuilder.java +180 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Provider.java +21 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/RootNameLookup.java +54 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/StdDateFormat.java +348 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/package-info.java +4 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ArrayNode.java +758 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BaseJsonNode.java +122 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BigIntegerNode.java +104 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BinaryNode.java +136 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BooleanNode.java +84 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ContainerNode.java +185 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/DecimalNode.java +96 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/DoubleNode.java +106 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/IntNode.java +122 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/JsonNodeFactory.java +222 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/LongNode.java +99 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/MissingNode.java +97 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/NodeCursor.java +222 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/NullNode.java +58 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/NumericNode.java +72 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ObjectNode.java +696 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/POJONode.java +145 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/TextNode.java +299 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/TreeTraversingParser.java +383 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ValueNode.java +58 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/package-info.java +8 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/package-info.java +30 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/JsonSchema.java +82 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/JsonSerializableSchema.java +46 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/SchemaAware.java +25 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/package-info.java +5 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/BytesToNameCanonicalizer.java +969 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/CharsToNameCanonicalizer.java +578 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name.java +50 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name1.java +44 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name2.java +40 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name3.java +39 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/NameN.java +68 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/package-info.java +5 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/type/JavaType.java +503 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/type/TypeReference.java +60 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/type/package-info.java +8 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/BufferRecycler.java +109 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/ByteArrayBuilder.java +294 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/CharTypes.java +237 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/DefaultPrettyPrinter.java +282 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/InternCache.java +49 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/JsonGeneratorDelegate.java +273 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/JsonParserDelegate.java +251 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/JsonParserSequence.java +150 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/MinimalPrettyPrinter.java +152 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/TextBuffer.java +707 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/TokenBuffer.java +1233 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/VersionUtil.java +79 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/package-info.java +4 -0
- metadata +409 -5
- data/test-server/instrumentation-backend/libs/jackson-annotations-2.2.0-rc2-20130418.042013-1.jar +0 -0
- data/test-server/instrumentation-backend/libs/jackson-core-2.2.0-rc2-20130420.041001-2.jar +0 -0
- data/test-server/instrumentation-backend/libs/jackson-databind-2.2.0-rc2-20130422.041053-3.jar +0 -0
@@ -0,0 +1,44 @@
|
|
1
|
+
package sh.calaba.org.codehaus.jackson.map.deser;
|
2
|
+
|
3
|
+
import java.lang.reflect.Constructor;
|
4
|
+
import java.util.Map;
|
5
|
+
|
6
|
+
import sh.calaba.org.codehaus.jackson.map.*;
|
7
|
+
import sh.calaba.org.codehaus.jackson.type.JavaType;
|
8
|
+
|
9
|
+
/**
|
10
|
+
* @deprecated Since 1.9, use {@link sh.calaba.org.codehaus.jackson.map.deser.std.MapDeserializer} instead.
|
11
|
+
*/
|
12
|
+
@Deprecated
|
13
|
+
public class MapDeserializer
|
14
|
+
extends sh.calaba.org.codehaus.jackson.map.deser.std.MapDeserializer
|
15
|
+
{
|
16
|
+
/**
|
17
|
+
* @deprecated Since 1.9, use variant that takes ValueInstantiator
|
18
|
+
*/
|
19
|
+
@SuppressWarnings("deprecation")
|
20
|
+
@Deprecated
|
21
|
+
public MapDeserializer(JavaType mapType, Constructor<Map<Object,Object>> defCtor,
|
22
|
+
KeyDeserializer keyDeser, JsonDeserializer<Object> valueDeser,
|
23
|
+
TypeDeserializer valueTypeDeser)
|
24
|
+
{
|
25
|
+
super(mapType, defCtor, keyDeser, valueDeser, valueTypeDeser);
|
26
|
+
}
|
27
|
+
|
28
|
+
public MapDeserializer(JavaType mapType, ValueInstantiator valueInstantiator,
|
29
|
+
KeyDeserializer keyDeser, JsonDeserializer<Object> valueDeser,
|
30
|
+
TypeDeserializer valueTypeDeser)
|
31
|
+
{
|
32
|
+
super(mapType, valueInstantiator, keyDeser, valueDeser, valueTypeDeser);
|
33
|
+
}
|
34
|
+
|
35
|
+
/**
|
36
|
+
* Copy-constructor that can be used by sub-classes to allow
|
37
|
+
* copy-on-write styling copying of settings of an existing instance.
|
38
|
+
*
|
39
|
+
* @since 1.9
|
40
|
+
*/
|
41
|
+
protected MapDeserializer(MapDeserializer src) {
|
42
|
+
super(src);
|
43
|
+
}
|
44
|
+
}
|
@@ -0,0 +1,177 @@
|
|
1
|
+
package sh.calaba.org.codehaus.jackson.map.deser;
|
2
|
+
|
3
|
+
import java.io.IOException;
|
4
|
+
import java.lang.reflect.*;
|
5
|
+
|
6
|
+
import sh.calaba.org.codehaus.jackson.*;
|
7
|
+
import sh.calaba.org.codehaus.jackson.map.BeanProperty;
|
8
|
+
import sh.calaba.org.codehaus.jackson.map.DeserializationContext;
|
9
|
+
import sh.calaba.org.codehaus.jackson.map.JsonDeserializer;
|
10
|
+
import sh.calaba.org.codehaus.jackson.map.JsonMappingException;
|
11
|
+
import sh.calaba.org.codehaus.jackson.map.introspect.AnnotatedMethod;
|
12
|
+
import sh.calaba.org.codehaus.jackson.type.JavaType;
|
13
|
+
|
14
|
+
/**
|
15
|
+
* Class that represents a "wildcard" set method which can be used
|
16
|
+
* to generically set values of otherwise unmapped (aka "unknown")
|
17
|
+
* properties read from Json content.
|
18
|
+
*<p>
|
19
|
+
* !!! Note: might make sense to refactor to share some code
|
20
|
+
* with {@link SettableBeanProperty}?
|
21
|
+
*/
|
22
|
+
public final class SettableAnyProperty
|
23
|
+
{
|
24
|
+
/**
|
25
|
+
* Method used for setting "any" properties, along with annotation
|
26
|
+
* information. Retained to allow contextualization of any properties.
|
27
|
+
*
|
28
|
+
* @since 1.7
|
29
|
+
*/
|
30
|
+
final protected BeanProperty _property;
|
31
|
+
|
32
|
+
/**
|
33
|
+
* Physical JDK object used for assigning properties.
|
34
|
+
*/
|
35
|
+
final protected Method _setter;
|
36
|
+
|
37
|
+
final protected JavaType _type;
|
38
|
+
|
39
|
+
protected JsonDeserializer<Object> _valueDeserializer;
|
40
|
+
|
41
|
+
/*
|
42
|
+
/**********************************************************
|
43
|
+
/* Life-cycle
|
44
|
+
/**********************************************************
|
45
|
+
*/
|
46
|
+
|
47
|
+
/**
|
48
|
+
* @deprecated Since 1.9 - use variant that takes deserializer
|
49
|
+
*/
|
50
|
+
@Deprecated
|
51
|
+
public SettableAnyProperty(BeanProperty property, AnnotatedMethod setter, JavaType type) {
|
52
|
+
this(property, setter, type, null);
|
53
|
+
}
|
54
|
+
|
55
|
+
public SettableAnyProperty(BeanProperty property, AnnotatedMethod setter, JavaType type,
|
56
|
+
JsonDeserializer<Object> valueDeser) {
|
57
|
+
this(property, setter.getAnnotated(), type, valueDeser);
|
58
|
+
}
|
59
|
+
|
60
|
+
public SettableAnyProperty(BeanProperty property, Method rawSetter, JavaType type,
|
61
|
+
JsonDeserializer<Object> valueDeser) {
|
62
|
+
_property = property;
|
63
|
+
_type = type;
|
64
|
+
_setter = rawSetter;
|
65
|
+
_valueDeserializer = valueDeser;
|
66
|
+
}
|
67
|
+
|
68
|
+
public SettableAnyProperty withValueDeserializer(JsonDeserializer<Object> deser) {
|
69
|
+
return new SettableAnyProperty(_property, _setter, _type, deser);
|
70
|
+
}
|
71
|
+
|
72
|
+
/**
|
73
|
+
* @deprecated Since 1.9 - construct with deserializer
|
74
|
+
*/
|
75
|
+
@Deprecated
|
76
|
+
public void setValueDeserializer(JsonDeserializer<Object> deser)
|
77
|
+
{
|
78
|
+
if (_valueDeserializer != null) { // sanity check
|
79
|
+
throw new IllegalStateException("Already had assigned deserializer for SettableAnyProperty");
|
80
|
+
}
|
81
|
+
_valueDeserializer = deser;
|
82
|
+
}
|
83
|
+
|
84
|
+
/*
|
85
|
+
/**********************************************************
|
86
|
+
/* Public API, accessors
|
87
|
+
/**********************************************************
|
88
|
+
*/
|
89
|
+
|
90
|
+
public BeanProperty getProperty() { return _property; }
|
91
|
+
|
92
|
+
public boolean hasValueDeserializer() { return (_valueDeserializer != null); }
|
93
|
+
|
94
|
+
public JavaType getType() { return _type; }
|
95
|
+
|
96
|
+
/*
|
97
|
+
/**********************************************************
|
98
|
+
/* Public API, deserialization
|
99
|
+
/**********************************************************
|
100
|
+
*/
|
101
|
+
|
102
|
+
/**
|
103
|
+
* Method called to deserialize appropriate value, given parser (and
|
104
|
+
* context), and set it using appropriate method (a setter method).
|
105
|
+
*/
|
106
|
+
public final void deserializeAndSet(JsonParser jp, DeserializationContext ctxt,
|
107
|
+
Object instance, String propName)
|
108
|
+
throws IOException, JsonProcessingException
|
109
|
+
{
|
110
|
+
set(instance, propName, deserialize(jp, ctxt));
|
111
|
+
}
|
112
|
+
|
113
|
+
public final Object deserialize(JsonParser jp, DeserializationContext ctxt)
|
114
|
+
throws IOException, JsonProcessingException
|
115
|
+
{
|
116
|
+
JsonToken t = jp.getCurrentToken();
|
117
|
+
if (t == JsonToken.VALUE_NULL) {
|
118
|
+
return null;
|
119
|
+
}
|
120
|
+
return _valueDeserializer.deserialize(jp, ctxt);
|
121
|
+
}
|
122
|
+
|
123
|
+
public final void set(Object instance, String propName, Object value)
|
124
|
+
throws IOException
|
125
|
+
{
|
126
|
+
try {
|
127
|
+
_setter.invoke(instance, propName, value);
|
128
|
+
} catch (Exception e) {
|
129
|
+
_throwAsIOE(e, propName, value);
|
130
|
+
}
|
131
|
+
}
|
132
|
+
|
133
|
+
/*
|
134
|
+
/**********************************************************
|
135
|
+
/* Helper methods
|
136
|
+
/**********************************************************
|
137
|
+
*/
|
138
|
+
|
139
|
+
/**
|
140
|
+
* @param e Exception to re-throw or wrap
|
141
|
+
* @param propName Name of property (from Json input) to set
|
142
|
+
* @param value Value of the property
|
143
|
+
*/
|
144
|
+
protected void _throwAsIOE(Exception e, String propName, Object value)
|
145
|
+
throws IOException
|
146
|
+
{
|
147
|
+
if (e instanceof IllegalArgumentException) {
|
148
|
+
String actType = (value == null) ? "[NULL]" : value.getClass().getName();
|
149
|
+
StringBuilder msg = new StringBuilder("Problem deserializing \"any\" property '").append(propName);
|
150
|
+
msg.append("' of class "+getClassName()+" (expected type: ").append(_type);
|
151
|
+
msg.append("; actual type: ").append(actType).append(")");
|
152
|
+
String origMsg = e.getMessage();
|
153
|
+
if (origMsg != null) {
|
154
|
+
msg.append(", problem: ").append(origMsg);
|
155
|
+
} else {
|
156
|
+
msg.append(" (no error message provided)");
|
157
|
+
}
|
158
|
+
throw new JsonMappingException(msg.toString(), null, e);
|
159
|
+
}
|
160
|
+
if (e instanceof IOException) {
|
161
|
+
throw (IOException) e;
|
162
|
+
}
|
163
|
+
if (e instanceof RuntimeException) {
|
164
|
+
throw (RuntimeException) e;
|
165
|
+
}
|
166
|
+
// let's wrap the innermost problem
|
167
|
+
Throwable t = e;
|
168
|
+
while (t.getCause() != null) {
|
169
|
+
t = t.getCause();
|
170
|
+
}
|
171
|
+
throw new JsonMappingException(t.getMessage(), null, t);
|
172
|
+
}
|
173
|
+
|
174
|
+
private String getClassName() { return _setter.getDeclaringClass().getName(); }
|
175
|
+
|
176
|
+
@Override public String toString() { return "[any property on class "+getClassName()+"]"; }
|
177
|
+
}
|
@@ -0,0 +1,827 @@
|
|
1
|
+
package sh.calaba.org.codehaus.jackson.map.deser;
|
2
|
+
|
3
|
+
import java.io.IOException;
|
4
|
+
import java.lang.annotation.Annotation;
|
5
|
+
import java.lang.reflect.*;
|
6
|
+
import java.util.*;
|
7
|
+
|
8
|
+
import sh.calaba.org.codehaus.jackson.*;
|
9
|
+
import sh.calaba.org.codehaus.jackson.map.*;
|
10
|
+
import sh.calaba.org.codehaus.jackson.map.introspect.AnnotatedField;
|
11
|
+
import sh.calaba.org.codehaus.jackson.map.introspect.AnnotatedMember;
|
12
|
+
import sh.calaba.org.codehaus.jackson.map.introspect.AnnotatedMethod;
|
13
|
+
import sh.calaba.org.codehaus.jackson.map.util.Annotations;
|
14
|
+
import sh.calaba.org.codehaus.jackson.map.util.ClassUtil;
|
15
|
+
import sh.calaba.org.codehaus.jackson.type.JavaType;
|
16
|
+
import sh.calaba.org.codehaus.jackson.util.InternCache;
|
17
|
+
|
18
|
+
/**
|
19
|
+
* Base class for settable properties of a bean: contains
|
20
|
+
* both type and name definitions, and reflection-based set functionality.
|
21
|
+
* Concrete sub-classes implement details, so that both field- and
|
22
|
+
* setter-backed properties can be handled
|
23
|
+
*/
|
24
|
+
public abstract class SettableBeanProperty
|
25
|
+
implements BeanProperty // since 1.7
|
26
|
+
{
|
27
|
+
/**
|
28
|
+
* Logical name of the property (often but not always derived
|
29
|
+
* from the setter method name)
|
30
|
+
*/
|
31
|
+
protected final String _propName;
|
32
|
+
|
33
|
+
/**
|
34
|
+
* Base type for property; may be a supertype of actual value.
|
35
|
+
*/
|
36
|
+
protected final JavaType _type;
|
37
|
+
|
38
|
+
/**
|
39
|
+
* Class that contains this property (either class that declares
|
40
|
+
* the property or one of its subclasses), class that is
|
41
|
+
* deserialized using deserializer that contains this property.
|
42
|
+
*/
|
43
|
+
protected final Annotations _contextAnnotations;
|
44
|
+
|
45
|
+
/**
|
46
|
+
* Deserializer used for handling property value.
|
47
|
+
*/
|
48
|
+
protected JsonDeserializer<Object> _valueDeserializer;
|
49
|
+
|
50
|
+
/**
|
51
|
+
* If value will contain type information (to support
|
52
|
+
* polymorphic handling), this is the type deserializer
|
53
|
+
* used to handle type resolution.
|
54
|
+
*/
|
55
|
+
protected TypeDeserializer _valueTypeDeserializer;
|
56
|
+
|
57
|
+
/**
|
58
|
+
* Object used to figure out value to be used when 'null' literal is encountered in JSON.
|
59
|
+
* For most types simply Java null, but for primitive types must
|
60
|
+
* be a non-null value (like Integer.valueOf(0) for int).
|
61
|
+
*
|
62
|
+
* @since 1.7
|
63
|
+
*/
|
64
|
+
protected NullProvider _nullProvider;
|
65
|
+
|
66
|
+
/**
|
67
|
+
* If property represents a managed (forward) reference
|
68
|
+
* (see [JACKSON-235]), we will need name of reference for
|
69
|
+
* later linking.
|
70
|
+
*/
|
71
|
+
protected String _managedReferenceName;
|
72
|
+
|
73
|
+
/**
|
74
|
+
* Index of property (within all property of a bean); assigned
|
75
|
+
* when all properties have been collected. Order of entries
|
76
|
+
* is arbitrary, but once indexes are assigned they are not
|
77
|
+
* changed.
|
78
|
+
*
|
79
|
+
* @since 1.7
|
80
|
+
*/
|
81
|
+
protected int _propertyIndex = -1;
|
82
|
+
|
83
|
+
/*
|
84
|
+
/**********************************************************
|
85
|
+
/* Life-cycle (construct & configure)
|
86
|
+
/**********************************************************
|
87
|
+
*/
|
88
|
+
|
89
|
+
protected SettableBeanProperty(String propName, JavaType type, TypeDeserializer typeDeser,
|
90
|
+
Annotations contextAnnotations)
|
91
|
+
{
|
92
|
+
/* 09-Jan-2009, tatu: Intern()ing makes sense since Jackson parsed
|
93
|
+
* field names are (usually) interned too, hence lookups will be faster.
|
94
|
+
*/
|
95
|
+
// 23-Oct-2009, tatu: should this be disabled wrt [JACKSON-180]?
|
96
|
+
if (propName == null || propName.length() == 0) {
|
97
|
+
_propName = "";
|
98
|
+
} else {
|
99
|
+
_propName = InternCache.instance.intern(propName);
|
100
|
+
}
|
101
|
+
_type = type;
|
102
|
+
_contextAnnotations = contextAnnotations;
|
103
|
+
_valueTypeDeserializer = typeDeser;
|
104
|
+
}
|
105
|
+
|
106
|
+
/**
|
107
|
+
* Basic copy-constructor for sub-classes to use.
|
108
|
+
*
|
109
|
+
* @since 1.9
|
110
|
+
*/
|
111
|
+
protected SettableBeanProperty(SettableBeanProperty src)
|
112
|
+
{
|
113
|
+
_propName = src._propName;
|
114
|
+
_type = src._type;
|
115
|
+
_contextAnnotations = src._contextAnnotations;
|
116
|
+
_valueDeserializer = src._valueDeserializer;
|
117
|
+
_valueTypeDeserializer = src._valueTypeDeserializer;
|
118
|
+
_nullProvider = src._nullProvider;
|
119
|
+
_managedReferenceName = src._managedReferenceName;
|
120
|
+
_propertyIndex = src._propertyIndex;
|
121
|
+
}
|
122
|
+
|
123
|
+
/**
|
124
|
+
* Copy-with-deserializer-change constructor for sub-classes to use.
|
125
|
+
*
|
126
|
+
* @since 1.9
|
127
|
+
*/
|
128
|
+
protected SettableBeanProperty(SettableBeanProperty src, JsonDeserializer<Object> deser)
|
129
|
+
{
|
130
|
+
_propName = src._propName;
|
131
|
+
_type = src._type;
|
132
|
+
_contextAnnotations = src._contextAnnotations;
|
133
|
+
_valueTypeDeserializer = src._valueTypeDeserializer;
|
134
|
+
_managedReferenceName = src._managedReferenceName;
|
135
|
+
_propertyIndex = src._propertyIndex;
|
136
|
+
|
137
|
+
_valueDeserializer = deser;
|
138
|
+
if (deser == null) {
|
139
|
+
_nullProvider = null;
|
140
|
+
} else {
|
141
|
+
Object nvl = deser.getNullValue();
|
142
|
+
_nullProvider = (nvl == null) ? null : new NullProvider(_type, nvl);
|
143
|
+
}
|
144
|
+
}
|
145
|
+
|
146
|
+
@Deprecated
|
147
|
+
public void setValueDeserializer(JsonDeserializer<Object> deser)
|
148
|
+
{
|
149
|
+
if (_valueDeserializer != null) { // sanity check
|
150
|
+
throw new IllegalStateException("Already had assigned deserializer for property '"+getName()+"' (class "+getDeclaringClass().getName()+")");
|
151
|
+
}
|
152
|
+
_valueDeserializer = deser;
|
153
|
+
Object nvl = _valueDeserializer.getNullValue();
|
154
|
+
_nullProvider = (nvl == null) ? null : new NullProvider(_type, nvl);
|
155
|
+
}
|
156
|
+
|
157
|
+
/**
|
158
|
+
* @since 1.9
|
159
|
+
*/
|
160
|
+
public abstract SettableBeanProperty withValueDeserializer(JsonDeserializer<Object> deser);
|
161
|
+
|
162
|
+
public void setManagedReferenceName(String n) {
|
163
|
+
_managedReferenceName = n;
|
164
|
+
}
|
165
|
+
|
166
|
+
/**
|
167
|
+
* Method used to assign index for property.
|
168
|
+
*
|
169
|
+
* @since 1.7
|
170
|
+
*/
|
171
|
+
public void assignIndex(int index) {
|
172
|
+
if (_propertyIndex != -1) {
|
173
|
+
throw new IllegalStateException("Property '"+getName()+"' already had index ("+_propertyIndex+"), trying to assign "+index);
|
174
|
+
}
|
175
|
+
_propertyIndex = index;
|
176
|
+
}
|
177
|
+
|
178
|
+
/*
|
179
|
+
/**********************************************************
|
180
|
+
/* BeanProperty impl
|
181
|
+
/**********************************************************
|
182
|
+
*/
|
183
|
+
|
184
|
+
@Override
|
185
|
+
public final String getName() { return _propName; }
|
186
|
+
|
187
|
+
@Override
|
188
|
+
public JavaType getType() { return _type; }
|
189
|
+
|
190
|
+
@Override
|
191
|
+
public abstract <A extends Annotation> A getAnnotation(Class<A> acls);
|
192
|
+
|
193
|
+
@Override
|
194
|
+
public abstract AnnotatedMember getMember();
|
195
|
+
|
196
|
+
@Override
|
197
|
+
public <A extends Annotation> A getContextAnnotation(Class<A> acls) {
|
198
|
+
return _contextAnnotations.get(acls);
|
199
|
+
}
|
200
|
+
|
201
|
+
/*
|
202
|
+
/**********************************************************
|
203
|
+
/* Accessors
|
204
|
+
/**********************************************************
|
205
|
+
*/
|
206
|
+
|
207
|
+
protected final Class<?> getDeclaringClass() {
|
208
|
+
return getMember().getDeclaringClass();
|
209
|
+
}
|
210
|
+
|
211
|
+
/**
|
212
|
+
* @deprecated Since 1.7, use {@link #getName} instead.
|
213
|
+
*/
|
214
|
+
@Deprecated
|
215
|
+
public String getPropertyName() { return _propName; }
|
216
|
+
|
217
|
+
public String getManagedReferenceName() { return _managedReferenceName; }
|
218
|
+
|
219
|
+
public boolean hasValueDeserializer() { return (_valueDeserializer != null); }
|
220
|
+
|
221
|
+
/**
|
222
|
+
* @since 1.9
|
223
|
+
*/
|
224
|
+
public boolean hasValueTypeDeserializer() { return (_valueTypeDeserializer != null); }
|
225
|
+
|
226
|
+
/**
|
227
|
+
* @since 1.9
|
228
|
+
*/
|
229
|
+
public JsonDeserializer<Object> getValueDeserializer() { return _valueDeserializer; }
|
230
|
+
|
231
|
+
/**
|
232
|
+
* @since 1.9
|
233
|
+
*/
|
234
|
+
public TypeDeserializer getValueTypeDeserializer() { return _valueTypeDeserializer; }
|
235
|
+
|
236
|
+
/**
|
237
|
+
* Method for accessing unique index of this property; indexes are
|
238
|
+
* assigned once all properties of a {@link BeanDeserializer} have
|
239
|
+
* been collected.
|
240
|
+
*
|
241
|
+
* @return Index of this property
|
242
|
+
*
|
243
|
+
* @since 1.7 Although note that it was misspelled as "getProperytIndex"; fixed in 1.9
|
244
|
+
*/
|
245
|
+
public int getPropertyIndex() { return _propertyIndex; }
|
246
|
+
|
247
|
+
/**
|
248
|
+
* @deprecated Since 1.9: use {@link #getPropertyIndex} instead
|
249
|
+
*/
|
250
|
+
@Deprecated
|
251
|
+
public int getProperytIndex() { return getPropertyIndex(); }
|
252
|
+
|
253
|
+
/**
|
254
|
+
* Accessor for id of injectable value, if this bean property supports
|
255
|
+
* value injection.
|
256
|
+
*
|
257
|
+
* @since 1.9
|
258
|
+
*/
|
259
|
+
public Object getInjectableValueId() { return null; }
|
260
|
+
|
261
|
+
/*
|
262
|
+
/**********************************************************
|
263
|
+
/* Public API
|
264
|
+
/**********************************************************
|
265
|
+
*/
|
266
|
+
|
267
|
+
/**
|
268
|
+
* Method called to deserialize appropriate value, given parser (and
|
269
|
+
* context), and set it using appropriate mechanism.
|
270
|
+
* Pre-condition is that passed parser must point to the first token
|
271
|
+
* that should be consumed to produce the value (the only value for
|
272
|
+
* scalars, multiple for Objects and Arrays).
|
273
|
+
*/
|
274
|
+
public abstract void deserializeAndSet(JsonParser jp, DeserializationContext ctxt,
|
275
|
+
Object instance)
|
276
|
+
throws IOException, JsonProcessingException;
|
277
|
+
|
278
|
+
public abstract void set(Object instance, Object value)
|
279
|
+
throws IOException;
|
280
|
+
|
281
|
+
/**
|
282
|
+
* This method is needed by some specialized bean deserializers,
|
283
|
+
* and also called by some {@link #deserializeAndSet} implementations.
|
284
|
+
*<p>
|
285
|
+
* Pre-condition is that passed parser must point to the first token
|
286
|
+
* that should be consumed to produce the value (the only value for
|
287
|
+
* scalars, multiple for Objects and Arrays).
|
288
|
+
*/
|
289
|
+
public final Object deserialize(JsonParser jp, DeserializationContext ctxt)
|
290
|
+
throws IOException, JsonProcessingException
|
291
|
+
{
|
292
|
+
JsonToken t = jp.getCurrentToken();
|
293
|
+
if (t == JsonToken.VALUE_NULL) {
|
294
|
+
return (_nullProvider == null) ? null : _nullProvider.nullValue(ctxt);
|
295
|
+
}
|
296
|
+
if (_valueTypeDeserializer != null) {
|
297
|
+
return _valueDeserializer.deserializeWithType(jp, ctxt, _valueTypeDeserializer);
|
298
|
+
}
|
299
|
+
return _valueDeserializer.deserialize(jp, ctxt);
|
300
|
+
}
|
301
|
+
|
302
|
+
/*
|
303
|
+
/**********************************************************
|
304
|
+
/* Helper methods
|
305
|
+
/**********************************************************
|
306
|
+
*/
|
307
|
+
|
308
|
+
/**
|
309
|
+
* Method that takes in exception of any type, and casts or wraps it
|
310
|
+
* to an IOException or its subclass.
|
311
|
+
*/
|
312
|
+
protected void _throwAsIOE(Exception e, Object value)
|
313
|
+
throws IOException
|
314
|
+
{
|
315
|
+
if (e instanceof IllegalArgumentException) {
|
316
|
+
String actType = (value == null) ? "[NULL]" : value.getClass().getName();
|
317
|
+
StringBuilder msg = new StringBuilder("Problem deserializing property '").append(getPropertyName());
|
318
|
+
msg.append("' (expected type: ").append(getType());
|
319
|
+
msg.append("; actual type: ").append(actType).append(")");
|
320
|
+
String origMsg = e.getMessage();
|
321
|
+
if (origMsg != null) {
|
322
|
+
msg.append(", problem: ").append(origMsg);
|
323
|
+
} else {
|
324
|
+
msg.append(" (no error message provided)");
|
325
|
+
}
|
326
|
+
throw new JsonMappingException(msg.toString(), null, e);
|
327
|
+
}
|
328
|
+
_throwAsIOE(e);
|
329
|
+
}
|
330
|
+
|
331
|
+
protected IOException _throwAsIOE(Exception e)
|
332
|
+
throws IOException
|
333
|
+
{
|
334
|
+
if (e instanceof IOException) {
|
335
|
+
throw (IOException) e;
|
336
|
+
}
|
337
|
+
if (e instanceof RuntimeException) {
|
338
|
+
throw (RuntimeException) e;
|
339
|
+
}
|
340
|
+
// let's wrap the innermost problem
|
341
|
+
Throwable th = e;
|
342
|
+
while (th.getCause() != null) {
|
343
|
+
th = th.getCause();
|
344
|
+
}
|
345
|
+
throw new JsonMappingException(th.getMessage(), null, th);
|
346
|
+
}
|
347
|
+
|
348
|
+
@Override public String toString() { return "[property '"+getName()+"']"; }
|
349
|
+
|
350
|
+
/*
|
351
|
+
/**********************************************************
|
352
|
+
/* Implementation classes
|
353
|
+
/**********************************************************
|
354
|
+
*/
|
355
|
+
|
356
|
+
/**
|
357
|
+
* This concrete sub-class implements property that is set
|
358
|
+
* using regular "setter" method.
|
359
|
+
*/
|
360
|
+
public final static class MethodProperty
|
361
|
+
extends SettableBeanProperty
|
362
|
+
{
|
363
|
+
protected final AnnotatedMethod _annotated;
|
364
|
+
|
365
|
+
/**
|
366
|
+
* Setter method for modifying property value; used for
|
367
|
+
* "regular" method-accessible properties.
|
368
|
+
*/
|
369
|
+
protected final Method _setter;
|
370
|
+
|
371
|
+
public MethodProperty(String name, JavaType type, TypeDeserializer typeDeser,
|
372
|
+
Annotations contextAnnotations, AnnotatedMethod method)
|
373
|
+
{
|
374
|
+
super(name, type, typeDeser, contextAnnotations);
|
375
|
+
_annotated = method;
|
376
|
+
_setter = method.getAnnotated();
|
377
|
+
}
|
378
|
+
|
379
|
+
protected MethodProperty(MethodProperty src, JsonDeserializer<Object> deser) {
|
380
|
+
super(src, deser);
|
381
|
+
_annotated = src._annotated;
|
382
|
+
_setter = src._setter;
|
383
|
+
}
|
384
|
+
|
385
|
+
@Override
|
386
|
+
public MethodProperty withValueDeserializer(JsonDeserializer<Object> deser) {
|
387
|
+
return new MethodProperty(this, deser);
|
388
|
+
}
|
389
|
+
|
390
|
+
/*
|
391
|
+
/**********************************************************
|
392
|
+
/* BeanProperty impl
|
393
|
+
/**********************************************************
|
394
|
+
*/
|
395
|
+
|
396
|
+
@Override
|
397
|
+
public <A extends Annotation> A getAnnotation(Class<A> acls) {
|
398
|
+
return _annotated.getAnnotation(acls);
|
399
|
+
}
|
400
|
+
|
401
|
+
@Override public AnnotatedMember getMember() { return _annotated; }
|
402
|
+
|
403
|
+
/*
|
404
|
+
/**********************************************************
|
405
|
+
/* Overridden methods
|
406
|
+
/**********************************************************
|
407
|
+
*/
|
408
|
+
|
409
|
+
@Override
|
410
|
+
public void deserializeAndSet(JsonParser jp, DeserializationContext ctxt,
|
411
|
+
Object instance)
|
412
|
+
throws IOException, JsonProcessingException
|
413
|
+
{
|
414
|
+
set(instance, deserialize(jp, ctxt));
|
415
|
+
}
|
416
|
+
|
417
|
+
@Override
|
418
|
+
public final void set(Object instance, Object value)
|
419
|
+
throws IOException
|
420
|
+
{
|
421
|
+
try {
|
422
|
+
_setter.invoke(instance, value);
|
423
|
+
} catch (Exception e) {
|
424
|
+
_throwAsIOE(e, value);
|
425
|
+
}
|
426
|
+
}
|
427
|
+
}
|
428
|
+
|
429
|
+
/**
|
430
|
+
* This concrete sub-class implements Collection or Map property that is
|
431
|
+
* indirectly by getting the property value and directly modifying it.
|
432
|
+
*/
|
433
|
+
public final static class SetterlessProperty
|
434
|
+
extends SettableBeanProperty
|
435
|
+
{
|
436
|
+
protected final AnnotatedMethod _annotated;
|
437
|
+
|
438
|
+
/**
|
439
|
+
* Get method for accessing property value used to access property
|
440
|
+
* (of Collection or Map type) to modify.
|
441
|
+
*/
|
442
|
+
protected final Method _getter;
|
443
|
+
|
444
|
+
public SetterlessProperty(String name, JavaType type, TypeDeserializer typeDeser,
|
445
|
+
Annotations contextAnnotations, AnnotatedMethod method)
|
446
|
+
{
|
447
|
+
super(name, type, typeDeser, contextAnnotations);
|
448
|
+
_annotated = method;
|
449
|
+
_getter = method.getAnnotated();
|
450
|
+
}
|
451
|
+
|
452
|
+
protected SetterlessProperty(SetterlessProperty src, JsonDeserializer<Object> deser) {
|
453
|
+
super(src, deser);
|
454
|
+
_annotated = src._annotated;
|
455
|
+
_getter = src._getter;
|
456
|
+
}
|
457
|
+
|
458
|
+
@Override
|
459
|
+
public SetterlessProperty withValueDeserializer(JsonDeserializer<Object> deser) {
|
460
|
+
return new SetterlessProperty(this, deser);
|
461
|
+
}
|
462
|
+
|
463
|
+
/*
|
464
|
+
/**********************************************************
|
465
|
+
/* BeanProperty impl
|
466
|
+
/**********************************************************
|
467
|
+
*/
|
468
|
+
|
469
|
+
@Override
|
470
|
+
public <A extends Annotation> A getAnnotation(Class<A> acls) {
|
471
|
+
return _annotated.getAnnotation(acls);
|
472
|
+
}
|
473
|
+
|
474
|
+
@Override public AnnotatedMember getMember() { return _annotated; }
|
475
|
+
|
476
|
+
/*
|
477
|
+
/**********************************************************
|
478
|
+
/* Overridden methods
|
479
|
+
/**********************************************************
|
480
|
+
*/
|
481
|
+
|
482
|
+
@Override
|
483
|
+
public final void deserializeAndSet(JsonParser jp, DeserializationContext ctxt,
|
484
|
+
Object instance)
|
485
|
+
throws IOException, JsonProcessingException
|
486
|
+
{
|
487
|
+
JsonToken t = jp.getCurrentToken();
|
488
|
+
if (t == JsonToken.VALUE_NULL) {
|
489
|
+
/* Hmmh. Is this a problem? We won't be setting anything, so it's
|
490
|
+
* equivalent of empty Collection/Map in this case
|
491
|
+
*/
|
492
|
+
return;
|
493
|
+
}
|
494
|
+
|
495
|
+
// Ok: then, need to fetch Collection/Map to modify:
|
496
|
+
Object toModify;
|
497
|
+
try {
|
498
|
+
toModify = _getter.invoke(instance);
|
499
|
+
} catch (Exception e) {
|
500
|
+
_throwAsIOE(e);
|
501
|
+
return; // never gets here
|
502
|
+
}
|
503
|
+
/* Note: null won't work, since we can't then inject anything
|
504
|
+
* in. At least that's not good in common case. However,
|
505
|
+
* theoretically the case where we get JSON null might
|
506
|
+
* be compatible. If so, implementation could be changed.
|
507
|
+
*/
|
508
|
+
if (toModify == null) {
|
509
|
+
throw new JsonMappingException("Problem deserializing 'setterless' property '"+getName()+"': get method returned null");
|
510
|
+
}
|
511
|
+
_valueDeserializer.deserialize(jp, ctxt, toModify);
|
512
|
+
}
|
513
|
+
|
514
|
+
@Override
|
515
|
+
public final void set(Object instance, Object value)
|
516
|
+
throws IOException
|
517
|
+
{
|
518
|
+
throw new UnsupportedOperationException("Should never call 'set' on setterless property");
|
519
|
+
}
|
520
|
+
}
|
521
|
+
|
522
|
+
/**
|
523
|
+
* This concrete sub-class implements property that is set
|
524
|
+
* directly assigning to a Field.
|
525
|
+
*/
|
526
|
+
public final static class FieldProperty
|
527
|
+
extends SettableBeanProperty
|
528
|
+
{
|
529
|
+
protected final AnnotatedField _annotated;
|
530
|
+
|
531
|
+
/**
|
532
|
+
* Actual field to set when deserializing this property.
|
533
|
+
*/
|
534
|
+
protected final Field _field;
|
535
|
+
|
536
|
+
public FieldProperty(String name, JavaType type, TypeDeserializer typeDeser,
|
537
|
+
Annotations contextAnnotations, AnnotatedField field)
|
538
|
+
{
|
539
|
+
super(name, type, typeDeser, contextAnnotations);
|
540
|
+
_annotated = field;
|
541
|
+
_field = field.getAnnotated();
|
542
|
+
}
|
543
|
+
|
544
|
+
protected FieldProperty(FieldProperty src, JsonDeserializer<Object> deser) {
|
545
|
+
super(src, deser);
|
546
|
+
_annotated = src._annotated;
|
547
|
+
_field = src._field;
|
548
|
+
}
|
549
|
+
|
550
|
+
@Override
|
551
|
+
public FieldProperty withValueDeserializer(JsonDeserializer<Object> deser) {
|
552
|
+
return new FieldProperty(this, deser);
|
553
|
+
}
|
554
|
+
|
555
|
+
/*
|
556
|
+
/**********************************************************
|
557
|
+
/* BeanProperty impl
|
558
|
+
/**********************************************************
|
559
|
+
*/
|
560
|
+
|
561
|
+
@Override
|
562
|
+
public <A extends Annotation> A getAnnotation(Class<A> acls) {
|
563
|
+
return _annotated.getAnnotation(acls);
|
564
|
+
}
|
565
|
+
|
566
|
+
@Override public AnnotatedMember getMember() { return _annotated; }
|
567
|
+
|
568
|
+
/*
|
569
|
+
/**********************************************************
|
570
|
+
/* Overridden methods
|
571
|
+
/**********************************************************
|
572
|
+
*/
|
573
|
+
|
574
|
+
@Override
|
575
|
+
public void deserializeAndSet(JsonParser jp, DeserializationContext ctxt,
|
576
|
+
Object instance)
|
577
|
+
throws IOException, JsonProcessingException
|
578
|
+
{
|
579
|
+
set(instance, deserialize(jp, ctxt));
|
580
|
+
}
|
581
|
+
|
582
|
+
@Override
|
583
|
+
public final void set(Object instance, Object value)
|
584
|
+
throws IOException
|
585
|
+
{
|
586
|
+
try {
|
587
|
+
_field.set(instance, value);
|
588
|
+
} catch (Exception e) {
|
589
|
+
_throwAsIOE(e, value);
|
590
|
+
}
|
591
|
+
}
|
592
|
+
}
|
593
|
+
|
594
|
+
/**
|
595
|
+
* Wrapper property that is used to handle managed (forward) properties
|
596
|
+
* (see [JACKSON-235] for more information). Basically just need to
|
597
|
+
* delegate first to actual forward property, and
|
598
|
+
*
|
599
|
+
* @author tatu
|
600
|
+
*/
|
601
|
+
public final static class ManagedReferenceProperty
|
602
|
+
extends SettableBeanProperty
|
603
|
+
{
|
604
|
+
protected final String _referenceName;
|
605
|
+
|
606
|
+
/**
|
607
|
+
* Flag that indicates whether property to handle is a container type
|
608
|
+
* (array, Collection, Map) or not.
|
609
|
+
*/
|
610
|
+
protected final boolean _isContainer;
|
611
|
+
|
612
|
+
protected final SettableBeanProperty _managedProperty;
|
613
|
+
|
614
|
+
protected final SettableBeanProperty _backProperty;
|
615
|
+
|
616
|
+
public ManagedReferenceProperty(String refName,
|
617
|
+
SettableBeanProperty forward, SettableBeanProperty backward,
|
618
|
+
Annotations contextAnnotations,
|
619
|
+
boolean isContainer)
|
620
|
+
{
|
621
|
+
super(forward.getName(), forward.getType(), forward._valueTypeDeserializer,
|
622
|
+
contextAnnotations);
|
623
|
+
_referenceName = refName;
|
624
|
+
_managedProperty = forward;
|
625
|
+
_backProperty = backward;
|
626
|
+
_isContainer = isContainer;
|
627
|
+
}
|
628
|
+
|
629
|
+
protected ManagedReferenceProperty(ManagedReferenceProperty src, JsonDeserializer<Object> deser)
|
630
|
+
{
|
631
|
+
super(src, deser);
|
632
|
+
_referenceName = src._referenceName;
|
633
|
+
_isContainer = src._isContainer;
|
634
|
+
_managedProperty = src._managedProperty;
|
635
|
+
_backProperty = src._backProperty;
|
636
|
+
}
|
637
|
+
|
638
|
+
@Override
|
639
|
+
public ManagedReferenceProperty withValueDeserializer(JsonDeserializer<Object> deser) {
|
640
|
+
return new ManagedReferenceProperty(this, deser);
|
641
|
+
}
|
642
|
+
|
643
|
+
/*
|
644
|
+
/**********************************************************
|
645
|
+
/* BeanProperty impl
|
646
|
+
/**********************************************************
|
647
|
+
*/
|
648
|
+
|
649
|
+
@Override
|
650
|
+
public <A extends Annotation> A getAnnotation(Class<A> acls) {
|
651
|
+
return _managedProperty.getAnnotation(acls);
|
652
|
+
}
|
653
|
+
|
654
|
+
@Override public AnnotatedMember getMember() { return _managedProperty.getMember(); }
|
655
|
+
|
656
|
+
/*
|
657
|
+
/**********************************************************
|
658
|
+
/* Overridden methods
|
659
|
+
/**********************************************************
|
660
|
+
*/
|
661
|
+
|
662
|
+
@Override
|
663
|
+
public void deserializeAndSet(JsonParser jp, DeserializationContext ctxt,
|
664
|
+
Object instance)
|
665
|
+
throws IOException, JsonProcessingException
|
666
|
+
{
|
667
|
+
set(instance, _managedProperty.deserialize(jp, ctxt));
|
668
|
+
}
|
669
|
+
|
670
|
+
@Override
|
671
|
+
public final void set(Object instance, Object value)
|
672
|
+
throws IOException
|
673
|
+
{
|
674
|
+
_managedProperty.set(instance, value);
|
675
|
+
/* And then back reference, if (and only if!) we actually have a non-null
|
676
|
+
* reference
|
677
|
+
*/
|
678
|
+
if (value != null) {
|
679
|
+
if (_isContainer) { // ok, this gets ugly... but has to do for now
|
680
|
+
if (value instanceof Object[]) {
|
681
|
+
for (Object ob : (Object[]) value) {
|
682
|
+
if (ob != null) {
|
683
|
+
_backProperty.set(ob, instance);
|
684
|
+
}
|
685
|
+
}
|
686
|
+
} else if (value instanceof Collection<?>) {
|
687
|
+
for (Object ob : (Collection<?>) value) {
|
688
|
+
if (ob != null) {
|
689
|
+
_backProperty.set(ob, instance);
|
690
|
+
}
|
691
|
+
}
|
692
|
+
} else if (value instanceof Map<?,?>) {
|
693
|
+
for (Object ob : ((Map<?,?>) value).values()) {
|
694
|
+
if (ob != null) {
|
695
|
+
_backProperty.set(ob, instance);
|
696
|
+
}
|
697
|
+
}
|
698
|
+
} else {
|
699
|
+
throw new IllegalStateException("Unsupported container type ("+value.getClass().getName()
|
700
|
+
+") when resolving reference '"+_referenceName+"'");
|
701
|
+
}
|
702
|
+
} else {
|
703
|
+
_backProperty.set(value, instance);
|
704
|
+
}
|
705
|
+
}
|
706
|
+
}
|
707
|
+
}
|
708
|
+
|
709
|
+
/**
|
710
|
+
* This sub-class is used to handle special case of value being a
|
711
|
+
* non-static inner class. If so, we will have to use a special
|
712
|
+
* alternative for default constructor; but otherwise can delegate
|
713
|
+
* to regular implementation.
|
714
|
+
*
|
715
|
+
* @since 1.9
|
716
|
+
*/
|
717
|
+
public final static class InnerClassProperty
|
718
|
+
extends SettableBeanProperty
|
719
|
+
{
|
720
|
+
/**
|
721
|
+
* Actual property that we use after value construction.
|
722
|
+
*/
|
723
|
+
protected final SettableBeanProperty _delegate;
|
724
|
+
|
725
|
+
/**
|
726
|
+
* Single-arg constructor we use for value instantiation.
|
727
|
+
*/
|
728
|
+
protected final Constructor<?> _creator;
|
729
|
+
|
730
|
+
public InnerClassProperty(SettableBeanProperty delegate,
|
731
|
+
Constructor<?> ctor)
|
732
|
+
{
|
733
|
+
super(delegate);
|
734
|
+
_delegate = delegate;
|
735
|
+
_creator = ctor;
|
736
|
+
}
|
737
|
+
|
738
|
+
protected InnerClassProperty(InnerClassProperty src, JsonDeserializer<Object> deser)
|
739
|
+
{
|
740
|
+
super(src, deser);
|
741
|
+
_delegate = src._delegate.withValueDeserializer(deser);
|
742
|
+
_creator = src._creator;
|
743
|
+
}
|
744
|
+
|
745
|
+
@Override
|
746
|
+
public InnerClassProperty withValueDeserializer(JsonDeserializer<Object> deser) {
|
747
|
+
return new InnerClassProperty(this, deser);
|
748
|
+
}
|
749
|
+
|
750
|
+
// // // BeanProperty impl
|
751
|
+
|
752
|
+
@Override
|
753
|
+
public <A extends Annotation> A getAnnotation(Class<A> acls) {
|
754
|
+
return _delegate.getAnnotation(acls);
|
755
|
+
}
|
756
|
+
|
757
|
+
@Override public AnnotatedMember getMember() { return _delegate.getMember(); }
|
758
|
+
|
759
|
+
// // // Overridden methods
|
760
|
+
|
761
|
+
@Override
|
762
|
+
public void deserializeAndSet(JsonParser jp, DeserializationContext ctxt,
|
763
|
+
Object bean)
|
764
|
+
throws IOException, JsonProcessingException
|
765
|
+
{
|
766
|
+
// mostly copied from super class impl:
|
767
|
+
JsonToken t = jp.getCurrentToken();
|
768
|
+
Object value;
|
769
|
+
if (t == JsonToken.VALUE_NULL) {
|
770
|
+
value = (_nullProvider == null) ? null : _nullProvider.nullValue(ctxt);
|
771
|
+
} else if (_valueTypeDeserializer != null) {
|
772
|
+
value = _valueDeserializer.deserializeWithType(jp, ctxt, _valueTypeDeserializer);
|
773
|
+
} else { // the usual case
|
774
|
+
try {
|
775
|
+
value = _creator.newInstance(bean);
|
776
|
+
} catch (Exception e) {
|
777
|
+
ClassUtil.unwrapAndThrowAsIAE(e, "Failed to instantiate class "+_creator.getDeclaringClass().getName()+", problem: "+e.getMessage());
|
778
|
+
value = null;
|
779
|
+
}
|
780
|
+
_valueDeserializer.deserialize(jp, ctxt, value);
|
781
|
+
}
|
782
|
+
set(bean, value);
|
783
|
+
}
|
784
|
+
|
785
|
+
@Override
|
786
|
+
public final void set(Object instance, Object value) throws IOException
|
787
|
+
{
|
788
|
+
_delegate.set(instance, value);
|
789
|
+
}
|
790
|
+
}
|
791
|
+
|
792
|
+
/*
|
793
|
+
/**********************************************************
|
794
|
+
/* Other helper classes
|
795
|
+
/**********************************************************
|
796
|
+
*/
|
797
|
+
|
798
|
+
/**
|
799
|
+
* To support [JACKSON-420] we need bit more indirection; this is used to produce
|
800
|
+
* artificial failure for primitives that don't accept JSON null as value.
|
801
|
+
*/
|
802
|
+
protected final static class NullProvider
|
803
|
+
{
|
804
|
+
private final Object _nullValue;
|
805
|
+
|
806
|
+
private final boolean _isPrimitive;
|
807
|
+
|
808
|
+
private final Class<?> _rawType;
|
809
|
+
|
810
|
+
protected NullProvider(JavaType type, Object nullValue)
|
811
|
+
{
|
812
|
+
_nullValue = nullValue;
|
813
|
+
// [JACKSON-420]
|
814
|
+
_isPrimitive = type.isPrimitive();
|
815
|
+
_rawType = type.getRawClass();
|
816
|
+
}
|
817
|
+
|
818
|
+
public Object nullValue(DeserializationContext ctxt) throws JsonProcessingException
|
819
|
+
{
|
820
|
+
if (_isPrimitive && ctxt.isEnabled(DeserializationConfig.Feature.FAIL_ON_NULL_FOR_PRIMITIVES)) {
|
821
|
+
throw ctxt.mappingException("Can not map JSON null into type "+_rawType.getName()
|
822
|
+
+" (set DeserializationConfig.Feature.FAIL_ON_NULL_FOR_PRIMITIVES to 'false' to allow)");
|
823
|
+
}
|
824
|
+
return _nullValue;
|
825
|
+
}
|
826
|
+
}
|
827
|
+
}
|