calabash-android 0.4.7.pre4 → 0.4.7.pre6
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 +22 -1
- data/lib/calabash-android/lib/TestServer.apk +0 -0
- data/lib/calabash-android/lib/apktool-cli-1.5.3-SNAPSHOT.jar +0 -0
- data/lib/calabash-android/version.rb +1 -1
- data/test-server/instrumentation-backend/.classpath +4 -1
- 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
- data/test-server/instrumentation-backend/libs/robotium-solo-4.1.jar +0 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/LegacyCommonTokenStream.java +6 -1
- data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugTokenStream.java +3 -3
- data/test-server/instrumentation-backend/src/org/antlr/runtime/misc/FastQueue.java +1 -1
- data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/BaseTreeAdaptor.java +4 -4
- data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/CommonErrorNode.java +8 -1
- data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeIterator.java +2 -3
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/CalabashInstrumentationTestRunner.java +1 -1
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/InstrumentationBackend.java +2 -2
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/HttpServer.java +21 -11
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/NanoHTTPD.java +127 -68
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/button/PressButtonText.java +2 -2
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/button/PressImageButtonDescription.java +2 -3
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/Swipe.java +0 -1
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/list/GetListData.java +1 -1
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/list/GetListItemProperties.java +1 -1
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/list/GetListItemText.java +1 -1
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/AssertGridViewContainsNoDuplicates.java +4 -4
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/Press.java +1 -1
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/SelectTab.java +4 -4
- 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/wait/WaitForTab.java +4 -4
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/QueryHelper.java +2 -1
- 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 +2 -2
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryASTClassName.java +0 -2
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryUtils.java +3 -2
- metadata +7 -411
- data/test-server/instrumentation-backend/libs/robotium-solo-3.6.jar +0 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/activity/GetOpenedActivities.java +0 -31
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/activity/GoBackToActivity.java +0 -67
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Base64Variant.java +0 -413
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Base64Variants.java +0 -90
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/FormatSchema.java +0 -29
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonEncoding.java +0 -47
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonFactory.java +0 -937
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonGenerationException.java +0 -28
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonGenerator.java +0 -1197
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonLocation.java +0 -141
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonNode.java +0 -879
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonParseException.java +0 -23
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonParser.java +0 -1434
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonProcessingException.java +0 -80
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonStreamContext.java +0 -122
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonToken.java +0 -161
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/ObjectCodec.java +0 -157
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/PrettyPrinter.java +0 -166
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/SerializableString.java +0 -54
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Version.java +0 -90
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Versioned.java +0 -20
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JacksonAnnotation.java +0 -20
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonAnyGetter.java +0 -25
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonAnySetter.java +0 -24
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonAutoDetect.java +0 -148
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonBackReference.java +0 -41
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonCreator.java +0 -19
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonGetter.java +0 -35
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonIgnore.java +0 -57
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonIgnoreProperties.java +0 -48
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonIgnoreType.java +0 -33
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonManagedReference.java +0 -41
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonMethod.java +0 -90
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonProperty.java +0 -38
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonPropertyOrder.java +0 -46
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonRawValue.java +0 -33
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonSetter.java +0 -33
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonSubTypes.java +0 -44
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonTypeInfo.java +0 -236
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonTypeName.java +0 -28
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonUnwrapped.java +0 -76
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonValue.java +0 -46
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonWriteNullProperties.java +0 -34
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/package-info.java +0 -16
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/DataFormatDetector.java +0 -176
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/DataFormatMatcher.java +0 -117
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/InputAccessor.java +0 -130
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/MatchStrength.java +0 -64
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/package-info.java +0 -8
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/ByteSourceBootstrapper.java +0 -518
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/DefaultPrettyPrinter.java +0 -13
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/Indenter.java +0 -23
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonGeneratorBase.java +0 -570
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonNumericParserBase.java +0 -20
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonParserBase.java +0 -1067
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonParserMinimalBase.java +0 -539
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonReadContext.java +0 -188
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonWriteContext.java +0 -178
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/ReaderBasedParser.java +0 -1815
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/ReaderBasedParserBase.java +0 -228
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/StreamBasedParserBase.java +0 -197
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/Utf8Generator.java +0 -1757
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/Utf8StreamParser.java +0 -2966
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/WriterBasedGenerator.java +0 -1815
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/package-info.java +0 -6
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/BaseReader.java +0 -117
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/CharacterEscapes.java +0 -73
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/IOContext.java +0 -239
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/InputDecorator.java +0 -67
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/JsonStringEncoder.java +0 -408
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/MergedStream.java +0 -145
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/NumberInput.java +0 -303
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/NumberOutput.java +0 -398
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/OutputDecorator.java +0 -40
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/SegmentedStringWriter.java +0 -104
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/SerializedString.java +0 -114
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/UTF32Reader.java +0 -214
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/UTF8Writer.java +0 -387
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/package.html +0 -4
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/AbstractTypeResolver.java +0 -63
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/AnnotationIntrospector.java +0 -1485
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/BeanDescription.java +0 -171
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/BeanProperty.java +0 -123
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/BeanPropertyDefinition.java +0 -66
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ClassIntrospector.java +0 -117
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ContextualDeserializer.java +0 -38
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ContextualKeyDeserializer.java +0 -33
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ContextualSerializer.java +0 -38
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializationConfig.java +0 -926
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializationContext.java +0 -262
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializationProblemHandler.java +0 -56
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializerFactory.java +0 -356
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializerProvider.java +0 -185
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/Deserializers.java +0 -339
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/HandlerInstantiator.java +0 -115
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/InjectableValues.java +0 -85
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonDeserializer.java +0 -166
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonMappingException.java +0 -335
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonSerializable.java +0 -34
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonSerializableWithType.java +0 -22
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonSerializer.java +0 -138
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/KeyDeserializer.java +0 -31
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/KeyDeserializers.java +0 -21
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/MapperConfig.java +0 -1154
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/MappingIterator.java +0 -190
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/MappingJsonFactory.java +0 -81
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/Module.java +0 -255
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ObjectMapper.java +0 -2885
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ObjectReader.java +0 -958
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ObjectWriter.java +0 -554
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/PropertyNamingStrategy.java +0 -258
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ResolvableDeserializer.java +0 -23
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ResolvableSerializer.java +0 -23
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/RuntimeJsonMappingException.java +0 -21
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/SerializationConfig.java +0 -1041
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/SerializerFactory.java +0 -198
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/SerializerProvider.java +0 -552
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/Serializers.java +0 -137
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/TypeDeserializer.java +0 -118
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/TypeSerializer.java +0 -164
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JacksonInject.java +0 -30
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JacksonStdImpl.java +0 -25
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonCachable.java +0 -32
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonDeserialize.java +0 -109
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonFilter.java +0 -31
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonRootName.java +0 -29
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonSerialize.java +0 -216
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonTypeIdResolver.java +0 -35
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonTypeResolver.java +0 -28
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonValueInstantiator.java +0 -26
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonView.java +0 -37
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/NoClass.java +0 -19
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/package-info.java +0 -5
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/AbstractDeserializer.java +0 -102
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ArrayDeserializer.java +0 -28
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ArrayDeserializers.java +0 -11
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BasicDeserializerFactory.java +0 -894
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializer.java +0 -1537
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializerBuilder.java +0 -277
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializerFactory.java +0 -1474
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializerModifier.java +0 -58
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/CollectionDeserializer.java +0 -47
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ContainerDeserializer.java +0 -14
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/CustomDeserializerFactory.java +0 -227
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/DateDeserializer.java +0 -9
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/EnumDeserializer.java +0 -15
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/EnumResolver.java +0 -17
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/FromStringDeserializer.java +0 -13
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/JsonNodeDeserializer.java +0 -54
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/MapDeserializer.java +0 -44
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/SettableAnyProperty.java +0 -177
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/SettableBeanProperty.java +0 -827
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializationContext.java +0 -326
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializer.java +0 -94
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializerProvider.java +0 -494
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializers.java +0 -119
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdKeyDeserializer.java +0 -12
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdKeyDeserializers.java +0 -11
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdScalarDeserializer.java +0 -13
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ThrowableDeserializer.java +0 -13
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/UntypedObjectDeserializer.java +0 -9
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ValueInstantiator.java +0 -280
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ValueInstantiators.java +0 -52
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/BeanPropertyMap.java +0 -257
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/CreatorCollector.java +0 -141
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/CreatorProperty.java +0 -152
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/ExternalTypeHandler.java +0 -173
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/PropertyBasedCreator.java +0 -117
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/PropertyValue.java +0 -117
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/PropertyValueBuffer.java +0 -102
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/UnwrappedPropertyHandler.java +0 -41
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/ValueInjector.java +0 -45
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/package-info.java +0 -9
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/package-info.java +0 -5
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/AtomicBooleanDeserializer.java +0 -22
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/AtomicReferenceDeserializer.java +0 -47
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/CalendarDeserializer.java +0 -47
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ClassDeserializer.java +0 -49
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/CollectionDeserializer.java +0 -265
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ContainerDeserializerBase.java +0 -37
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/DateDeserializer.java +0 -30
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/EnumDeserializer.java +0 -139
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/EnumMapDeserializer.java +0 -90
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/EnumSetDeserializer.java +0 -89
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/FromStringDeserializer.java +0 -265
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/JavaTypeDeserializer.java +0 -38
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/JsonNodeDeserializer.java +0 -314
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/MapDeserializer.java +0 -412
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ObjectArrayDeserializer.java +0 -201
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/PrimitiveArrayDeserializers.java +0 -583
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdDeserializer.java +0 -1136
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdKeyDeserializer.java +0 -340
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdKeyDeserializers.java +0 -108
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdScalarDeserializer.java +0 -34
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdValueInstantiator.java +0 -392
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StringCollectionDeserializer.java +0 -227
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StringDeserializer.java +0 -55
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ThrowableDeserializer.java +0 -164
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/TimestampDeserializer.java +0 -30
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/TokenBufferDeserializer.java +0 -36
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/UntypedObjectDeserializer.java +0 -248
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/package-info.java +0 -15
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/exc/UnrecognizedPropertyException.java +0 -75
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/DOMDeserializer.java +0 -65
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/OptionalHandlerFactory.java +0 -217
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/package-info.java +0 -23
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/Annotated.java +0 -85
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedClass.java +0 -980
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedConstructor.java +0 -143
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedField.java +0 -119
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedMember.java +0 -56
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedMethod.java +0 -188
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedMethodMap.java +0 -85
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedParameter.java +0 -191
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedWithParams.java +0 -195
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotationMap.java +0 -101
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/BasicBeanDescription.java +0 -615
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/BasicClassIntrospector.java +0 -364
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/JacksonAnnotationIntrospector.java +0 -813
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/MemberKey.java +0 -83
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/MethodFilter.java +0 -12
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/NopAnnotationIntrospector.java +0 -209
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/POJOPropertiesCollector.java +0 -713
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/POJOPropertyBuilder.java +0 -648
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/VisibilityChecker.java +0 -424
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/package-info.java +0 -12
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/NamedType.java +0 -53
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/SubtypeResolver.java +0 -39
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/TypeIdResolver.java +0 -74
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/TypeResolverBuilder.java +0 -151
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsArrayTypeDeserializer.java +0 -126
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsArrayTypeSerializer.java +0 -110
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsExternalTypeDeserializer.java +0 -37
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsExternalTypeSerializer.java +0 -129
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsPropertyTypeDeserializer.java +0 -191
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsPropertyTypeSerializer.java +0 -69
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsWrapperTypeDeserializer.java +0 -103
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsWrapperTypeSerializer.java +0 -121
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/ClassNameIdResolver.java +0 -138
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/MinimalClassNameIdResolver.java +0 -66
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/StdSubtypeResolver.java +0 -151
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/StdTypeResolverBuilder.java +0 -202
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeDeserializerBase.java +0 -154
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeIdResolverBase.java +0 -37
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeNameIdResolver.java +0 -154
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeSerializerBase.java +0 -31
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/package-info.java +0 -9
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/package-info.java +0 -10
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleAbstractTypeResolver.java +0 -86
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleDeserializers.java +0 -130
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleKeyDeserializers.java +0 -59
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleModule.java +0 -265
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleSerializers.java +0 -206
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleValueInstantiators.java +0 -45
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/package-info.java +0 -16
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/package-info.java +0 -34
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/AnyGetterWriter.java +0 -48
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ArraySerializers.java +0 -7
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BasicSerializerFactory.java +0 -806
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanPropertyFilter.java +0 -30
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanPropertyWriter.java +0 -512
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializer.java +0 -126
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializerBuilder.java +0 -140
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializerFactory.java +0 -780
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializerModifier.java +0 -95
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ContainerSerializers.java +0 -8
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/CustomSerializerFactory.java +0 -293
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/EnumSerializer.java +0 -17
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/FilterProvider.java +0 -23
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/FilteredBeanPropertyWriter.java +0 -96
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/JdkSerializers.java +0 -11
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/MapSerializer.java +0 -58
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/PropertyBuilder.java +0 -372
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ScalarSerializerBase.java +0 -18
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/SerializerBase.java +0 -23
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/StdKeySerializer.java +0 -10
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/StdSerializerProvider.java +0 -852
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/StdSerializers.java +0 -372
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ToStringSerializer.java +0 -14
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/FailingSerializer.java +0 -43
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/JsonSerializerMap.java +0 -93
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/PropertySerializerMap.java +0 -231
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/ReadOnlyClassToSerializerMap.java +0 -73
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/SerializerCache.java +0 -304
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/SimpleBeanPropertyFilter.java +0 -109
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/SimpleFilterProvider.java +0 -114
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/UnknownSerializer.java +0 -54
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/UnwrappingBeanPropertyWriter.java +0 -99
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/UnwrappingBeanSerializer.java +0 -76
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/package-info.java +0 -5
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/package-info.java +0 -5
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/AsArraySerializerBase.java +0 -185
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/BeanSerializerBase.java +0 -340
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/CalendarSerializer.java +0 -43
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/CollectionSerializer.java +0 -113
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ContainerSerializerBase.java +0 -51
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/DateSerializer.java +0 -42
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/EnumMapSerializer.java +0 -218
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/EnumSerializer.java +0 -84
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/EnumSetSerializer.java +0 -47
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/IndexedStringListSerializer.java +0 -116
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/InetAddressSerializer.java +0 -51
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/IterableSerializer.java +0 -63
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/JsonValueSerializer.java +0 -233
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/MapSerializer.java +0 -422
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/NonTypedScalarSerializerBase.java +0 -34
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/NullSerializer.java +0 -38
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ObjectArraySerializer.java +0 -281
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/RawSerializer.java +0 -52
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ScalarSerializerBase.java +0 -52
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/SerializableSerializer.java +0 -99
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/SerializableWithTypeSerializer.java +0 -90
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/SerializerBase.java +0 -184
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StaticListSerializerBase.java +0 -46
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdArraySerializers.java +0 -476
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdContainerSerializers.java +0 -249
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdJdkSerializers.java +0 -195
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdKeySerializer.java +0 -43
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdKeySerializers.java +0 -95
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StringCollectionSerializer.java +0 -119
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StringSerializer.java +0 -36
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/TimeZoneSerializer.java +0 -38
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ToStringSerializer.java +0 -73
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/TokenBufferSerializer.java +0 -66
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/ArrayType.java +0 -260
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/ClassKey.java +0 -94
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/CollectionLikeType.java +0 -204
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/CollectionType.java +0 -94
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/HierarchicType.java +0 -88
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/MapLikeType.java +0 -265
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/MapType.java +0 -146
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/SimpleType.java +0 -250
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeBase.java +0 -148
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeBindings.java +0 -351
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeFactory.java +0 -1165
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeModifier.java +0 -38
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeParser.java +0 -134
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/package-info.java +0 -10
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Annotations.java +0 -23
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ArrayBuilders.java +0 -293
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/BeanUtil.java +0 -260
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ClassUtil.java +0 -645
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Comparators.java +0 -48
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/EnumResolver.java +0 -108
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/EnumValues.java +0 -82
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ISO8601DateFormat.java +0 -52
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ISO8601Utils.java +0 -230
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/JSONPObject.java +0 -105
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/JSONWrappedObject.java +0 -117
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/LRUMap.java +0 -28
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/LinkedNode.java +0 -45
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Named.java +0 -10
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ObjectBuffer.java +0 -257
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/PrimitiveArrayBuilder.java +0 -180
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Provider.java +0 -21
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/RootNameLookup.java +0 -54
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/StdDateFormat.java +0 -348
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/package-info.java +0 -4
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ArrayNode.java +0 -758
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BaseJsonNode.java +0 -122
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BigIntegerNode.java +0 -104
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BinaryNode.java +0 -136
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BooleanNode.java +0 -84
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ContainerNode.java +0 -185
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/DecimalNode.java +0 -96
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/DoubleNode.java +0 -106
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/IntNode.java +0 -122
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/JsonNodeFactory.java +0 -222
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/LongNode.java +0 -99
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/MissingNode.java +0 -97
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/NodeCursor.java +0 -222
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/NullNode.java +0 -58
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/NumericNode.java +0 -72
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ObjectNode.java +0 -696
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/POJONode.java +0 -145
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/TextNode.java +0 -299
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/TreeTraversingParser.java +0 -383
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ValueNode.java +0 -58
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/package-info.java +0 -8
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/package-info.java +0 -30
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/JsonSchema.java +0 -82
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/JsonSerializableSchema.java +0 -46
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/SchemaAware.java +0 -25
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/package-info.java +0 -5
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/BytesToNameCanonicalizer.java +0 -969
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/CharsToNameCanonicalizer.java +0 -578
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name.java +0 -50
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name1.java +0 -44
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name2.java +0 -40
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name3.java +0 -39
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/NameN.java +0 -68
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/package-info.java +0 -5
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/type/JavaType.java +0 -503
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/type/TypeReference.java +0 -60
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/type/package-info.java +0 -8
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/BufferRecycler.java +0 -109
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/ByteArrayBuilder.java +0 -294
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/CharTypes.java +0 -237
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/DefaultPrettyPrinter.java +0 -282
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/InternCache.java +0 -49
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/JsonGeneratorDelegate.java +0 -273
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/JsonParserDelegate.java +0 -251
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/JsonParserSequence.java +0 -150
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/MinimalPrettyPrinter.java +0 -152
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/TextBuffer.java +0 -707
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/TokenBuffer.java +0 -1233
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/VersionUtil.java +0 -79
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/package-info.java +0 -4
@@ -1,126 +0,0 @@
|
|
1
|
-
package sh.calaba.org.codehaus.jackson.map.ser;
|
2
|
-
|
3
|
-
import java.io.IOException;
|
4
|
-
|
5
|
-
import sh.calaba.org.codehaus.jackson.JsonGenerationException;
|
6
|
-
import sh.calaba.org.codehaus.jackson.JsonGenerator;
|
7
|
-
import sh.calaba.org.codehaus.jackson.map.*;
|
8
|
-
import sh.calaba.org.codehaus.jackson.map.ser.impl.UnwrappingBeanSerializer;
|
9
|
-
import sh.calaba.org.codehaus.jackson.map.ser.std.BeanSerializerBase;
|
10
|
-
import sh.calaba.org.codehaus.jackson.type.JavaType;
|
11
|
-
|
12
|
-
/**
|
13
|
-
* Serializer class that can serialize arbitrary bean objects
|
14
|
-
*<p>
|
15
|
-
* Implementation note: we will post-process resulting serializer,
|
16
|
-
* to figure out actual serializers for final types. This must be
|
17
|
-
* done from {@link #resolve} method, and NOT from constructor;
|
18
|
-
* otherwise we could end up with an infinite loop.
|
19
|
-
*<p>
|
20
|
-
* Since 1.7 instances are immutable; this is achieved by using a
|
21
|
-
* separate builder during construction process.
|
22
|
-
*/
|
23
|
-
public class BeanSerializer
|
24
|
-
extends BeanSerializerBase
|
25
|
-
{
|
26
|
-
/*
|
27
|
-
/**********************************************************
|
28
|
-
/* Life-cycle: constructors
|
29
|
-
/**********************************************************
|
30
|
-
*/
|
31
|
-
|
32
|
-
/**
|
33
|
-
* @param type Nominal type of values handled by this serializer
|
34
|
-
* @param properties Property writers used for actual serialization
|
35
|
-
*/
|
36
|
-
public BeanSerializer(JavaType type,
|
37
|
-
BeanPropertyWriter[] properties, BeanPropertyWriter[] filteredProperties,
|
38
|
-
AnyGetterWriter anyGetterWriter,
|
39
|
-
Object filterId)
|
40
|
-
{
|
41
|
-
super(type, properties, filteredProperties, anyGetterWriter, filterId);
|
42
|
-
}
|
43
|
-
|
44
|
-
public BeanSerializer(Class<?> rawType,
|
45
|
-
BeanPropertyWriter[] properties, BeanPropertyWriter[] filteredProperties,
|
46
|
-
AnyGetterWriter anyGetterWriter,
|
47
|
-
Object filterId)
|
48
|
-
{
|
49
|
-
super(rawType, properties, filteredProperties, anyGetterWriter, filterId);
|
50
|
-
}
|
51
|
-
|
52
|
-
/**
|
53
|
-
* Copy-constructor that is useful for sub-classes that just want to
|
54
|
-
* copy all super-class properties without modifications.
|
55
|
-
*
|
56
|
-
* @since 1.7
|
57
|
-
*/
|
58
|
-
protected BeanSerializer(BeanSerializer src) {
|
59
|
-
super(src);
|
60
|
-
}
|
61
|
-
|
62
|
-
/**
|
63
|
-
* Alternate copy constructor that can be used to construct
|
64
|
-
* standard {@link BeanSerializer} passing an instance of
|
65
|
-
* "compatible enough" source serializer.
|
66
|
-
*
|
67
|
-
* @since 1.9
|
68
|
-
*/
|
69
|
-
protected BeanSerializer(BeanSerializerBase src) {
|
70
|
-
super(src);
|
71
|
-
}
|
72
|
-
|
73
|
-
/*
|
74
|
-
/**********************************************************
|
75
|
-
/* Life-cycle: factory methods, fluent factories
|
76
|
-
/**********************************************************
|
77
|
-
*/
|
78
|
-
|
79
|
-
/**
|
80
|
-
* Method for constructing dummy bean deserializer; one that
|
81
|
-
* never outputs any properties
|
82
|
-
*/
|
83
|
-
public static BeanSerializer createDummy(Class<?> forType)
|
84
|
-
{
|
85
|
-
return new BeanSerializer(forType, NO_PROPS, null, null, null);
|
86
|
-
}
|
87
|
-
|
88
|
-
@Override
|
89
|
-
public JsonSerializer<Object> unwrappingSerializer() {
|
90
|
-
return new UnwrappingBeanSerializer(this);
|
91
|
-
}
|
92
|
-
|
93
|
-
/*
|
94
|
-
/**********************************************************
|
95
|
-
/* JsonSerializer implementation that differs between impls
|
96
|
-
/**********************************************************
|
97
|
-
*/
|
98
|
-
|
99
|
-
/**
|
100
|
-
* Main serialization method that will delegate actual output to
|
101
|
-
* configured
|
102
|
-
* {@link BeanPropertyWriter} instances.
|
103
|
-
*/
|
104
|
-
@Override
|
105
|
-
public final void serialize(Object bean, JsonGenerator jgen, SerializerProvider provider)
|
106
|
-
throws IOException, JsonGenerationException
|
107
|
-
{
|
108
|
-
jgen.writeStartObject();
|
109
|
-
if (_propertyFilterId != null) {
|
110
|
-
serializeFieldsFiltered(bean, jgen, provider);
|
111
|
-
} else {
|
112
|
-
serializeFields(bean, jgen, provider);
|
113
|
-
}
|
114
|
-
jgen.writeEndObject();
|
115
|
-
}
|
116
|
-
|
117
|
-
/*
|
118
|
-
/**********************************************************
|
119
|
-
/* Standard methods
|
120
|
-
/**********************************************************
|
121
|
-
*/
|
122
|
-
|
123
|
-
@Override public String toString() {
|
124
|
-
return "BeanSerializer for "+handledType().getName();
|
125
|
-
}
|
126
|
-
}
|
@@ -1,140 +0,0 @@
|
|
1
|
-
package sh.calaba.org.codehaus.jackson.map.ser;
|
2
|
-
|
3
|
-
import java.util.*;
|
4
|
-
|
5
|
-
import sh.calaba.org.codehaus.jackson.map.*;
|
6
|
-
import sh.calaba.org.codehaus.jackson.map.introspect.BasicBeanDescription;
|
7
|
-
|
8
|
-
/**
|
9
|
-
* Builder class used for aggregating deserialization information about
|
10
|
-
* a POJO, in order to build a {@link JsonSerializer} for serializing
|
11
|
-
* intances.
|
12
|
-
* Main reason for using separate builder class is that this makes it easier
|
13
|
-
* to make actual serializer class fully immutable.
|
14
|
-
*
|
15
|
-
* @since 1.7
|
16
|
-
*/
|
17
|
-
public class BeanSerializerBuilder
|
18
|
-
{
|
19
|
-
private final static BeanPropertyWriter[] NO_PROPERTIES = new BeanPropertyWriter[0];
|
20
|
-
|
21
|
-
/*
|
22
|
-
/**********************************************************
|
23
|
-
/* General information about POJO
|
24
|
-
/**********************************************************
|
25
|
-
*/
|
26
|
-
|
27
|
-
final protected BasicBeanDescription _beanDesc;
|
28
|
-
|
29
|
-
/*
|
30
|
-
/**********************************************************
|
31
|
-
/* Accumulated information about properties
|
32
|
-
/**********************************************************
|
33
|
-
*/
|
34
|
-
|
35
|
-
/**
|
36
|
-
* Bean properties, in order of serialization
|
37
|
-
*/
|
38
|
-
protected List<BeanPropertyWriter> _properties;
|
39
|
-
|
40
|
-
/**
|
41
|
-
* Optional array of filtered property writers; if null, no
|
42
|
-
* view-based filtering is performed.
|
43
|
-
*/
|
44
|
-
protected BeanPropertyWriter[] _filteredProperties;
|
45
|
-
|
46
|
-
/**
|
47
|
-
* Writer used for "any getter" properties, if any.
|
48
|
-
*/
|
49
|
-
protected AnyGetterWriter _anyGetter;
|
50
|
-
|
51
|
-
/**
|
52
|
-
* Id of the property filter to use for POJO, if any.
|
53
|
-
*/
|
54
|
-
protected Object _filterId;
|
55
|
-
|
56
|
-
/*
|
57
|
-
/**********************************************************
|
58
|
-
/* Construction and setter methods
|
59
|
-
/**********************************************************
|
60
|
-
*/
|
61
|
-
|
62
|
-
public BeanSerializerBuilder(BasicBeanDescription beanDesc) {
|
63
|
-
_beanDesc = beanDesc;
|
64
|
-
}
|
65
|
-
|
66
|
-
/**
|
67
|
-
* Copy-constructor that may be used for sub-classing
|
68
|
-
*/
|
69
|
-
protected BeanSerializerBuilder(BeanSerializerBuilder src) {
|
70
|
-
_beanDesc = src._beanDesc;
|
71
|
-
_properties = src._properties;
|
72
|
-
_filteredProperties = src._filteredProperties;
|
73
|
-
_anyGetter = src._anyGetter;
|
74
|
-
_filterId = src._filterId;
|
75
|
-
}
|
76
|
-
|
77
|
-
public BasicBeanDescription getBeanDescription() { return _beanDesc; }
|
78
|
-
public List<BeanPropertyWriter> getProperties() { return _properties; }
|
79
|
-
public BeanPropertyWriter[] getFilteredProperties() { return _filteredProperties; }
|
80
|
-
|
81
|
-
/**
|
82
|
-
* @since 1.9
|
83
|
-
*/
|
84
|
-
public boolean hasProperties() {
|
85
|
-
return (_properties != null) && (_properties.size() > 0);
|
86
|
-
}
|
87
|
-
|
88
|
-
public void setProperties(List<BeanPropertyWriter> properties) {
|
89
|
-
_properties = properties;
|
90
|
-
}
|
91
|
-
|
92
|
-
public void setFilteredProperties(BeanPropertyWriter[] properties) {
|
93
|
-
_filteredProperties = properties;
|
94
|
-
}
|
95
|
-
|
96
|
-
public void setAnyGetter(AnyGetterWriter anyGetter) {
|
97
|
-
_anyGetter = anyGetter;
|
98
|
-
}
|
99
|
-
|
100
|
-
public void setFilterId(Object filterId) {
|
101
|
-
_filterId = filterId;
|
102
|
-
}
|
103
|
-
|
104
|
-
/*
|
105
|
-
/**********************************************************
|
106
|
-
/* Build methods for actually creating serializer instance
|
107
|
-
/**********************************************************
|
108
|
-
*/
|
109
|
-
|
110
|
-
/**
|
111
|
-
* Method called to create {@link BeanSerializer} instance with
|
112
|
-
* all accumulated information. Will construct a serializer if we
|
113
|
-
* have enough information, or return null if not.
|
114
|
-
*/
|
115
|
-
public JsonSerializer<?> build()
|
116
|
-
{
|
117
|
-
BeanPropertyWriter[] properties;
|
118
|
-
// No properties or any getter? No real serializer; caller gets to handle
|
119
|
-
if (_properties == null || _properties.isEmpty()) {
|
120
|
-
if (_anyGetter == null) {
|
121
|
-
return null;
|
122
|
-
}
|
123
|
-
properties = NO_PROPERTIES;
|
124
|
-
} else {
|
125
|
-
properties = _properties.toArray(new BeanPropertyWriter[_properties.size()]);
|
126
|
-
|
127
|
-
}
|
128
|
-
return new BeanSerializer(_beanDesc.getType(), properties, _filteredProperties, _anyGetter, _filterId);
|
129
|
-
}
|
130
|
-
|
131
|
-
/**
|
132
|
-
* Factory method for constructing an "empty" serializer; one that
|
133
|
-
* outputs no properties (but handles JSON objects properly, including
|
134
|
-
* type information)
|
135
|
-
*/
|
136
|
-
public BeanSerializer createDummy() {
|
137
|
-
return BeanSerializer.createDummy(_beanDesc.getBeanClass());
|
138
|
-
}
|
139
|
-
}
|
140
|
-
|
@@ -1,780 +0,0 @@
|
|
1
|
-
package sh.calaba.org.codehaus.jackson.map.ser;
|
2
|
-
|
3
|
-
import java.util.*;
|
4
|
-
|
5
|
-
import sh.calaba.org.codehaus.jackson.map.*;
|
6
|
-
import sh.calaba.org.codehaus.jackson.map.introspect.*;
|
7
|
-
import sh.calaba.org.codehaus.jackson.map.jsontype.NamedType;
|
8
|
-
import sh.calaba.org.codehaus.jackson.map.jsontype.TypeResolverBuilder;
|
9
|
-
import sh.calaba.org.codehaus.jackson.map.ser.std.MapSerializer;
|
10
|
-
import sh.calaba.org.codehaus.jackson.map.type.*;
|
11
|
-
import sh.calaba.org.codehaus.jackson.map.util.ArrayBuilders;
|
12
|
-
import sh.calaba.org.codehaus.jackson.map.util.ClassUtil;
|
13
|
-
import sh.calaba.org.codehaus.jackson.type.JavaType;
|
14
|
-
|
15
|
-
/**
|
16
|
-
* Factory class that can provide serializers for any regular Java beans
|
17
|
-
* (as defined by "having at least one get method recognizable as bean
|
18
|
-
* accessor" -- where {@link Object#getClass} does not count);
|
19
|
-
* as well as for "standard" JDK types. Latter is achieved
|
20
|
-
* by delegating calls to {@link BasicSerializerFactory}
|
21
|
-
* to find serializers both for "standard" JDK types (and in some cases,
|
22
|
-
* sub-classes as is the case for collection classes like
|
23
|
-
* {@link java.util.List}s and {@link java.util.Map}s) and bean (value)
|
24
|
-
* classes.
|
25
|
-
*<p>
|
26
|
-
* Note about delegating calls to {@link BasicSerializerFactory}:
|
27
|
-
* although it would be nicer to use linear delegation
|
28
|
-
* for construction (to essentially dispatch all calls first to the
|
29
|
-
* underlying {@link BasicSerializerFactory}; or alternatively after
|
30
|
-
* failing to provide bean-based serializer}, there is a problem:
|
31
|
-
* priority levels for detecting standard types are mixed. That is,
|
32
|
-
* we want to check if a type is a bean after some of "standard" JDK
|
33
|
-
* types, but before the rest.
|
34
|
-
* As a result, "mixed" delegation used, and calls are NOT done using
|
35
|
-
* regular {@link SerializerFactory} interface but rather via
|
36
|
-
* direct calls to {@link BasicSerializerFactory}.
|
37
|
-
*<p>
|
38
|
-
* Finally, since all caching is handled by the serializer provider
|
39
|
-
* (not factory) and there is no configurability, this
|
40
|
-
* factory is stateless.
|
41
|
-
* This means that a global singleton instance can be used.
|
42
|
-
*<p>
|
43
|
-
* Notes for version 1.7 (and above): the new module registration system
|
44
|
-
* required addition of {@link #withConfig}, which has to
|
45
|
-
* be redefined by sub-classes so that they can work properly with
|
46
|
-
* pluggable additional serializer providing components.
|
47
|
-
*/
|
48
|
-
public class BeanSerializerFactory
|
49
|
-
extends BasicSerializerFactory
|
50
|
-
{
|
51
|
-
/**
|
52
|
-
* Like {@link BasicSerializerFactory}, this factory is stateless, and
|
53
|
-
* thus a single shared global (== singleton) instance can be used
|
54
|
-
* without thread-safety issues.
|
55
|
-
*/
|
56
|
-
public final static BeanSerializerFactory instance = new BeanSerializerFactory(null);
|
57
|
-
|
58
|
-
/**
|
59
|
-
* Configuration settings for this factory; immutable instance (just like this
|
60
|
-
* factory), new version created via copy-constructor (fluent-style)
|
61
|
-
*
|
62
|
-
* @since 1.7
|
63
|
-
*/
|
64
|
-
protected final Config _factoryConfig;
|
65
|
-
|
66
|
-
/*
|
67
|
-
/**********************************************************
|
68
|
-
/* Config class implementation
|
69
|
-
/**********************************************************
|
70
|
-
*/
|
71
|
-
|
72
|
-
/**
|
73
|
-
* Configuration settings container class for bean serializer factory
|
74
|
-
*
|
75
|
-
* @since 1.7
|
76
|
-
*/
|
77
|
-
public static class ConfigImpl extends Config
|
78
|
-
{
|
79
|
-
/**
|
80
|
-
* Constant for empty <code>Serializers</code> array (which by definition
|
81
|
-
* is stateless and reusable)
|
82
|
-
*/
|
83
|
-
protected final static Serializers[] NO_SERIALIZERS = new Serializers[0];
|
84
|
-
|
85
|
-
protected final static BeanSerializerModifier[] NO_MODIFIERS = new BeanSerializerModifier[0];
|
86
|
-
|
87
|
-
/**
|
88
|
-
* List of providers for additional serializers, checked before considering default
|
89
|
-
* basic or bean serialializers.
|
90
|
-
*
|
91
|
-
* @since 1.7
|
92
|
-
*/
|
93
|
-
protected final Serializers[] _additionalSerializers;
|
94
|
-
|
95
|
-
/**
|
96
|
-
* @since 1.8
|
97
|
-
*/
|
98
|
-
protected final Serializers[] _additionalKeySerializers;
|
99
|
-
|
100
|
-
/**
|
101
|
-
* List of modifiers that can change the way {@link BeanSerializer} instances
|
102
|
-
* are configured and constructed.
|
103
|
-
*/
|
104
|
-
protected final BeanSerializerModifier[] _modifiers;
|
105
|
-
|
106
|
-
public ConfigImpl() {
|
107
|
-
this(null, null, null);
|
108
|
-
}
|
109
|
-
|
110
|
-
protected ConfigImpl(Serializers[] allAdditionalSerializers,
|
111
|
-
Serializers[] allAdditionalKeySerializers,
|
112
|
-
BeanSerializerModifier[] modifiers)
|
113
|
-
{
|
114
|
-
_additionalSerializers = (allAdditionalSerializers == null) ?
|
115
|
-
NO_SERIALIZERS : allAdditionalSerializers;
|
116
|
-
_additionalKeySerializers = (allAdditionalKeySerializers == null) ?
|
117
|
-
NO_SERIALIZERS : allAdditionalKeySerializers;
|
118
|
-
_modifiers = (modifiers == null) ? NO_MODIFIERS : modifiers;
|
119
|
-
}
|
120
|
-
|
121
|
-
@Override
|
122
|
-
public Config withAdditionalSerializers(Serializers additional)
|
123
|
-
{
|
124
|
-
if (additional == null) {
|
125
|
-
throw new IllegalArgumentException("Can not pass null Serializers");
|
126
|
-
}
|
127
|
-
Serializers[] all = ArrayBuilders.insertInListNoDup(_additionalSerializers, additional);
|
128
|
-
return new ConfigImpl(all, _additionalKeySerializers, _modifiers);
|
129
|
-
}
|
130
|
-
|
131
|
-
@Override
|
132
|
-
public Config withAdditionalKeySerializers(Serializers additional)
|
133
|
-
{
|
134
|
-
if (additional == null) {
|
135
|
-
throw new IllegalArgumentException("Can not pass null Serializers");
|
136
|
-
}
|
137
|
-
Serializers[] all = ArrayBuilders.insertInListNoDup(_additionalKeySerializers, additional);
|
138
|
-
return new ConfigImpl(_additionalSerializers, all, _modifiers);
|
139
|
-
}
|
140
|
-
|
141
|
-
@Override
|
142
|
-
public Config withSerializerModifier(BeanSerializerModifier modifier)
|
143
|
-
{
|
144
|
-
if (modifier == null) {
|
145
|
-
throw new IllegalArgumentException("Can not pass null modifier");
|
146
|
-
}
|
147
|
-
BeanSerializerModifier[] modifiers = ArrayBuilders.insertInListNoDup(_modifiers, modifier);
|
148
|
-
return new ConfigImpl(_additionalSerializers, _additionalKeySerializers, modifiers);
|
149
|
-
}
|
150
|
-
|
151
|
-
@Override
|
152
|
-
public boolean hasSerializers() { return _additionalSerializers.length > 0; }
|
153
|
-
|
154
|
-
@Override
|
155
|
-
public boolean hasKeySerializers() { return _additionalKeySerializers.length > 0; }
|
156
|
-
|
157
|
-
@Override
|
158
|
-
public boolean hasSerializerModifiers() { return _modifiers.length > 0; }
|
159
|
-
|
160
|
-
@Override
|
161
|
-
public Iterable<Serializers> serializers() {
|
162
|
-
return ArrayBuilders.arrayAsIterable(_additionalSerializers);
|
163
|
-
}
|
164
|
-
|
165
|
-
@Override
|
166
|
-
public Iterable<Serializers> keySerializers() {
|
167
|
-
return ArrayBuilders.arrayAsIterable(_additionalKeySerializers);
|
168
|
-
}
|
169
|
-
|
170
|
-
@Override
|
171
|
-
public Iterable<BeanSerializerModifier> serializerModifiers() {
|
172
|
-
return ArrayBuilders.arrayAsIterable(_modifiers);
|
173
|
-
}
|
174
|
-
}
|
175
|
-
|
176
|
-
/*
|
177
|
-
/**********************************************************
|
178
|
-
/* Life-cycle: creation, configuration
|
179
|
-
/**********************************************************
|
180
|
-
*/
|
181
|
-
|
182
|
-
/**
|
183
|
-
* Constructor for creating instances with specified configuration.
|
184
|
-
*/
|
185
|
-
protected BeanSerializerFactory(Config config)
|
186
|
-
{
|
187
|
-
if (config == null) {
|
188
|
-
config = new ConfigImpl();
|
189
|
-
}
|
190
|
-
_factoryConfig = config;
|
191
|
-
}
|
192
|
-
|
193
|
-
@Override public Config getConfig() { return _factoryConfig; }
|
194
|
-
|
195
|
-
/**
|
196
|
-
* Method used by module registration functionality, to attach additional
|
197
|
-
* serializer providers into this serializer factory. This is typically
|
198
|
-
* handled by constructing a new instance with additional serializers,
|
199
|
-
* to ensure thread-safe access.
|
200
|
-
*
|
201
|
-
* @since 1.7
|
202
|
-
*/
|
203
|
-
@Override
|
204
|
-
public SerializerFactory withConfig(Config config)
|
205
|
-
{
|
206
|
-
if (_factoryConfig == config) {
|
207
|
-
return this;
|
208
|
-
}
|
209
|
-
/* 22-Nov-2010, tatu: Handling of subtypes is tricky if we do immutable-with-copy-ctor;
|
210
|
-
* and we pretty much have to here either choose between losing subtype instance
|
211
|
-
* when registering additional serializers, or losing serializers.
|
212
|
-
* Instead, let's actually just throw an error if this method is called when subtype
|
213
|
-
* has not properly overridden this method; this to indicate problem as soon as possible.
|
214
|
-
*/
|
215
|
-
if (getClass() != BeanSerializerFactory.class) {
|
216
|
-
throw new IllegalStateException("Subtype of BeanSerializerFactory ("+getClass().getName()
|
217
|
-
+") has not properly overridden method 'withAdditionalSerializers': can not instantiate subtype with "
|
218
|
-
+"additional serializer definitions");
|
219
|
-
}
|
220
|
-
return new BeanSerializerFactory(config);
|
221
|
-
}
|
222
|
-
|
223
|
-
@Override
|
224
|
-
protected Iterable<Serializers> customSerializers() {
|
225
|
-
return _factoryConfig.serializers();
|
226
|
-
}
|
227
|
-
|
228
|
-
/*
|
229
|
-
/**********************************************************
|
230
|
-
/* SerializerFactory impl
|
231
|
-
/**********************************************************
|
232
|
-
*/
|
233
|
-
|
234
|
-
/**
|
235
|
-
* Main serializer constructor method. We will have to be careful
|
236
|
-
* with respect to ordering of various method calls: essentially
|
237
|
-
* we want to reliably figure out which classes are standard types,
|
238
|
-
* and which are beans. The problem is that some bean Classes may
|
239
|
-
* implement standard interfaces (say, {@link java.lang.Iterable}.
|
240
|
-
*<p>
|
241
|
-
* Note: sub-classes may choose to complete replace implementation,
|
242
|
-
* if they want to alter priority of serializer lookups.
|
243
|
-
*/
|
244
|
-
@Override
|
245
|
-
@SuppressWarnings("unchecked")
|
246
|
-
public JsonSerializer<Object> createSerializer(SerializationConfig config, JavaType origType,
|
247
|
-
BeanProperty property)
|
248
|
-
throws JsonMappingException
|
249
|
-
{
|
250
|
-
// Very first thing, let's check if there is explicit serializer annotation:
|
251
|
-
BasicBeanDescription beanDesc = config.introspect(origType);
|
252
|
-
JsonSerializer<?> ser = findSerializerFromAnnotation(config, beanDesc.getClassInfo(), property);
|
253
|
-
if (ser != null) {
|
254
|
-
return (JsonSerializer<Object>) ser;
|
255
|
-
}
|
256
|
-
|
257
|
-
// Next: we may have annotations that further define types to use...
|
258
|
-
JavaType type = modifyTypeByAnnotation(config, beanDesc.getClassInfo(), origType);
|
259
|
-
// and if so, we consider it implicit "force static typing" instruction
|
260
|
-
boolean staticTyping = (type != origType);
|
261
|
-
|
262
|
-
// Container types differ from non-container types:
|
263
|
-
if (origType.isContainerType()) {
|
264
|
-
return (JsonSerializer<Object>) buildContainerSerializer(config, type, beanDesc, property, staticTyping);
|
265
|
-
}
|
266
|
-
|
267
|
-
// Modules may provide serializers of all types:
|
268
|
-
for (Serializers serializers : _factoryConfig.serializers()) {
|
269
|
-
ser = serializers.findSerializer(config, type, beanDesc, property);
|
270
|
-
if (ser != null) {
|
271
|
-
return (JsonSerializer<Object>) ser;
|
272
|
-
}
|
273
|
-
}
|
274
|
-
|
275
|
-
/* Otherwise, we will check "primary types"; both marker types that
|
276
|
-
* indicate specific handling (JsonSerializable), or main types that have
|
277
|
-
* precedence over container types
|
278
|
-
*/
|
279
|
-
ser = findSerializerByLookup(type, config, beanDesc, property, staticTyping);
|
280
|
-
if (ser == null) {
|
281
|
-
ser = findSerializerByPrimaryType(type, config, beanDesc, property, staticTyping);
|
282
|
-
if (ser == null) {
|
283
|
-
/* And this is where this class comes in: if type is not a
|
284
|
-
* known "primary JDK type", perhaps it's a bean? We can still
|
285
|
-
* get a null, if we can't find a single suitable bean property.
|
286
|
-
*/
|
287
|
-
ser = findBeanSerializer(config, type, beanDesc, property);
|
288
|
-
/* Finally: maybe we can still deal with it as an
|
289
|
-
* implementation of some basic JDK interface?
|
290
|
-
*/
|
291
|
-
if (ser == null) {
|
292
|
-
ser = findSerializerByAddonType(config, type, beanDesc, property, staticTyping);
|
293
|
-
}
|
294
|
-
}
|
295
|
-
}
|
296
|
-
return (JsonSerializer<Object>) ser;
|
297
|
-
}
|
298
|
-
|
299
|
-
@Override
|
300
|
-
@SuppressWarnings("unchecked")
|
301
|
-
public JsonSerializer<Object> createKeySerializer(SerializationConfig config, JavaType type,
|
302
|
-
BeanProperty property)
|
303
|
-
{
|
304
|
-
// Minor optimization: to avoid constructing beanDesc, bail out if none registered
|
305
|
-
if (!_factoryConfig.hasKeySerializers()) {
|
306
|
-
return null;
|
307
|
-
}
|
308
|
-
|
309
|
-
// We should not need any member method info; at most class annotations for Map type
|
310
|
-
BasicBeanDescription beanDesc = config.introspectClassAnnotations(type.getRawClass());
|
311
|
-
JsonSerializer<?> ser = null;
|
312
|
-
|
313
|
-
// Only thing we have here are module-provided key serializers:
|
314
|
-
for (Serializers serializers : _factoryConfig.keySerializers()) {
|
315
|
-
ser = serializers.findSerializer(config, type, beanDesc, property);
|
316
|
-
if (ser != null) {
|
317
|
-
break;
|
318
|
-
}
|
319
|
-
}
|
320
|
-
return (JsonSerializer<Object>) ser;
|
321
|
-
}
|
322
|
-
|
323
|
-
/*
|
324
|
-
/**********************************************************
|
325
|
-
/* Other public methods that are not part of
|
326
|
-
/* JsonSerializerFactory API
|
327
|
-
/**********************************************************
|
328
|
-
*/
|
329
|
-
|
330
|
-
/**
|
331
|
-
* Method that will try to construct a {@link BeanSerializer} for
|
332
|
-
* given class. Returns null if no properties are found.
|
333
|
-
*/
|
334
|
-
@SuppressWarnings("unchecked")
|
335
|
-
public JsonSerializer<Object> findBeanSerializer(SerializationConfig config, JavaType type,
|
336
|
-
BasicBeanDescription beanDesc, BeanProperty property)
|
337
|
-
throws JsonMappingException
|
338
|
-
{
|
339
|
-
// First things first: we know some types are not beans...
|
340
|
-
if (!isPotentialBeanType(type.getRawClass())) {
|
341
|
-
return null;
|
342
|
-
}
|
343
|
-
JsonSerializer<Object> serializer = constructBeanSerializer(config, beanDesc, property);
|
344
|
-
// [JACKSON-440] Need to allow overriding actual serializer, as well...
|
345
|
-
if (_factoryConfig.hasSerializerModifiers()) {
|
346
|
-
for (BeanSerializerModifier mod : _factoryConfig.serializerModifiers()) {
|
347
|
-
serializer = (JsonSerializer<Object>)mod.modifySerializer(config, beanDesc, serializer);
|
348
|
-
}
|
349
|
-
}
|
350
|
-
return serializer;
|
351
|
-
}
|
352
|
-
|
353
|
-
/**
|
354
|
-
* Method called to create a type information serializer for values of given
|
355
|
-
* non-container property
|
356
|
-
* if one is needed. If not needed (no polymorphic handling configured), should
|
357
|
-
* return null.
|
358
|
-
*
|
359
|
-
* @param baseType Declared type to use as the base type for type information serializer
|
360
|
-
*
|
361
|
-
* @return Type serializer to use for property values, if one is needed; null if not.
|
362
|
-
*
|
363
|
-
* @since 1.5
|
364
|
-
*/
|
365
|
-
public TypeSerializer findPropertyTypeSerializer(JavaType baseType, SerializationConfig config,
|
366
|
-
AnnotatedMember accessor, BeanProperty property)
|
367
|
-
throws JsonMappingException
|
368
|
-
{
|
369
|
-
AnnotationIntrospector ai = config.getAnnotationIntrospector();
|
370
|
-
TypeResolverBuilder<?> b = ai.findPropertyTypeResolver(config, accessor, baseType);
|
371
|
-
// Defaulting: if no annotations on member, check value class
|
372
|
-
if (b == null) {
|
373
|
-
return createTypeSerializer(config, baseType, property);
|
374
|
-
}
|
375
|
-
Collection<NamedType> subtypes = config.getSubtypeResolver().collectAndResolveSubtypes(accessor, config, ai);
|
376
|
-
return b.buildTypeSerializer(config, baseType, subtypes, property);
|
377
|
-
}
|
378
|
-
|
379
|
-
/**
|
380
|
-
* Method called to create a type information serializer for values of given
|
381
|
-
* container property
|
382
|
-
* if one is needed. If not needed (no polymorphic handling configured), should
|
383
|
-
* return null.
|
384
|
-
*
|
385
|
-
* @param containerType Declared type of the container to use as the base type for type information serializer
|
386
|
-
*
|
387
|
-
* @return Type serializer to use for property value contents, if one is needed; null if not.
|
388
|
-
*
|
389
|
-
* @since 1.5
|
390
|
-
*/
|
391
|
-
public TypeSerializer findPropertyContentTypeSerializer(JavaType containerType, SerializationConfig config,
|
392
|
-
AnnotatedMember accessor, BeanProperty property)
|
393
|
-
throws JsonMappingException
|
394
|
-
{
|
395
|
-
JavaType contentType = containerType.getContentType();
|
396
|
-
AnnotationIntrospector ai = config.getAnnotationIntrospector();
|
397
|
-
TypeResolverBuilder<?> b = ai.findPropertyContentTypeResolver(config, accessor, containerType);
|
398
|
-
// Defaulting: if no annotations on member, check value class
|
399
|
-
if (b == null) {
|
400
|
-
return createTypeSerializer(config, contentType, property);
|
401
|
-
}
|
402
|
-
Collection<NamedType> subtypes = config.getSubtypeResolver().collectAndResolveSubtypes(accessor, config, ai);
|
403
|
-
return b.buildTypeSerializer(config, contentType, subtypes, property);
|
404
|
-
}
|
405
|
-
|
406
|
-
/*
|
407
|
-
/**********************************************************
|
408
|
-
/* Overridable non-public factory methods
|
409
|
-
/**********************************************************
|
410
|
-
*/
|
411
|
-
|
412
|
-
/**
|
413
|
-
* Method called to construct serializer for serializing specified bean type.
|
414
|
-
*
|
415
|
-
* @since 1.6
|
416
|
-
*/
|
417
|
-
@SuppressWarnings("unchecked")
|
418
|
-
protected JsonSerializer<Object> constructBeanSerializer(SerializationConfig config,
|
419
|
-
BasicBeanDescription beanDesc, BeanProperty property)
|
420
|
-
throws JsonMappingException
|
421
|
-
{
|
422
|
-
// 13-Oct-2010, tatu: quick sanity check: never try to create bean serializer for plain Object
|
423
|
-
if (beanDesc.getBeanClass() == Object.class) {
|
424
|
-
throw new IllegalArgumentException("Can not create bean serializer for Object.class");
|
425
|
-
}
|
426
|
-
|
427
|
-
BeanSerializerBuilder builder = constructBeanSerializerBuilder(beanDesc);
|
428
|
-
|
429
|
-
// First: any detectable (auto-detect, annotations) properties to serialize?
|
430
|
-
List<BeanPropertyWriter> props = findBeanProperties(config, beanDesc);
|
431
|
-
|
432
|
-
if (props == null) {
|
433
|
-
props = new ArrayList<BeanPropertyWriter>();
|
434
|
-
}
|
435
|
-
// [JACKSON-440] Need to allow modification bean properties to serialize:
|
436
|
-
if (_factoryConfig.hasSerializerModifiers()) {
|
437
|
-
for (BeanSerializerModifier mod : _factoryConfig.serializerModifiers()) {
|
438
|
-
props = mod.changeProperties(config, beanDesc, props);
|
439
|
-
}
|
440
|
-
}
|
441
|
-
|
442
|
-
// Any properties to suppress?
|
443
|
-
props = filterBeanProperties(config, beanDesc, props);
|
444
|
-
// Do they need to be sorted in some special way?
|
445
|
-
props = sortBeanProperties(config, beanDesc, props);
|
446
|
-
|
447
|
-
// [JACKSON-440] Need to allow reordering of properties to serialize
|
448
|
-
if (_factoryConfig.hasSerializerModifiers()) {
|
449
|
-
for (BeanSerializerModifier mod : _factoryConfig.serializerModifiers()) {
|
450
|
-
props = mod.orderProperties(config, beanDesc, props);
|
451
|
-
}
|
452
|
-
}
|
453
|
-
|
454
|
-
builder.setProperties(props);
|
455
|
-
builder.setFilterId(findFilterId(config, beanDesc));
|
456
|
-
|
457
|
-
AnnotatedMethod anyGetter = beanDesc.findAnyGetter();
|
458
|
-
if (anyGetter != null) { // since 1.6
|
459
|
-
if (config.isEnabled(SerializationConfig.Feature.CAN_OVERRIDE_ACCESS_MODIFIERS)) {
|
460
|
-
anyGetter.fixAccess();
|
461
|
-
}
|
462
|
-
JavaType type = anyGetter.getType(beanDesc.bindingsForBeanType());
|
463
|
-
// copied from BasicSerializerFactory.buildMapSerializer():
|
464
|
-
boolean staticTyping = config.isEnabled(SerializationConfig.Feature.USE_STATIC_TYPING);
|
465
|
-
JavaType valueType = type.getContentType();
|
466
|
-
TypeSerializer typeSer = createTypeSerializer(config, valueType, property);
|
467
|
-
// last 2 nulls; don't know key, value serializers (yet)
|
468
|
-
MapSerializer mapSer = MapSerializer.construct(/* ignored props*/ null, type, staticTyping,
|
469
|
-
typeSer, property, null, null);
|
470
|
-
builder.setAnyGetter(new AnyGetterWriter(anyGetter, mapSer));
|
471
|
-
}
|
472
|
-
// One more thing: need to gather view information, if any:
|
473
|
-
processViews(config, builder);
|
474
|
-
// And maybe let interested parties mess with the result bit more...
|
475
|
-
if (_factoryConfig.hasSerializerModifiers()) {
|
476
|
-
for (BeanSerializerModifier mod : _factoryConfig.serializerModifiers()) {
|
477
|
-
builder = mod.updateBuilder(config, beanDesc, builder);
|
478
|
-
}
|
479
|
-
}
|
480
|
-
JsonSerializer<Object> ser = (JsonSerializer<Object>) builder.build();
|
481
|
-
|
482
|
-
/* However, after all modifications: no properties, no serializer
|
483
|
-
* (note; as per [JACKSON-670], check was moved later on from an earlier location)
|
484
|
-
*/
|
485
|
-
if (ser == null) {
|
486
|
-
/* 27-Nov-2009, tatu: Except that as per [JACKSON-201], we are
|
487
|
-
* ok with that as long as it has a recognized class annotation
|
488
|
-
* (which may come from a mix-in too)
|
489
|
-
*/
|
490
|
-
if (beanDesc.hasKnownClassAnnotations()) {
|
491
|
-
return builder.createDummy();
|
492
|
-
}
|
493
|
-
}
|
494
|
-
return ser;
|
495
|
-
}
|
496
|
-
|
497
|
-
/**
|
498
|
-
* Method called to construct a filtered writer, for given view
|
499
|
-
* definitions. Default implementation constructs filter that checks
|
500
|
-
* active view type to views property is to be included in.
|
501
|
-
*/
|
502
|
-
protected BeanPropertyWriter constructFilteredBeanWriter(BeanPropertyWriter writer, Class<?>[] inViews)
|
503
|
-
{
|
504
|
-
return FilteredBeanPropertyWriter.constructViewBased(writer, inViews);
|
505
|
-
}
|
506
|
-
|
507
|
-
protected PropertyBuilder constructPropertyBuilder(SerializationConfig config,
|
508
|
-
BasicBeanDescription beanDesc)
|
509
|
-
{
|
510
|
-
return new PropertyBuilder(config, beanDesc);
|
511
|
-
}
|
512
|
-
|
513
|
-
protected BeanSerializerBuilder constructBeanSerializerBuilder(BasicBeanDescription beanDesc) {
|
514
|
-
return new BeanSerializerBuilder(beanDesc);
|
515
|
-
}
|
516
|
-
|
517
|
-
/**
|
518
|
-
* Method called to find filter that is configured to be used with bean
|
519
|
-
* serializer being built, if any.
|
520
|
-
*
|
521
|
-
* @since 1.7
|
522
|
-
*/
|
523
|
-
protected Object findFilterId(SerializationConfig config, BasicBeanDescription beanDesc)
|
524
|
-
{
|
525
|
-
return config.getAnnotationIntrospector().findFilterId(beanDesc.getClassInfo());
|
526
|
-
}
|
527
|
-
|
528
|
-
/*
|
529
|
-
/**********************************************************
|
530
|
-
/* Overridable non-public introspection methods
|
531
|
-
/**********************************************************
|
532
|
-
*/
|
533
|
-
|
534
|
-
/**
|
535
|
-
* Helper method used to skip processing for types that we know
|
536
|
-
* can not be (i.e. are never consider to be) beans:
|
537
|
-
* things like primitives, Arrays, Enums, and proxy types.
|
538
|
-
*<p>
|
539
|
-
* Note that usually we shouldn't really be getting these sort of
|
540
|
-
* types anyway; but better safe than sorry.
|
541
|
-
*/
|
542
|
-
protected boolean isPotentialBeanType(Class<?> type)
|
543
|
-
{
|
544
|
-
return (ClassUtil.canBeABeanType(type) == null) && !ClassUtil.isProxyType(type);
|
545
|
-
}
|
546
|
-
|
547
|
-
/**
|
548
|
-
* Method used to collect all actual serializable properties.
|
549
|
-
* Can be overridden to implement custom detection schemes.
|
550
|
-
*/
|
551
|
-
protected List<BeanPropertyWriter> findBeanProperties(SerializationConfig config, BasicBeanDescription beanDesc)
|
552
|
-
throws JsonMappingException
|
553
|
-
{
|
554
|
-
List<BeanPropertyDefinition> properties = beanDesc.findProperties();
|
555
|
-
AnnotationIntrospector intr = config.getAnnotationIntrospector();
|
556
|
-
|
557
|
-
// [JACKSON-429]: ignore specified types
|
558
|
-
removeIgnorableTypes(config, beanDesc, properties);
|
559
|
-
|
560
|
-
// and possibly remove ones without matching mutator...
|
561
|
-
if (config.isEnabled(SerializationConfig.Feature.REQUIRE_SETTERS_FOR_GETTERS)) {
|
562
|
-
removeSetterlessGetters(config, beanDesc, properties);
|
563
|
-
}
|
564
|
-
|
565
|
-
// nothing? can't proceed (caller may or may not throw an exception)
|
566
|
-
if (properties.isEmpty()) {
|
567
|
-
return null;
|
568
|
-
}
|
569
|
-
|
570
|
-
// null is for value type serializer, which we don't have access to from here (ditto for bean prop)
|
571
|
-
boolean staticTyping = usesStaticTyping(config, beanDesc, null, null);
|
572
|
-
PropertyBuilder pb = constructPropertyBuilder(config, beanDesc);
|
573
|
-
|
574
|
-
ArrayList<BeanPropertyWriter> result = new ArrayList<BeanPropertyWriter>(properties.size());
|
575
|
-
TypeBindings typeBind = beanDesc.bindingsForBeanType();
|
576
|
-
// [JACKSON-98]: start with field properties, if any
|
577
|
-
for (BeanPropertyDefinition property : properties) {
|
578
|
-
AnnotatedMember accessor = property.getAccessor();
|
579
|
-
// [JACKSON-235]: suppress writing of back references
|
580
|
-
AnnotationIntrospector.ReferenceProperty prop = intr.findReferenceType(accessor);
|
581
|
-
if (prop != null && prop.isBackReference()) {
|
582
|
-
continue;
|
583
|
-
}
|
584
|
-
String name = property.getName();
|
585
|
-
if (accessor instanceof AnnotatedMethod) {
|
586
|
-
result.add(_constructWriter(config, typeBind, pb, staticTyping, name, (AnnotatedMethod) accessor));
|
587
|
-
} else {
|
588
|
-
result.add(_constructWriter(config, typeBind, pb, staticTyping, name, (AnnotatedField) accessor));
|
589
|
-
}
|
590
|
-
}
|
591
|
-
return result;
|
592
|
-
}
|
593
|
-
|
594
|
-
/*
|
595
|
-
/**********************************************************
|
596
|
-
/* Overridable non-public methods for manipulating bean properties
|
597
|
-
/**********************************************************
|
598
|
-
*/
|
599
|
-
|
600
|
-
/**
|
601
|
-
* Overridable method that can filter out properties. Default implementation
|
602
|
-
* checks annotations class may have.
|
603
|
-
*/
|
604
|
-
protected List<BeanPropertyWriter> filterBeanProperties(SerializationConfig config,
|
605
|
-
BasicBeanDescription beanDesc, List<BeanPropertyWriter> props)
|
606
|
-
{
|
607
|
-
AnnotationIntrospector intr = config.getAnnotationIntrospector();
|
608
|
-
AnnotatedClass ac = beanDesc.getClassInfo();
|
609
|
-
String[] ignored = intr.findPropertiesToIgnore(ac);
|
610
|
-
if (ignored != null && ignored.length > 0) {
|
611
|
-
HashSet<String> ignoredSet = ArrayBuilders.arrayToSet(ignored);
|
612
|
-
Iterator<BeanPropertyWriter> it = props.iterator();
|
613
|
-
while (it.hasNext()) {
|
614
|
-
if (ignoredSet.contains(it.next().getName())) {
|
615
|
-
it.remove();
|
616
|
-
}
|
617
|
-
}
|
618
|
-
}
|
619
|
-
return props;
|
620
|
-
}
|
621
|
-
|
622
|
-
/**
|
623
|
-
* Overridable method that will impose given partial ordering on
|
624
|
-
* list of discovered propertied. Method can be overridden to
|
625
|
-
* provide custom ordering of properties, beyond configurability
|
626
|
-
* offered by annotations (whic allow alphabetic ordering, as
|
627
|
-
* well as explicit ordering by providing array of property names).
|
628
|
-
*<p>
|
629
|
-
* By default Creator properties will be ordered before other
|
630
|
-
* properties. Explicit custom ordering will override this implicit
|
631
|
-
* default ordering.
|
632
|
-
*/
|
633
|
-
/**
|
634
|
-
* Method that used to be called (pre-1.9) to impose configured
|
635
|
-
* ordering on list of discovered properties.
|
636
|
-
* With 1.9 it is not needed any more as ordering is done earlier.
|
637
|
-
*
|
638
|
-
* @deprecated Since 1.9 this method does nothing, so there is no
|
639
|
-
* benefit from overriding it; it will be removed from 2.0.
|
640
|
-
*/
|
641
|
-
@Deprecated
|
642
|
-
protected List<BeanPropertyWriter> sortBeanProperties(SerializationConfig config,
|
643
|
-
BasicBeanDescription beanDesc, List<BeanPropertyWriter> props)
|
644
|
-
{
|
645
|
-
return props;
|
646
|
-
}
|
647
|
-
|
648
|
-
/**
|
649
|
-
* Method called to handle view information for constructed serializer,
|
650
|
-
* based on bean property writers.
|
651
|
-
*<p>
|
652
|
-
* Note that this method is designed to be overridden by sub-classes
|
653
|
-
* if they want to provide custom view handling. As such it is not
|
654
|
-
* considered an internal implementation detail, and will be supported
|
655
|
-
* as part of API going forward.
|
656
|
-
*<p>
|
657
|
-
* NOTE: signature of this method changed in 1.7, due to other significant
|
658
|
-
* changes (esp. use of builder for serializer construction).
|
659
|
-
*/
|
660
|
-
protected void processViews(SerializationConfig config, BeanSerializerBuilder builder)
|
661
|
-
{
|
662
|
-
// [JACKSON-232]: whether non-annotated fields are included by default or not is configurable
|
663
|
-
List<BeanPropertyWriter> props = builder.getProperties();
|
664
|
-
boolean includeByDefault = config.isEnabled(SerializationConfig.Feature.DEFAULT_VIEW_INCLUSION);
|
665
|
-
final int propCount = props.size();
|
666
|
-
int viewsFound = 0;
|
667
|
-
BeanPropertyWriter[] filtered = new BeanPropertyWriter[propCount];
|
668
|
-
// Simple: view information is stored within individual writers, need to combine:
|
669
|
-
for (int i = 0; i < propCount; ++i) {
|
670
|
-
BeanPropertyWriter bpw = props.get(i);
|
671
|
-
Class<?>[] views = bpw.getViews();
|
672
|
-
if (views == null) { // no view info? include or exclude by default?
|
673
|
-
if (includeByDefault) {
|
674
|
-
filtered[i] = bpw;
|
675
|
-
}
|
676
|
-
} else {
|
677
|
-
++viewsFound;
|
678
|
-
filtered[i] = constructFilteredBeanWriter(bpw, views);
|
679
|
-
}
|
680
|
-
}
|
681
|
-
// minor optimization: if no view info, include-by-default, can leave out filtering info altogether:
|
682
|
-
if (includeByDefault && viewsFound == 0) {
|
683
|
-
return;
|
684
|
-
}
|
685
|
-
builder.setFilteredProperties(filtered);
|
686
|
-
}
|
687
|
-
|
688
|
-
/**
|
689
|
-
* Method that will apply by-type limitations (as per [JACKSON-429]);
|
690
|
-
* by default this is based on {@link sh.calaba.org.codehaus.jackson.annotate.JsonIgnoreType} annotation but
|
691
|
-
* can be supplied by module-provided introspectors too.
|
692
|
-
*/
|
693
|
-
protected void removeIgnorableTypes(SerializationConfig config, BasicBeanDescription beanDesc,
|
694
|
-
List<BeanPropertyDefinition> properties)
|
695
|
-
{
|
696
|
-
AnnotationIntrospector intr = config.getAnnotationIntrospector();
|
697
|
-
HashMap<Class<?>,Boolean> ignores = new HashMap<Class<?>,Boolean>();
|
698
|
-
Iterator<BeanPropertyDefinition> it = properties.iterator();
|
699
|
-
while (it.hasNext()) {
|
700
|
-
BeanPropertyDefinition property = it.next();
|
701
|
-
AnnotatedMember accessor = property.getAccessor();
|
702
|
-
if (accessor == null) {
|
703
|
-
it.remove();
|
704
|
-
continue;
|
705
|
-
}
|
706
|
-
Class<?> type = accessor.getRawType();
|
707
|
-
Boolean result = ignores.get(type);
|
708
|
-
if (result == null) {
|
709
|
-
BasicBeanDescription desc = config.introspectClassAnnotations(type);
|
710
|
-
AnnotatedClass ac = desc.getClassInfo();
|
711
|
-
result = intr.isIgnorableType(ac);
|
712
|
-
// default to false, non-ignorable
|
713
|
-
if (result == null) {
|
714
|
-
result = Boolean.FALSE;
|
715
|
-
}
|
716
|
-
ignores.put(type, result);
|
717
|
-
}
|
718
|
-
// lotsa work, and yes, it is ignorable type, so:
|
719
|
-
if (result.booleanValue()) {
|
720
|
-
it.remove();
|
721
|
-
}
|
722
|
-
}
|
723
|
-
}
|
724
|
-
|
725
|
-
/**
|
726
|
-
* Helper method that will remove all properties that do not have a
|
727
|
-
* mutator.
|
728
|
-
*
|
729
|
-
* @since 1.9
|
730
|
-
*/
|
731
|
-
protected void removeSetterlessGetters(SerializationConfig config, BasicBeanDescription beanDesc,
|
732
|
-
List<BeanPropertyDefinition> properties)
|
733
|
-
{
|
734
|
-
Iterator<BeanPropertyDefinition> it = properties.iterator();
|
735
|
-
while (it.hasNext()) {
|
736
|
-
BeanPropertyDefinition property = it.next();
|
737
|
-
if (!property.couldDeserialize()) {
|
738
|
-
it.remove();
|
739
|
-
}
|
740
|
-
}
|
741
|
-
}
|
742
|
-
|
743
|
-
/*
|
744
|
-
/**********************************************************
|
745
|
-
/* Internal helper methods
|
746
|
-
/**********************************************************
|
747
|
-
*/
|
748
|
-
|
749
|
-
/**
|
750
|
-
* Secondary helper method for constructing {@link BeanPropertyWriter} for
|
751
|
-
* given member (field or method).
|
752
|
-
*/
|
753
|
-
protected BeanPropertyWriter _constructWriter(SerializationConfig config, TypeBindings typeContext,
|
754
|
-
PropertyBuilder pb, boolean staticTyping, String name, AnnotatedMember accessor)
|
755
|
-
throws JsonMappingException
|
756
|
-
{
|
757
|
-
if (config.isEnabled(SerializationConfig.Feature.CAN_OVERRIDE_ACCESS_MODIFIERS)) {
|
758
|
-
accessor.fixAccess();
|
759
|
-
}
|
760
|
-
JavaType type = accessor.getType(typeContext);
|
761
|
-
BeanProperty.Std property = new BeanProperty.Std(name, type, pb.getClassAnnotations(), accessor);
|
762
|
-
|
763
|
-
// Does member specify a serializer? If so, let's use it.
|
764
|
-
JsonSerializer<Object> annotatedSerializer = findSerializerFromAnnotation(config, accessor, property);
|
765
|
-
// And how about polymorphic typing? First special to cover JAXB per-field settings:
|
766
|
-
TypeSerializer contentTypeSer = null;
|
767
|
-
if (ClassUtil.isCollectionMapOrArray(type.getRawClass())) {
|
768
|
-
contentTypeSer = findPropertyContentTypeSerializer(type, config, accessor, property);
|
769
|
-
}
|
770
|
-
|
771
|
-
// and if not JAXB collection/array with annotations, maybe regular type info?
|
772
|
-
TypeSerializer typeSer = findPropertyTypeSerializer(type, config, accessor, property);
|
773
|
-
BeanPropertyWriter pbw = pb.buildWriter(name, type, annotatedSerializer,
|
774
|
-
typeSer, contentTypeSer, accessor, staticTyping);
|
775
|
-
// how about views? (1.4+)
|
776
|
-
AnnotationIntrospector intr = config.getAnnotationIntrospector();
|
777
|
-
pbw.setViews(intr.findSerializationViews(accessor));
|
778
|
-
return pbw;
|
779
|
-
}
|
780
|
-
}
|