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,364 @@
|
|
1
|
+
package sh.calaba.org.codehaus.jackson.map.introspect;
|
2
|
+
|
3
|
+
import java.lang.reflect.Method;
|
4
|
+
import java.lang.reflect.Modifier;
|
5
|
+
import java.util.*;
|
6
|
+
|
7
|
+
import sh.calaba.org.codehaus.jackson.map.AnnotationIntrospector;
|
8
|
+
import sh.calaba.org.codehaus.jackson.map.ClassIntrospector;
|
9
|
+
import sh.calaba.org.codehaus.jackson.map.DeserializationConfig;
|
10
|
+
import sh.calaba.org.codehaus.jackson.map.MapperConfig;
|
11
|
+
import sh.calaba.org.codehaus.jackson.map.SerializationConfig;
|
12
|
+
import sh.calaba.org.codehaus.jackson.map.type.SimpleType;
|
13
|
+
import sh.calaba.org.codehaus.jackson.map.util.ClassUtil;
|
14
|
+
import sh.calaba.org.codehaus.jackson.type.JavaType;
|
15
|
+
|
16
|
+
public class BasicClassIntrospector
|
17
|
+
extends ClassIntrospector<BasicBeanDescription>
|
18
|
+
{
|
19
|
+
/* We keep a small set of pre-constructed descriptions to use for
|
20
|
+
* common non-structured values, such as Numbers and Strings.
|
21
|
+
* This is strictly performance optimization to reduce what is
|
22
|
+
* usually one-time cost, but seems useful for some cases considering
|
23
|
+
* simplicity.
|
24
|
+
*/
|
25
|
+
|
26
|
+
protected final static BasicBeanDescription STRING_DESC;
|
27
|
+
static {
|
28
|
+
AnnotatedClass ac = AnnotatedClass.constructWithoutSuperTypes(String.class, null, null);
|
29
|
+
STRING_DESC = BasicBeanDescription.forOtherUse(null, SimpleType.constructUnsafe(String.class), ac);
|
30
|
+
}
|
31
|
+
protected final static BasicBeanDescription BOOLEAN_DESC;
|
32
|
+
static {
|
33
|
+
AnnotatedClass ac = AnnotatedClass.constructWithoutSuperTypes(Boolean.TYPE, null, null);
|
34
|
+
BOOLEAN_DESC = BasicBeanDescription.forOtherUse(null, SimpleType.constructUnsafe(Boolean.TYPE), ac);
|
35
|
+
}
|
36
|
+
protected final static BasicBeanDescription INT_DESC;
|
37
|
+
static {
|
38
|
+
AnnotatedClass ac = AnnotatedClass.constructWithoutSuperTypes(Integer.TYPE, null, null);
|
39
|
+
INT_DESC = BasicBeanDescription.forOtherUse(null, SimpleType.constructUnsafe(Integer.TYPE), ac);
|
40
|
+
}
|
41
|
+
protected final static BasicBeanDescription LONG_DESC;
|
42
|
+
static {
|
43
|
+
AnnotatedClass ac = AnnotatedClass.constructWithoutSuperTypes(Long.TYPE, null, null);
|
44
|
+
LONG_DESC = BasicBeanDescription.forOtherUse(null, SimpleType.constructUnsafe(Long.TYPE), ac);
|
45
|
+
}
|
46
|
+
|
47
|
+
|
48
|
+
// // // Then static filter singletons
|
49
|
+
|
50
|
+
/**
|
51
|
+
* @since 1.8
|
52
|
+
* @deprecated Since 1.9 just don't use
|
53
|
+
*/
|
54
|
+
@Deprecated
|
55
|
+
public final static GetterMethodFilter DEFAULT_GETTER_FILTER = new GetterMethodFilter();
|
56
|
+
|
57
|
+
/**
|
58
|
+
* @since 1.8
|
59
|
+
* @deprecated Since 1.9 just don't use
|
60
|
+
*/
|
61
|
+
@Deprecated
|
62
|
+
public final static SetterMethodFilter DEFAULT_SETTER_FILTER = new SetterMethodFilter();
|
63
|
+
|
64
|
+
/**
|
65
|
+
* @since 1.8
|
66
|
+
* @deprecated Since 1.9 just don't use
|
67
|
+
*/
|
68
|
+
@Deprecated
|
69
|
+
public final static SetterAndGetterMethodFilter DEFAULT_SETTER_AND_GETTER_FILTER = new SetterAndGetterMethodFilter();
|
70
|
+
|
71
|
+
protected final static MethodFilter MINIMAL_FILTER = new MinimalMethodFilter();
|
72
|
+
|
73
|
+
/*
|
74
|
+
/**********************************************************
|
75
|
+
/* Life cycle
|
76
|
+
/**********************************************************
|
77
|
+
*/
|
78
|
+
|
79
|
+
public final static BasicClassIntrospector instance = new BasicClassIntrospector();
|
80
|
+
|
81
|
+
public BasicClassIntrospector() { }
|
82
|
+
|
83
|
+
/*
|
84
|
+
/**********************************************************
|
85
|
+
/* Factory method impls
|
86
|
+
/**********************************************************
|
87
|
+
*/
|
88
|
+
|
89
|
+
@Override
|
90
|
+
public BasicBeanDescription forSerialization(SerializationConfig cfg,
|
91
|
+
JavaType type, MixInResolver r)
|
92
|
+
{
|
93
|
+
// minor optimization: for JDK types do minimal introspection
|
94
|
+
BasicBeanDescription desc = _findCachedDesc(type);
|
95
|
+
if (desc == null) {
|
96
|
+
desc = BasicBeanDescription.forSerialization(collectProperties(cfg, type, r, true));
|
97
|
+
}
|
98
|
+
return desc;
|
99
|
+
}
|
100
|
+
|
101
|
+
@Override
|
102
|
+
public BasicBeanDescription forDeserialization(DeserializationConfig cfg,
|
103
|
+
JavaType type, MixInResolver r)
|
104
|
+
{
|
105
|
+
// minor optimization: for JDK types do minimal introspection
|
106
|
+
BasicBeanDescription desc = _findCachedDesc(type);
|
107
|
+
if (desc == null) {
|
108
|
+
desc = BasicBeanDescription.forDeserialization(collectProperties(cfg, type, r, false));
|
109
|
+
}
|
110
|
+
return desc;
|
111
|
+
}
|
112
|
+
|
113
|
+
@Override
|
114
|
+
public BasicBeanDescription forCreation(DeserializationConfig cfg,
|
115
|
+
JavaType type, MixInResolver r)
|
116
|
+
{
|
117
|
+
BasicBeanDescription desc = _findCachedDesc(type);
|
118
|
+
if (desc == null) {
|
119
|
+
desc = BasicBeanDescription.forDeserialization(collectProperties(cfg, type, r, false));
|
120
|
+
}
|
121
|
+
return desc;
|
122
|
+
}
|
123
|
+
|
124
|
+
@Override
|
125
|
+
public BasicBeanDescription forClassAnnotations(MapperConfig<?> cfg,
|
126
|
+
JavaType type, MixInResolver r)
|
127
|
+
{
|
128
|
+
boolean useAnnotations = cfg.isAnnotationProcessingEnabled();
|
129
|
+
AnnotationIntrospector ai = cfg.getAnnotationIntrospector();
|
130
|
+
AnnotatedClass ac = AnnotatedClass.construct(type.getRawClass(), (useAnnotations ? ai : null), r);
|
131
|
+
return BasicBeanDescription.forOtherUse(cfg, type, ac);
|
132
|
+
}
|
133
|
+
|
134
|
+
@Override
|
135
|
+
public BasicBeanDescription forDirectClassAnnotations(MapperConfig<?> cfg,
|
136
|
+
JavaType type, MixInResolver r)
|
137
|
+
{
|
138
|
+
boolean useAnnotations = cfg.isAnnotationProcessingEnabled();
|
139
|
+
AnnotationIntrospector ai = cfg.getAnnotationIntrospector();
|
140
|
+
AnnotatedClass ac = AnnotatedClass.constructWithoutSuperTypes(type.getRawClass(),
|
141
|
+
(useAnnotations ? ai : null), r);
|
142
|
+
return BasicBeanDescription.forOtherUse(cfg, type, ac);
|
143
|
+
}
|
144
|
+
|
145
|
+
/*
|
146
|
+
/**********************************************************
|
147
|
+
/* Overridable helper methods
|
148
|
+
/**********************************************************
|
149
|
+
*/
|
150
|
+
|
151
|
+
/**
|
152
|
+
* @since 1.9
|
153
|
+
*/
|
154
|
+
public POJOPropertiesCollector collectProperties(MapperConfig<?> config,
|
155
|
+
JavaType type, MixInResolver r, boolean forSerialization)
|
156
|
+
{
|
157
|
+
AnnotatedClass ac = classWithCreators(config, type, r);
|
158
|
+
ac.resolveMemberMethods(MINIMAL_FILTER);
|
159
|
+
ac.resolveFields();
|
160
|
+
return constructPropertyCollector(config, ac, type, forSerialization).collect();
|
161
|
+
}
|
162
|
+
|
163
|
+
/**
|
164
|
+
* Overridable method called for creating {@link POJOPropertiesCollector} instance
|
165
|
+
* to use; override is needed if a custom sub-class is to be used.
|
166
|
+
*
|
167
|
+
* @since 1.9
|
168
|
+
*/
|
169
|
+
protected POJOPropertiesCollector constructPropertyCollector(MapperConfig<?> config,
|
170
|
+
AnnotatedClass ac, JavaType type,
|
171
|
+
boolean forSerialization)
|
172
|
+
{
|
173
|
+
return new POJOPropertiesCollector(config, forSerialization, type, ac);
|
174
|
+
}
|
175
|
+
|
176
|
+
/**
|
177
|
+
* @since 1.9
|
178
|
+
*/
|
179
|
+
public AnnotatedClass classWithCreators(MapperConfig<?> config,
|
180
|
+
JavaType type, MixInResolver r)
|
181
|
+
{
|
182
|
+
boolean useAnnotations = config.isAnnotationProcessingEnabled();
|
183
|
+
AnnotationIntrospector ai = config.getAnnotationIntrospector();
|
184
|
+
AnnotatedClass ac = AnnotatedClass.construct(type.getRawClass(), (useAnnotations ? ai : null), r);
|
185
|
+
ac.resolveMemberMethods(MINIMAL_FILTER);
|
186
|
+
// true -> include all creators, not just default constructor
|
187
|
+
ac.resolveCreators(true);
|
188
|
+
return ac;
|
189
|
+
}
|
190
|
+
|
191
|
+
/**
|
192
|
+
* Method called to see if type is one of core JDK types
|
193
|
+
* that we have cached for efficiency.
|
194
|
+
*
|
195
|
+
* @since 1.9
|
196
|
+
*/
|
197
|
+
protected BasicBeanDescription _findCachedDesc(JavaType type)
|
198
|
+
{
|
199
|
+
Class<?> cls = type.getRawClass();
|
200
|
+
if (cls == String.class) {
|
201
|
+
return STRING_DESC;
|
202
|
+
}
|
203
|
+
if (cls == Boolean.TYPE) {
|
204
|
+
return BOOLEAN_DESC;
|
205
|
+
}
|
206
|
+
if (cls == Integer.TYPE) {
|
207
|
+
return INT_DESC;
|
208
|
+
}
|
209
|
+
if (cls == Long.TYPE) {
|
210
|
+
return LONG_DESC;
|
211
|
+
}
|
212
|
+
return null;
|
213
|
+
}
|
214
|
+
|
215
|
+
/**
|
216
|
+
* Helper method for getting access to filter that only guarantees
|
217
|
+
* that methods used for serialization are to be included.
|
218
|
+
*
|
219
|
+
* @deprecated Since 1.9 just don't use
|
220
|
+
*/
|
221
|
+
@Deprecated
|
222
|
+
protected MethodFilter getSerializationMethodFilter(SerializationConfig cfg)
|
223
|
+
{
|
224
|
+
return DEFAULT_GETTER_FILTER;
|
225
|
+
}
|
226
|
+
|
227
|
+
/**
|
228
|
+
* Helper method for getting access to filter that only guarantees
|
229
|
+
* that methods used for deserialization are to be included.
|
230
|
+
*
|
231
|
+
* @deprecated Since 1.9 just don't use
|
232
|
+
*/
|
233
|
+
@Deprecated
|
234
|
+
protected MethodFilter getDeserializationMethodFilter(DeserializationConfig cfg)
|
235
|
+
{
|
236
|
+
/* [JACKSON-88]: may also need to include getters (at least for
|
237
|
+
* Collection and Map types)
|
238
|
+
*/
|
239
|
+
if (cfg.isEnabled(DeserializationConfig.Feature.USE_GETTERS_AS_SETTERS)) {
|
240
|
+
return DEFAULT_SETTER_AND_GETTER_FILTER;
|
241
|
+
|
242
|
+
}
|
243
|
+
return DEFAULT_SETTER_FILTER;
|
244
|
+
}
|
245
|
+
|
246
|
+
/*
|
247
|
+
/**********************************************************
|
248
|
+
/* Helper classes
|
249
|
+
/**********************************************************
|
250
|
+
*/
|
251
|
+
|
252
|
+
/**
|
253
|
+
* Going forward, we will only do very minimal filtering;
|
254
|
+
* mostly just gets rid of static methods really.
|
255
|
+
*
|
256
|
+
* @since 1.9
|
257
|
+
*/
|
258
|
+
private static class MinimalMethodFilter
|
259
|
+
implements MethodFilter
|
260
|
+
{
|
261
|
+
@Override
|
262
|
+
public boolean includeMethod(Method m)
|
263
|
+
{
|
264
|
+
if (Modifier.isStatic(m.getModifiers())) {
|
265
|
+
return false;
|
266
|
+
}
|
267
|
+
int pcount = m.getParameterTypes().length;
|
268
|
+
return (pcount <= 2);
|
269
|
+
}
|
270
|
+
}
|
271
|
+
|
272
|
+
/**
|
273
|
+
* Filter used to only include methods that have signature that is
|
274
|
+
* compatible with "getters": take no arguments, are non-static,
|
275
|
+
* and return something.
|
276
|
+
*
|
277
|
+
* @deprecated Since 1.9 just don't use
|
278
|
+
*/
|
279
|
+
@Deprecated
|
280
|
+
public static class GetterMethodFilter
|
281
|
+
implements MethodFilter
|
282
|
+
{
|
283
|
+
private GetterMethodFilter() { }
|
284
|
+
|
285
|
+
@Override
|
286
|
+
public boolean includeMethod(Method m)
|
287
|
+
{
|
288
|
+
return ClassUtil.hasGetterSignature(m);
|
289
|
+
}
|
290
|
+
}
|
291
|
+
|
292
|
+
/**
|
293
|
+
* Filter used to only include methods that have signature that is
|
294
|
+
* compatible with "setters": take one and only argument and
|
295
|
+
* are non-static.
|
296
|
+
*<p>
|
297
|
+
* Actually, also need to include 2-arg methods to support
|
298
|
+
* "any setters"; as well as 0-arg getters as long as they
|
299
|
+
* return Collection or Map type.
|
300
|
+
*
|
301
|
+
* @deprecated Since 1.9 just don't use
|
302
|
+
*/
|
303
|
+
@Deprecated
|
304
|
+
public static class SetterMethodFilter
|
305
|
+
implements MethodFilter
|
306
|
+
{
|
307
|
+
@Override
|
308
|
+
public boolean includeMethod(Method m)
|
309
|
+
{
|
310
|
+
// First: we can't use static methods
|
311
|
+
if (Modifier.isStatic(m.getModifiers())) {
|
312
|
+
return false;
|
313
|
+
}
|
314
|
+
int pcount = m.getParameterTypes().length;
|
315
|
+
// Ok; multiple acceptable parameter counts:
|
316
|
+
switch (pcount) {
|
317
|
+
case 1:
|
318
|
+
// Regular setters take just one param, so include:
|
319
|
+
return true;
|
320
|
+
case 2:
|
321
|
+
/* 2-arg version only for "AnySetters"; they are not
|
322
|
+
* auto-detected, and need to have an annotation.
|
323
|
+
* However, due to annotation inheritance we do, we
|
324
|
+
* don't yet know if sub-classes might have annotations...
|
325
|
+
* so shouldn't leave out any methods quite yet.
|
326
|
+
*/
|
327
|
+
//if (m.getAnnotation(JsonAnySetter.class) != null) { ... }
|
328
|
+
|
329
|
+
return true;
|
330
|
+
}
|
331
|
+
return false;
|
332
|
+
}
|
333
|
+
}
|
334
|
+
|
335
|
+
/**
|
336
|
+
* Filter used if some getters (namely, once needed for "setterless
|
337
|
+
* collection injection") are also needed, not just setters.
|
338
|
+
*
|
339
|
+
* @deprecated Since 1.9 just don't use
|
340
|
+
*/
|
341
|
+
@Deprecated
|
342
|
+
public final static class SetterAndGetterMethodFilter
|
343
|
+
extends SetterMethodFilter
|
344
|
+
{
|
345
|
+
@SuppressWarnings("deprecation")
|
346
|
+
@Override
|
347
|
+
public boolean includeMethod(Method m)
|
348
|
+
{
|
349
|
+
if (super.includeMethod(m)) {
|
350
|
+
return true;
|
351
|
+
}
|
352
|
+
if (!ClassUtil.hasGetterSignature(m)) {
|
353
|
+
return false;
|
354
|
+
}
|
355
|
+
// but furthermore, only accept Collections & Maps, for now
|
356
|
+
Class<?> rt = m.getReturnType();
|
357
|
+
if (Collection.class.isAssignableFrom(rt)
|
358
|
+
|| Map.class.isAssignableFrom(rt)) {
|
359
|
+
return true;
|
360
|
+
}
|
361
|
+
return false;
|
362
|
+
}
|
363
|
+
}
|
364
|
+
}
|
@@ -0,0 +1,813 @@
|
|
1
|
+
package sh.calaba.org.codehaus.jackson.map.introspect;
|
2
|
+
|
3
|
+
import java.lang.annotation.Annotation;
|
4
|
+
import java.util.ArrayList;
|
5
|
+
import java.util.List;
|
6
|
+
|
7
|
+
import sh.calaba.org.codehaus.jackson.annotate.*;
|
8
|
+
import sh.calaba.org.codehaus.jackson.map.*;
|
9
|
+
import sh.calaba.org.codehaus.jackson.map.annotate.*;
|
10
|
+
import sh.calaba.org.codehaus.jackson.map.jsontype.NamedType;
|
11
|
+
import sh.calaba.org.codehaus.jackson.map.jsontype.TypeIdResolver;
|
12
|
+
import sh.calaba.org.codehaus.jackson.map.jsontype.TypeResolverBuilder;
|
13
|
+
import sh.calaba.org.codehaus.jackson.map.jsontype.impl.StdTypeResolverBuilder;
|
14
|
+
import sh.calaba.org.codehaus.jackson.map.ser.std.RawSerializer;
|
15
|
+
import sh.calaba.org.codehaus.jackson.type.JavaType;
|
16
|
+
|
17
|
+
/**
|
18
|
+
* {@link AnnotationIntrospector} implementation that handles standard
|
19
|
+
* Jackson annotations.
|
20
|
+
*/
|
21
|
+
public class JacksonAnnotationIntrospector
|
22
|
+
extends AnnotationIntrospector
|
23
|
+
{
|
24
|
+
public JacksonAnnotationIntrospector() { }
|
25
|
+
|
26
|
+
/*
|
27
|
+
/**********************************************************
|
28
|
+
/* General annotation properties
|
29
|
+
/**********************************************************
|
30
|
+
*/
|
31
|
+
|
32
|
+
@Override
|
33
|
+
public boolean isHandled(Annotation ann)
|
34
|
+
{
|
35
|
+
Class<? extends Annotation> acls = ann.annotationType();
|
36
|
+
|
37
|
+
/* 16-May-2009, tatu: used to check this like so...
|
38
|
+
final String JACKSON_PKG_PREFIX = "sh.calaba.org.codehaus.jackson";
|
39
|
+
|
40
|
+
Package pkg = acls.getPackage();
|
41
|
+
return (pkg != null) && (pkg.getName().startsWith(JACKSON_PKG_PREFIX));
|
42
|
+
*/
|
43
|
+
|
44
|
+
// but this is more reliable, now that we have tag annotation:
|
45
|
+
return acls.getAnnotation(JacksonAnnotation.class) != null;
|
46
|
+
}
|
47
|
+
|
48
|
+
/*
|
49
|
+
/**********************************************************
|
50
|
+
/* General annotations
|
51
|
+
/**********************************************************
|
52
|
+
*/
|
53
|
+
|
54
|
+
@Override
|
55
|
+
public String findEnumValue(Enum<?> value)
|
56
|
+
{
|
57
|
+
return value.name();
|
58
|
+
}
|
59
|
+
|
60
|
+
/*
|
61
|
+
/**********************************************************
|
62
|
+
/* General class annotations
|
63
|
+
/**********************************************************
|
64
|
+
*/
|
65
|
+
|
66
|
+
@Override
|
67
|
+
public Boolean findCachability(AnnotatedClass ac)
|
68
|
+
{
|
69
|
+
JsonCachable ann = ac.getAnnotation(JsonCachable.class);
|
70
|
+
if (ann == null) {
|
71
|
+
return null;
|
72
|
+
}
|
73
|
+
return ann.value() ? Boolean.TRUE : Boolean.FALSE;
|
74
|
+
}
|
75
|
+
|
76
|
+
@Override
|
77
|
+
public String findRootName(AnnotatedClass ac)
|
78
|
+
{
|
79
|
+
JsonRootName ann = ac.getAnnotation(JsonRootName.class);
|
80
|
+
return (ann == null) ? null : ann.value();
|
81
|
+
}
|
82
|
+
|
83
|
+
@Override
|
84
|
+
public String[] findPropertiesToIgnore(AnnotatedClass ac) {
|
85
|
+
JsonIgnoreProperties ignore = ac.getAnnotation(JsonIgnoreProperties.class);
|
86
|
+
return (ignore == null) ? null : ignore.value();
|
87
|
+
}
|
88
|
+
|
89
|
+
@Override
|
90
|
+
public Boolean findIgnoreUnknownProperties(AnnotatedClass ac) {
|
91
|
+
JsonIgnoreProperties ignore = ac.getAnnotation(JsonIgnoreProperties.class);
|
92
|
+
return (ignore == null) ? null : ignore.ignoreUnknown();
|
93
|
+
}
|
94
|
+
|
95
|
+
@Override
|
96
|
+
public Boolean isIgnorableType(AnnotatedClass ac) {
|
97
|
+
JsonIgnoreType ignore = ac.getAnnotation(JsonIgnoreType.class);
|
98
|
+
return (ignore == null) ? null : ignore.value();
|
99
|
+
}
|
100
|
+
|
101
|
+
@Override
|
102
|
+
public Object findFilterId(AnnotatedClass ac)
|
103
|
+
{
|
104
|
+
JsonFilter ann = ac.getAnnotation(JsonFilter.class);
|
105
|
+
if (ann != null) {
|
106
|
+
String id = ann.value();
|
107
|
+
// Empty String is same as not having annotation, to allow overrides
|
108
|
+
if (id.length() > 0) {
|
109
|
+
return id;
|
110
|
+
}
|
111
|
+
}
|
112
|
+
return null;
|
113
|
+
}
|
114
|
+
|
115
|
+
/*
|
116
|
+
/**********************************************************
|
117
|
+
/* Property auto-detection
|
118
|
+
/**********************************************************
|
119
|
+
*/
|
120
|
+
|
121
|
+
@Override
|
122
|
+
public VisibilityChecker<?> findAutoDetectVisibility(AnnotatedClass ac,
|
123
|
+
VisibilityChecker<?> checker)
|
124
|
+
{
|
125
|
+
JsonAutoDetect ann = ac.getAnnotation(JsonAutoDetect.class);
|
126
|
+
return (ann == null) ? checker : checker.with(ann);
|
127
|
+
}
|
128
|
+
|
129
|
+
/*
|
130
|
+
/**********************************************************
|
131
|
+
/* General member (field, method/constructor) annotations
|
132
|
+
/**********************************************************
|
133
|
+
*/
|
134
|
+
|
135
|
+
// @since 1.6
|
136
|
+
@Override
|
137
|
+
public ReferenceProperty findReferenceType(AnnotatedMember member)
|
138
|
+
{
|
139
|
+
JsonManagedReference ref1 = member.getAnnotation(JsonManagedReference.class);
|
140
|
+
if (ref1 != null) {
|
141
|
+
return AnnotationIntrospector.ReferenceProperty.managed(ref1.value());
|
142
|
+
}
|
143
|
+
JsonBackReference ref2 = member.getAnnotation(JsonBackReference.class);
|
144
|
+
if (ref2 != null) {
|
145
|
+
return AnnotationIntrospector.ReferenceProperty.back(ref2.value());
|
146
|
+
}
|
147
|
+
return null;
|
148
|
+
}
|
149
|
+
|
150
|
+
@Override
|
151
|
+
public Boolean shouldUnwrapProperty(AnnotatedMember member)
|
152
|
+
{
|
153
|
+
JsonUnwrapped ann = member.getAnnotation(JsonUnwrapped.class);
|
154
|
+
// if not enabled, just means annotation is not enabled; not necessarily
|
155
|
+
// that unwrapping should not be done (relevant when using chained introspectors)
|
156
|
+
return (ann != null && ann.enabled()) ? Boolean.TRUE : null;
|
157
|
+
}
|
158
|
+
|
159
|
+
@Override
|
160
|
+
public boolean hasIgnoreMarker(AnnotatedMember m) {
|
161
|
+
return _isIgnorable(m);
|
162
|
+
}
|
163
|
+
|
164
|
+
@Override
|
165
|
+
public Object findInjectableValueId(AnnotatedMember m)
|
166
|
+
{
|
167
|
+
JacksonInject ann = m.getAnnotation(JacksonInject.class);
|
168
|
+
if (ann == null) {
|
169
|
+
return null;
|
170
|
+
}
|
171
|
+
/* Empty String means that we should use name of declared
|
172
|
+
* value class.
|
173
|
+
*/
|
174
|
+
String id = ann.value();
|
175
|
+
if (id.length() == 0) {
|
176
|
+
// slight complication; for setters, type
|
177
|
+
if (!(m instanceof AnnotatedMethod)) {
|
178
|
+
return m.getRawType().getName();
|
179
|
+
}
|
180
|
+
AnnotatedMethod am = (AnnotatedMethod) m;
|
181
|
+
if (am.getParameterCount() == 0) {
|
182
|
+
return m.getRawType().getName();
|
183
|
+
}
|
184
|
+
return am.getParameterClass(0).getName();
|
185
|
+
}
|
186
|
+
return id;
|
187
|
+
}
|
188
|
+
|
189
|
+
/*
|
190
|
+
/**********************************************************
|
191
|
+
/* Class annotations for PM type handling (1.5+)
|
192
|
+
/**********************************************************
|
193
|
+
*/
|
194
|
+
|
195
|
+
@Override
|
196
|
+
public TypeResolverBuilder<?> findTypeResolver(MapperConfig<?> config,
|
197
|
+
AnnotatedClass ac, JavaType baseType)
|
198
|
+
{
|
199
|
+
return _findTypeResolver(config, ac, baseType);
|
200
|
+
}
|
201
|
+
|
202
|
+
/**
|
203
|
+
* Since 1.7, it is possible to use {@link JsonTypeInfo} from a property too.
|
204
|
+
*/
|
205
|
+
@Override
|
206
|
+
public TypeResolverBuilder<?> findPropertyTypeResolver(MapperConfig<?> config,
|
207
|
+
AnnotatedMember am, JavaType baseType)
|
208
|
+
{
|
209
|
+
/* As per definition of @JsonTypeInfo, should only apply to contents of container
|
210
|
+
* (collection, map) types, not container types themselves:
|
211
|
+
*/
|
212
|
+
if (baseType.isContainerType()) return null;
|
213
|
+
// No per-member type overrides (yet)
|
214
|
+
return _findTypeResolver(config, am, baseType);
|
215
|
+
}
|
216
|
+
|
217
|
+
/**
|
218
|
+
* Since 1.7, it is possible to use {@link JsonTypeInfo} from a property too.
|
219
|
+
*/
|
220
|
+
@Override
|
221
|
+
public TypeResolverBuilder<?> findPropertyContentTypeResolver(MapperConfig<?> config,
|
222
|
+
AnnotatedMember am, JavaType containerType)
|
223
|
+
{
|
224
|
+
/* First: let's ensure property is a container type: caller should have
|
225
|
+
* verified but just to be sure
|
226
|
+
*/
|
227
|
+
if (!containerType.isContainerType()) {
|
228
|
+
throw new IllegalArgumentException("Must call method with a container type (got "+containerType+")");
|
229
|
+
}
|
230
|
+
return _findTypeResolver(config, am, containerType);
|
231
|
+
}
|
232
|
+
|
233
|
+
@Override
|
234
|
+
public List<NamedType> findSubtypes(Annotated a)
|
235
|
+
{
|
236
|
+
JsonSubTypes t = a.getAnnotation(JsonSubTypes.class);
|
237
|
+
if (t == null) return null;
|
238
|
+
JsonSubTypes.Type[] types = t.value();
|
239
|
+
ArrayList<NamedType> result = new ArrayList<NamedType>(types.length);
|
240
|
+
for (JsonSubTypes.Type type : types) {
|
241
|
+
result.add(new NamedType(type.value(), type.name()));
|
242
|
+
}
|
243
|
+
return result;
|
244
|
+
}
|
245
|
+
|
246
|
+
@Override
|
247
|
+
public String findTypeName(AnnotatedClass ac)
|
248
|
+
{
|
249
|
+
JsonTypeName tn = ac.getAnnotation(JsonTypeName.class);
|
250
|
+
return (tn == null) ? null : tn.value();
|
251
|
+
}
|
252
|
+
|
253
|
+
/*
|
254
|
+
/**********************************************************
|
255
|
+
/* General method annotations
|
256
|
+
/**********************************************************
|
257
|
+
*/
|
258
|
+
|
259
|
+
@Override
|
260
|
+
public boolean isIgnorableMethod(AnnotatedMethod m) {
|
261
|
+
return _isIgnorable(m);
|
262
|
+
}
|
263
|
+
|
264
|
+
@Override
|
265
|
+
public boolean isIgnorableConstructor(AnnotatedConstructor c) {
|
266
|
+
return _isIgnorable(c);
|
267
|
+
}
|
268
|
+
|
269
|
+
/*
|
270
|
+
/**********************************************************
|
271
|
+
/* General field annotations
|
272
|
+
/**********************************************************
|
273
|
+
*/
|
274
|
+
|
275
|
+
@Override
|
276
|
+
public boolean isIgnorableField(AnnotatedField f) {
|
277
|
+
return _isIgnorable(f);
|
278
|
+
}
|
279
|
+
|
280
|
+
/*
|
281
|
+
/**********************************************************
|
282
|
+
/* Serialization: general annotations
|
283
|
+
/**********************************************************
|
284
|
+
*/
|
285
|
+
|
286
|
+
@Override
|
287
|
+
public Object findSerializer(Annotated a)
|
288
|
+
{
|
289
|
+
/* 21-May-2009, tatu: Slight change; primary annotation is now
|
290
|
+
* @JsonSerialize; @JsonUseSerializer is deprecated
|
291
|
+
*/
|
292
|
+
JsonSerialize ann = a.getAnnotation(JsonSerialize.class);
|
293
|
+
if (ann != null) {
|
294
|
+
Class<? extends JsonSerializer<?>> serClass = ann.using();
|
295
|
+
if (serClass != JsonSerializer.None.class) {
|
296
|
+
return serClass;
|
297
|
+
}
|
298
|
+
}
|
299
|
+
|
300
|
+
/* 18-Oct-2010, tatu: [JACKSON-351] @JsonRawValue handled just here, for now;
|
301
|
+
* if we need to get raw indicator from other sources need to add
|
302
|
+
* separate accessor within {@link AnnotationIntrospector} interface.
|
303
|
+
*/
|
304
|
+
JsonRawValue annRaw = a.getAnnotation(JsonRawValue.class);
|
305
|
+
if ((annRaw != null) && annRaw.value()) {
|
306
|
+
// let's construct instance with nominal type:
|
307
|
+
Class<?> cls = a.getRawType();
|
308
|
+
return new RawSerializer<Object>(cls);
|
309
|
+
}
|
310
|
+
return null;
|
311
|
+
}
|
312
|
+
|
313
|
+
@Override
|
314
|
+
public Class<? extends JsonSerializer<?>> findKeySerializer(Annotated a)
|
315
|
+
{
|
316
|
+
JsonSerialize ann = a.getAnnotation(JsonSerialize.class);
|
317
|
+
if (ann != null) {
|
318
|
+
Class<? extends JsonSerializer<?>> serClass = ann.keyUsing();
|
319
|
+
if (serClass != JsonSerializer.None.class) {
|
320
|
+
return serClass;
|
321
|
+
}
|
322
|
+
}
|
323
|
+
return null;
|
324
|
+
}
|
325
|
+
|
326
|
+
@Override
|
327
|
+
public Class<? extends JsonSerializer<?>> findContentSerializer(Annotated a)
|
328
|
+
{
|
329
|
+
JsonSerialize ann = a.getAnnotation(JsonSerialize.class);
|
330
|
+
if (ann != null) {
|
331
|
+
Class<? extends JsonSerializer<?>> serClass = ann.contentUsing();
|
332
|
+
if (serClass != JsonSerializer.None.class) {
|
333
|
+
return serClass;
|
334
|
+
}
|
335
|
+
}
|
336
|
+
return null;
|
337
|
+
}
|
338
|
+
|
339
|
+
@SuppressWarnings("deprecation")
|
340
|
+
@Override
|
341
|
+
public JsonSerialize.Inclusion findSerializationInclusion(Annotated a, JsonSerialize.Inclusion defValue)
|
342
|
+
{
|
343
|
+
JsonSerialize ann = a.getAnnotation(JsonSerialize.class);
|
344
|
+
if (ann != null) {
|
345
|
+
return ann.include();
|
346
|
+
}
|
347
|
+
/* 23-May-2009, tatu: Will still support now-deprecated (as of 1.1)
|
348
|
+
* legacy annotation too:
|
349
|
+
*/
|
350
|
+
JsonWriteNullProperties oldAnn = a.getAnnotation(JsonWriteNullProperties.class);
|
351
|
+
if (oldAnn != null) {
|
352
|
+
boolean writeNulls = oldAnn.value();
|
353
|
+
return writeNulls ? JsonSerialize.Inclusion.ALWAYS : JsonSerialize.Inclusion.NON_NULL;
|
354
|
+
}
|
355
|
+
return defValue;
|
356
|
+
}
|
357
|
+
|
358
|
+
@Override
|
359
|
+
public Class<?> findSerializationType(Annotated am)
|
360
|
+
{
|
361
|
+
JsonSerialize ann = am.getAnnotation(JsonSerialize.class);
|
362
|
+
if (ann != null) {
|
363
|
+
Class<?> cls = ann.as();
|
364
|
+
if (cls != NoClass.class) {
|
365
|
+
return cls;
|
366
|
+
}
|
367
|
+
}
|
368
|
+
return null;
|
369
|
+
}
|
370
|
+
|
371
|
+
@Override
|
372
|
+
public Class<?> findSerializationKeyType(Annotated am, JavaType baseType)
|
373
|
+
{
|
374
|
+
JsonSerialize ann = am.getAnnotation(JsonSerialize.class);
|
375
|
+
if (ann != null) {
|
376
|
+
Class<?> cls = ann.keyAs();
|
377
|
+
if (cls != NoClass.class) {
|
378
|
+
return cls;
|
379
|
+
}
|
380
|
+
}
|
381
|
+
return null;
|
382
|
+
}
|
383
|
+
|
384
|
+
@Override
|
385
|
+
public Class<?> findSerializationContentType(Annotated am, JavaType baseType)
|
386
|
+
{
|
387
|
+
JsonSerialize ann = am.getAnnotation(JsonSerialize.class);
|
388
|
+
if (ann != null) {
|
389
|
+
Class<?> cls = ann.contentAs();
|
390
|
+
if (cls != NoClass.class) {
|
391
|
+
return cls;
|
392
|
+
}
|
393
|
+
}
|
394
|
+
return null;
|
395
|
+
}
|
396
|
+
|
397
|
+
@Override
|
398
|
+
public JsonSerialize.Typing findSerializationTyping(Annotated a)
|
399
|
+
{
|
400
|
+
JsonSerialize ann = a.getAnnotation(JsonSerialize.class);
|
401
|
+
return (ann == null) ? null : ann.typing();
|
402
|
+
}
|
403
|
+
|
404
|
+
@Override
|
405
|
+
public Class<?>[] findSerializationViews(Annotated a)
|
406
|
+
{
|
407
|
+
JsonView ann = a.getAnnotation(JsonView.class);
|
408
|
+
return (ann == null) ? null : ann.value();
|
409
|
+
}
|
410
|
+
|
411
|
+
/*
|
412
|
+
/**********************************************************
|
413
|
+
/* Serialization: class annotations
|
414
|
+
/**********************************************************
|
415
|
+
*/
|
416
|
+
|
417
|
+
@Override
|
418
|
+
public String[] findSerializationPropertyOrder(AnnotatedClass ac) {
|
419
|
+
JsonPropertyOrder order = ac.getAnnotation(JsonPropertyOrder.class);
|
420
|
+
return (order == null) ? null : order.value();
|
421
|
+
}
|
422
|
+
|
423
|
+
@Override
|
424
|
+
public Boolean findSerializationSortAlphabetically(AnnotatedClass ac) {
|
425
|
+
JsonPropertyOrder order = ac.getAnnotation(JsonPropertyOrder.class);
|
426
|
+
return (order == null) ? null : order.alphabetic();
|
427
|
+
}
|
428
|
+
|
429
|
+
/*
|
430
|
+
/**********************************************************
|
431
|
+
/* Serialization: method annotations
|
432
|
+
/**********************************************************
|
433
|
+
*/
|
434
|
+
|
435
|
+
@SuppressWarnings("deprecation")
|
436
|
+
@Override
|
437
|
+
public String findGettablePropertyName(AnnotatedMethod am)
|
438
|
+
{
|
439
|
+
/* 22-May-2009, tatu: JsonProperty is the primary annotation
|
440
|
+
* to check for
|
441
|
+
*/
|
442
|
+
JsonProperty pann = am.getAnnotation(JsonProperty.class);
|
443
|
+
if (pann != null) {
|
444
|
+
return pann.value();
|
445
|
+
}
|
446
|
+
/* 22-May-2009, tatu: JsonGetter is deprecated as of 1.1
|
447
|
+
* but still supported
|
448
|
+
*/
|
449
|
+
JsonGetter ann = am.getAnnotation(JsonGetter.class);
|
450
|
+
if (ann != null) {
|
451
|
+
return ann.value();
|
452
|
+
}
|
453
|
+
/* 22-May-2009, tatu: And finally, JsonSerialize implies
|
454
|
+
* that there is a property, although doesn't define name
|
455
|
+
*/
|
456
|
+
// 09-Apr-2010, tatu: Ditto for JsonView
|
457
|
+
if (am.hasAnnotation(JsonSerialize.class) || am.hasAnnotation(JsonView.class)) {
|
458
|
+
return "";
|
459
|
+
}
|
460
|
+
return null;
|
461
|
+
}
|
462
|
+
|
463
|
+
@Override
|
464
|
+
public boolean hasAsValueAnnotation(AnnotatedMethod am)
|
465
|
+
{
|
466
|
+
JsonValue ann = am.getAnnotation(JsonValue.class);
|
467
|
+
// value of 'false' means disabled...
|
468
|
+
return (ann != null && ann.value());
|
469
|
+
}
|
470
|
+
|
471
|
+
/*
|
472
|
+
/**********************************************************
|
473
|
+
/* Serialization: field annotations
|
474
|
+
/**********************************************************
|
475
|
+
*/
|
476
|
+
|
477
|
+
@Override
|
478
|
+
public String findSerializablePropertyName(AnnotatedField af)
|
479
|
+
{
|
480
|
+
JsonProperty pann = af.getAnnotation(JsonProperty.class);
|
481
|
+
if (pann != null) {
|
482
|
+
return pann.value();
|
483
|
+
}
|
484
|
+
// Also: having JsonSerialize implies it is such a property
|
485
|
+
// 09-Apr-2010, tatu: Ditto for JsonView
|
486
|
+
if (af.hasAnnotation(JsonSerialize.class) || af.hasAnnotation(JsonView.class)) {
|
487
|
+
return "";
|
488
|
+
}
|
489
|
+
return null;
|
490
|
+
}
|
491
|
+
|
492
|
+
/*
|
493
|
+
/**********************************************************
|
494
|
+
/* Deserialization: general annotations
|
495
|
+
/**********************************************************
|
496
|
+
*/
|
497
|
+
|
498
|
+
@Override
|
499
|
+
public Class<? extends JsonDeserializer<?>> findDeserializer(Annotated a)
|
500
|
+
{
|
501
|
+
/* 21-May-2009, tatu: Slight change; primary annotation is now
|
502
|
+
* @JsonDeserialize; @JsonUseDeserializer is deprecated
|
503
|
+
*/
|
504
|
+
JsonDeserialize ann = a.getAnnotation(JsonDeserialize.class);
|
505
|
+
if (ann != null) {
|
506
|
+
Class<? extends JsonDeserializer<?>> deserClass = ann.using();
|
507
|
+
if (deserClass != JsonDeserializer.None.class) {
|
508
|
+
return deserClass;
|
509
|
+
}
|
510
|
+
}
|
511
|
+
// 31-Jan-2010, tatus: @JsonUseDeserializer removed as of 1.5
|
512
|
+
return null;
|
513
|
+
}
|
514
|
+
|
515
|
+
@Override
|
516
|
+
public Class<? extends KeyDeserializer> findKeyDeserializer(Annotated a)
|
517
|
+
{
|
518
|
+
JsonDeserialize ann = a.getAnnotation(JsonDeserialize.class);
|
519
|
+
if (ann != null) {
|
520
|
+
Class<? extends KeyDeserializer> deserClass = ann.keyUsing();
|
521
|
+
if (deserClass != KeyDeserializer.None.class) {
|
522
|
+
return deserClass;
|
523
|
+
}
|
524
|
+
}
|
525
|
+
return null;
|
526
|
+
}
|
527
|
+
|
528
|
+
@Override
|
529
|
+
public Class<? extends JsonDeserializer<?>> findContentDeserializer(Annotated a)
|
530
|
+
{
|
531
|
+
JsonDeserialize ann = a.getAnnotation(JsonDeserialize.class);
|
532
|
+
if (ann != null) {
|
533
|
+
Class<? extends JsonDeserializer<?>> deserClass = ann.contentUsing();
|
534
|
+
if (deserClass != JsonDeserializer.None.class) {
|
535
|
+
return deserClass;
|
536
|
+
}
|
537
|
+
}
|
538
|
+
return null;
|
539
|
+
}
|
540
|
+
|
541
|
+
@Override
|
542
|
+
public Class<?> findDeserializationType(Annotated am, JavaType baseType,
|
543
|
+
String propName)
|
544
|
+
{
|
545
|
+
// Primary annotation, JsonDeserialize
|
546
|
+
JsonDeserialize ann = am.getAnnotation(JsonDeserialize.class);
|
547
|
+
if (ann != null) {
|
548
|
+
Class<?> cls = ann.as();
|
549
|
+
if (cls != NoClass.class) {
|
550
|
+
return cls;
|
551
|
+
}
|
552
|
+
}
|
553
|
+
/* 30-Jun-2011, tatu: Here we used to have support for @JsonClass;
|
554
|
+
* removed in 1.9
|
555
|
+
*/
|
556
|
+
return null;
|
557
|
+
}
|
558
|
+
|
559
|
+
@Override
|
560
|
+
public Class<?> findDeserializationKeyType(Annotated am, JavaType baseKeyType,
|
561
|
+
String propName)
|
562
|
+
{
|
563
|
+
// Primary annotation, JsonDeserialize
|
564
|
+
JsonDeserialize ann = am.getAnnotation(JsonDeserialize.class);
|
565
|
+
if (ann != null) {
|
566
|
+
Class<?> cls = ann.keyAs();
|
567
|
+
if (cls != NoClass.class) {
|
568
|
+
return cls;
|
569
|
+
}
|
570
|
+
}
|
571
|
+
/* 30-Jun-2011, tatu: Here we used to have support for @JsonKeyClass;
|
572
|
+
* removed in 1.9
|
573
|
+
*/
|
574
|
+
return null;
|
575
|
+
}
|
576
|
+
|
577
|
+
@Override
|
578
|
+
public Class<?> findDeserializationContentType(Annotated am, JavaType baseContentType,
|
579
|
+
String propName)
|
580
|
+
{
|
581
|
+
// Primary annotation, JsonDeserialize
|
582
|
+
JsonDeserialize ann = am.getAnnotation(JsonDeserialize.class);
|
583
|
+
if (ann != null) {
|
584
|
+
Class<?> cls = ann.contentAs();
|
585
|
+
if (cls != NoClass.class) {
|
586
|
+
return cls;
|
587
|
+
}
|
588
|
+
}
|
589
|
+
/* 30-Jun-2011, tatu: Here we used to have support for @JsonContentClass;
|
590
|
+
* removed in 1.9
|
591
|
+
*/
|
592
|
+
return null;
|
593
|
+
}
|
594
|
+
|
595
|
+
/*
|
596
|
+
/**********************************************************
|
597
|
+
/* Deserialization: Class annotations
|
598
|
+
/**********************************************************
|
599
|
+
*/
|
600
|
+
|
601
|
+
@Override
|
602
|
+
public Object findValueInstantiator(AnnotatedClass ac)
|
603
|
+
{
|
604
|
+
JsonValueInstantiator ann = ac.getAnnotation(JsonValueInstantiator.class);
|
605
|
+
// no 'null' marker yet, so:
|
606
|
+
return (ann == null) ? null : ann.value();
|
607
|
+
}
|
608
|
+
|
609
|
+
/*
|
610
|
+
/**********************************************************
|
611
|
+
/* Deserialization: Method annotations
|
612
|
+
/**********************************************************
|
613
|
+
*/
|
614
|
+
|
615
|
+
@Override
|
616
|
+
public String findSettablePropertyName(AnnotatedMethod am)
|
617
|
+
{
|
618
|
+
/* 16-Apr-2010, tatu: Existing priority (since 1.1) is that
|
619
|
+
* @JsonProperty is checked first; and @JsonSetter next.
|
620
|
+
* This is not quite optimal now that @JsonSetter is un-deprecated.
|
621
|
+
* However, it is better to have stable behavior rather than
|
622
|
+
* cause compatibility problems by fine-tuning.
|
623
|
+
*/
|
624
|
+
JsonProperty pann = am.getAnnotation(JsonProperty.class);
|
625
|
+
if (pann != null) {
|
626
|
+
return pann.value();
|
627
|
+
}
|
628
|
+
JsonSetter ann = am.getAnnotation(JsonSetter.class);
|
629
|
+
if (ann != null) {
|
630
|
+
return ann.value();
|
631
|
+
}
|
632
|
+
/* 22-May-2009, tatu: And finally, JsonSerialize implies
|
633
|
+
* that there is a property, although doesn't define name
|
634
|
+
*/
|
635
|
+
// 09-Apr-2010, tatu: Ditto for JsonView
|
636
|
+
// 19-Oct-2011, tatu: And JsonBackReference/JsonManagedReference
|
637
|
+
if (am.hasAnnotation(JsonDeserialize.class)
|
638
|
+
|| am.hasAnnotation(JsonView.class)
|
639
|
+
|| am.hasAnnotation(JsonBackReference.class)
|
640
|
+
|| am.hasAnnotation(JsonManagedReference.class)
|
641
|
+
) {
|
642
|
+
return "";
|
643
|
+
}
|
644
|
+
return null;
|
645
|
+
}
|
646
|
+
|
647
|
+
@Override
|
648
|
+
public boolean hasAnySetterAnnotation(AnnotatedMethod am)
|
649
|
+
{
|
650
|
+
/* No dedicated disabling; regular @JsonIgnore used
|
651
|
+
* if needs to be ignored (and if so, is handled prior
|
652
|
+
* to this method getting called)
|
653
|
+
*/
|
654
|
+
return am.hasAnnotation(JsonAnySetter.class);
|
655
|
+
}
|
656
|
+
|
657
|
+
@Override
|
658
|
+
public boolean hasAnyGetterAnnotation(AnnotatedMethod am)
|
659
|
+
{
|
660
|
+
/* No dedicated disabling; regular @JsonIgnore used
|
661
|
+
* if needs to be ignored (handled separately
|
662
|
+
*/
|
663
|
+
return am.hasAnnotation(JsonAnyGetter.class);
|
664
|
+
}
|
665
|
+
|
666
|
+
@Override
|
667
|
+
public boolean hasCreatorAnnotation(Annotated a)
|
668
|
+
{
|
669
|
+
/* No dedicated disabling; regular @JsonIgnore used
|
670
|
+
* if needs to be ignored (and if so, is handled prior
|
671
|
+
* to this method getting called)
|
672
|
+
*/
|
673
|
+
return a.hasAnnotation(JsonCreator.class);
|
674
|
+
}
|
675
|
+
|
676
|
+
/*
|
677
|
+
/**********************************************************
|
678
|
+
/* Deserialization: field annotations
|
679
|
+
/**********************************************************
|
680
|
+
*/
|
681
|
+
|
682
|
+
@Override
|
683
|
+
public String findDeserializablePropertyName(AnnotatedField af)
|
684
|
+
{
|
685
|
+
JsonProperty pann = af.getAnnotation(JsonProperty.class);
|
686
|
+
if (pann != null) {
|
687
|
+
return pann.value();
|
688
|
+
}
|
689
|
+
// Also: having JsonDeserialize implies it is such a property
|
690
|
+
// 09-Apr-2010, tatu: Ditto for JsonView
|
691
|
+
if (af.hasAnnotation(JsonDeserialize.class)
|
692
|
+
|| af.hasAnnotation(JsonView.class)
|
693
|
+
|| af.hasAnnotation(JsonBackReference.class)
|
694
|
+
|| af.hasAnnotation(JsonManagedReference.class)
|
695
|
+
) {
|
696
|
+
return "";
|
697
|
+
}
|
698
|
+
return null;
|
699
|
+
}
|
700
|
+
|
701
|
+
/*
|
702
|
+
/**********************************************************
|
703
|
+
/* Deserialization: parameters annotations
|
704
|
+
/**********************************************************
|
705
|
+
*/
|
706
|
+
|
707
|
+
@Override
|
708
|
+
public String findPropertyNameForParam(AnnotatedParameter param)
|
709
|
+
{
|
710
|
+
if (param != null) {
|
711
|
+
JsonProperty pann = param.getAnnotation(JsonProperty.class);
|
712
|
+
if (pann != null) {
|
713
|
+
return pann.value();
|
714
|
+
}
|
715
|
+
/* And can not use JsonDeserialize as we can not use
|
716
|
+
* name auto-detection (names of local variables including
|
717
|
+
* parameters are not necessarily preserved in bytecode)
|
718
|
+
*/
|
719
|
+
}
|
720
|
+
return null;
|
721
|
+
}
|
722
|
+
|
723
|
+
/*
|
724
|
+
/**********************************************************
|
725
|
+
/* Helper methods
|
726
|
+
/**********************************************************
|
727
|
+
*/
|
728
|
+
|
729
|
+
protected boolean _isIgnorable(Annotated a)
|
730
|
+
{
|
731
|
+
JsonIgnore ann = a.getAnnotation(JsonIgnore.class);
|
732
|
+
return (ann != null && ann.value());
|
733
|
+
}
|
734
|
+
|
735
|
+
/**
|
736
|
+
* Helper method called to construct and initialize instance of {@link TypeResolverBuilder}
|
737
|
+
* if given annotated element indicates one is needed.
|
738
|
+
*/
|
739
|
+
protected TypeResolverBuilder<?> _findTypeResolver(MapperConfig<?> config,
|
740
|
+
Annotated ann, JavaType baseType)
|
741
|
+
{
|
742
|
+
// First: maybe we have explicit type resolver?
|
743
|
+
TypeResolverBuilder<?> b;
|
744
|
+
JsonTypeInfo info = ann.getAnnotation(JsonTypeInfo.class);
|
745
|
+
JsonTypeResolver resAnn = ann.getAnnotation(JsonTypeResolver.class);
|
746
|
+
if (resAnn != null) {
|
747
|
+
/* 14-Aug-2010, tatu: not sure if this can ever happen normally, but unit
|
748
|
+
* tests were able to trigger this... so let's check:
|
749
|
+
*/
|
750
|
+
if (info == null) {
|
751
|
+
return null;
|
752
|
+
}
|
753
|
+
/* let's not try to force access override (would need to pass
|
754
|
+
* settings through if we did, since that's not doable on some
|
755
|
+
* platforms)
|
756
|
+
*/
|
757
|
+
b = config.typeResolverBuilderInstance(ann, resAnn.value());
|
758
|
+
} else { // if not, use standard one, if indicated by annotations
|
759
|
+
if (info == null) {
|
760
|
+
return null;
|
761
|
+
}
|
762
|
+
// bit special; must return 'marker' to block use of default typing:
|
763
|
+
if (info.use() == JsonTypeInfo.Id.NONE) {
|
764
|
+
return _constructNoTypeResolverBuilder();
|
765
|
+
}
|
766
|
+
b = _constructStdTypeResolverBuilder();
|
767
|
+
}
|
768
|
+
// Does it define a custom type id resolver?
|
769
|
+
JsonTypeIdResolver idResInfo = ann.getAnnotation(JsonTypeIdResolver.class);
|
770
|
+
TypeIdResolver idRes = (idResInfo == null) ? null
|
771
|
+
: config.typeIdResolverInstance(ann, idResInfo.value());
|
772
|
+
if (idRes != null) { // [JACKSON-359]
|
773
|
+
idRes.init(baseType);
|
774
|
+
}
|
775
|
+
b = b.init(info.use(), idRes);
|
776
|
+
/* 13-Aug-2011, tatu: One complication wrt [JACKSON-453]; external id
|
777
|
+
* only works for properties; so if declared for a Class, we will need
|
778
|
+
* to map it to "PROPERTY" instead of "EXTERNAL_PROPERTY"
|
779
|
+
*/
|
780
|
+
JsonTypeInfo.As inclusion = info.include();
|
781
|
+
if (inclusion == JsonTypeInfo.As.EXTERNAL_PROPERTY && (ann instanceof AnnotatedClass)) {
|
782
|
+
inclusion = JsonTypeInfo.As.PROPERTY;
|
783
|
+
}
|
784
|
+
b = b.inclusion(inclusion);
|
785
|
+
b = b.typeProperty(info.property());
|
786
|
+
Class<?> defaultImpl = info.defaultImpl();
|
787
|
+
if (defaultImpl != JsonTypeInfo.None.class) {
|
788
|
+
b = b.defaultImpl(defaultImpl);
|
789
|
+
}
|
790
|
+
return b;
|
791
|
+
}
|
792
|
+
|
793
|
+
/**
|
794
|
+
* Helper method for constructing standard {@link TypeResolverBuilder}
|
795
|
+
* implementation.
|
796
|
+
*
|
797
|
+
* @since 1.7
|
798
|
+
*/
|
799
|
+
protected StdTypeResolverBuilder _constructStdTypeResolverBuilder()
|
800
|
+
{
|
801
|
+
return new StdTypeResolverBuilder();
|
802
|
+
}
|
803
|
+
|
804
|
+
/**
|
805
|
+
* Helper method for dealing with "no type info" marker; can't be null
|
806
|
+
* (as it'd be replaced by default typing)
|
807
|
+
*
|
808
|
+
* @since 1.9.4
|
809
|
+
*/
|
810
|
+
protected StdTypeResolverBuilder _constructNoTypeResolverBuilder() {
|
811
|
+
return StdTypeResolverBuilder.noTypeInfoBuilder();
|
812
|
+
}
|
813
|
+
}
|