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.
Files changed (446) hide show
  1. checksums.yaml +4 -4
  2. data/lib/calabash-android/helpers.rb +22 -1
  3. data/lib/calabash-android/lib/TestServer.apk +0 -0
  4. data/lib/calabash-android/lib/apktool-cli-1.5.3-SNAPSHOT.jar +0 -0
  5. data/lib/calabash-android/version.rb +1 -1
  6. data/test-server/instrumentation-backend/.classpath +4 -1
  7. data/test-server/instrumentation-backend/libs/jackson-annotations-2.2.0-rc2-20130418.042013-1.jar +0 -0
  8. data/test-server/instrumentation-backend/libs/jackson-core-2.2.0-rc2-20130420.041001-2.jar +0 -0
  9. data/test-server/instrumentation-backend/libs/jackson-databind-2.2.0-rc2-20130422.041053-3.jar +0 -0
  10. data/test-server/instrumentation-backend/libs/robotium-solo-4.1.jar +0 -0
  11. data/test-server/instrumentation-backend/src/org/antlr/runtime/LegacyCommonTokenStream.java +6 -1
  12. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugTokenStream.java +3 -3
  13. data/test-server/instrumentation-backend/src/org/antlr/runtime/misc/FastQueue.java +1 -1
  14. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/BaseTreeAdaptor.java +4 -4
  15. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/CommonErrorNode.java +8 -1
  16. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeIterator.java +2 -3
  17. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/CalabashInstrumentationTestRunner.java +1 -1
  18. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/InstrumentationBackend.java +2 -2
  19. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/HttpServer.java +21 -11
  20. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/NanoHTTPD.java +127 -68
  21. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/button/PressButtonText.java +2 -2
  22. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/button/PressImageButtonDescription.java +2 -3
  23. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/Swipe.java +0 -1
  24. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/list/GetListData.java +1 -1
  25. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/list/GetListItemProperties.java +1 -1
  26. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/list/GetListItemText.java +1 -1
  27. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/AssertGridViewContainsNoDuplicates.java +4 -4
  28. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/Press.java +1 -1
  29. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/SelectTab.java +4 -4
  30. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForProgress.java +1 -1
  31. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForTab.java +4 -4
  32. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/QueryHelper.java +2 -1
  33. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/json/JSONUtils.java +1 -1
  34. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/QueryResult.java +2 -2
  35. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryASTClassName.java +0 -2
  36. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryUtils.java +3 -2
  37. metadata +7 -411
  38. data/test-server/instrumentation-backend/libs/robotium-solo-3.6.jar +0 -0
  39. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/activity/GetOpenedActivities.java +0 -31
  40. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/activity/GoBackToActivity.java +0 -67
  41. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Base64Variant.java +0 -413
  42. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Base64Variants.java +0 -90
  43. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/FormatSchema.java +0 -29
  44. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonEncoding.java +0 -47
  45. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonFactory.java +0 -937
  46. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonGenerationException.java +0 -28
  47. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonGenerator.java +0 -1197
  48. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonLocation.java +0 -141
  49. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonNode.java +0 -879
  50. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonParseException.java +0 -23
  51. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonParser.java +0 -1434
  52. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonProcessingException.java +0 -80
  53. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonStreamContext.java +0 -122
  54. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonToken.java +0 -161
  55. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/ObjectCodec.java +0 -157
  56. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/PrettyPrinter.java +0 -166
  57. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/SerializableString.java +0 -54
  58. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Version.java +0 -90
  59. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Versioned.java +0 -20
  60. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JacksonAnnotation.java +0 -20
  61. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonAnyGetter.java +0 -25
  62. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonAnySetter.java +0 -24
  63. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonAutoDetect.java +0 -148
  64. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonBackReference.java +0 -41
  65. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonCreator.java +0 -19
  66. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonGetter.java +0 -35
  67. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonIgnore.java +0 -57
  68. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonIgnoreProperties.java +0 -48
  69. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonIgnoreType.java +0 -33
  70. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonManagedReference.java +0 -41
  71. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonMethod.java +0 -90
  72. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonProperty.java +0 -38
  73. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonPropertyOrder.java +0 -46
  74. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonRawValue.java +0 -33
  75. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonSetter.java +0 -33
  76. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonSubTypes.java +0 -44
  77. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonTypeInfo.java +0 -236
  78. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonTypeName.java +0 -28
  79. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonUnwrapped.java +0 -76
  80. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonValue.java +0 -46
  81. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonWriteNullProperties.java +0 -34
  82. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/package-info.java +0 -16
  83. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/DataFormatDetector.java +0 -176
  84. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/DataFormatMatcher.java +0 -117
  85. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/InputAccessor.java +0 -130
  86. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/MatchStrength.java +0 -64
  87. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/package-info.java +0 -8
  88. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/ByteSourceBootstrapper.java +0 -518
  89. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/DefaultPrettyPrinter.java +0 -13
  90. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/Indenter.java +0 -23
  91. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonGeneratorBase.java +0 -570
  92. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonNumericParserBase.java +0 -20
  93. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonParserBase.java +0 -1067
  94. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonParserMinimalBase.java +0 -539
  95. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonReadContext.java +0 -188
  96. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonWriteContext.java +0 -178
  97. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/ReaderBasedParser.java +0 -1815
  98. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/ReaderBasedParserBase.java +0 -228
  99. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/StreamBasedParserBase.java +0 -197
  100. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/Utf8Generator.java +0 -1757
  101. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/Utf8StreamParser.java +0 -2966
  102. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/WriterBasedGenerator.java +0 -1815
  103. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/package-info.java +0 -6
  104. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/BaseReader.java +0 -117
  105. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/CharacterEscapes.java +0 -73
  106. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/IOContext.java +0 -239
  107. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/InputDecorator.java +0 -67
  108. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/JsonStringEncoder.java +0 -408
  109. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/MergedStream.java +0 -145
  110. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/NumberInput.java +0 -303
  111. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/NumberOutput.java +0 -398
  112. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/OutputDecorator.java +0 -40
  113. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/SegmentedStringWriter.java +0 -104
  114. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/SerializedString.java +0 -114
  115. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/UTF32Reader.java +0 -214
  116. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/UTF8Writer.java +0 -387
  117. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/package.html +0 -4
  118. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/AbstractTypeResolver.java +0 -63
  119. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/AnnotationIntrospector.java +0 -1485
  120. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/BeanDescription.java +0 -171
  121. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/BeanProperty.java +0 -123
  122. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/BeanPropertyDefinition.java +0 -66
  123. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ClassIntrospector.java +0 -117
  124. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ContextualDeserializer.java +0 -38
  125. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ContextualKeyDeserializer.java +0 -33
  126. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ContextualSerializer.java +0 -38
  127. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializationConfig.java +0 -926
  128. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializationContext.java +0 -262
  129. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializationProblemHandler.java +0 -56
  130. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializerFactory.java +0 -356
  131. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializerProvider.java +0 -185
  132. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/Deserializers.java +0 -339
  133. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/HandlerInstantiator.java +0 -115
  134. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/InjectableValues.java +0 -85
  135. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonDeserializer.java +0 -166
  136. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonMappingException.java +0 -335
  137. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonSerializable.java +0 -34
  138. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonSerializableWithType.java +0 -22
  139. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonSerializer.java +0 -138
  140. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/KeyDeserializer.java +0 -31
  141. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/KeyDeserializers.java +0 -21
  142. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/MapperConfig.java +0 -1154
  143. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/MappingIterator.java +0 -190
  144. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/MappingJsonFactory.java +0 -81
  145. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/Module.java +0 -255
  146. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ObjectMapper.java +0 -2885
  147. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ObjectReader.java +0 -958
  148. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ObjectWriter.java +0 -554
  149. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/PropertyNamingStrategy.java +0 -258
  150. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ResolvableDeserializer.java +0 -23
  151. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ResolvableSerializer.java +0 -23
  152. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/RuntimeJsonMappingException.java +0 -21
  153. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/SerializationConfig.java +0 -1041
  154. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/SerializerFactory.java +0 -198
  155. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/SerializerProvider.java +0 -552
  156. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/Serializers.java +0 -137
  157. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/TypeDeserializer.java +0 -118
  158. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/TypeSerializer.java +0 -164
  159. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JacksonInject.java +0 -30
  160. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JacksonStdImpl.java +0 -25
  161. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonCachable.java +0 -32
  162. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonDeserialize.java +0 -109
  163. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonFilter.java +0 -31
  164. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonRootName.java +0 -29
  165. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonSerialize.java +0 -216
  166. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonTypeIdResolver.java +0 -35
  167. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonTypeResolver.java +0 -28
  168. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonValueInstantiator.java +0 -26
  169. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonView.java +0 -37
  170. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/NoClass.java +0 -19
  171. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/package-info.java +0 -5
  172. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/AbstractDeserializer.java +0 -102
  173. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ArrayDeserializer.java +0 -28
  174. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ArrayDeserializers.java +0 -11
  175. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BasicDeserializerFactory.java +0 -894
  176. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializer.java +0 -1537
  177. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializerBuilder.java +0 -277
  178. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializerFactory.java +0 -1474
  179. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializerModifier.java +0 -58
  180. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/CollectionDeserializer.java +0 -47
  181. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ContainerDeserializer.java +0 -14
  182. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/CustomDeserializerFactory.java +0 -227
  183. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/DateDeserializer.java +0 -9
  184. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/EnumDeserializer.java +0 -15
  185. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/EnumResolver.java +0 -17
  186. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/FromStringDeserializer.java +0 -13
  187. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/JsonNodeDeserializer.java +0 -54
  188. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/MapDeserializer.java +0 -44
  189. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/SettableAnyProperty.java +0 -177
  190. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/SettableBeanProperty.java +0 -827
  191. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializationContext.java +0 -326
  192. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializer.java +0 -94
  193. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializerProvider.java +0 -494
  194. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializers.java +0 -119
  195. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdKeyDeserializer.java +0 -12
  196. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdKeyDeserializers.java +0 -11
  197. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdScalarDeserializer.java +0 -13
  198. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ThrowableDeserializer.java +0 -13
  199. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/UntypedObjectDeserializer.java +0 -9
  200. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ValueInstantiator.java +0 -280
  201. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ValueInstantiators.java +0 -52
  202. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/BeanPropertyMap.java +0 -257
  203. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/CreatorCollector.java +0 -141
  204. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/CreatorProperty.java +0 -152
  205. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/ExternalTypeHandler.java +0 -173
  206. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/PropertyBasedCreator.java +0 -117
  207. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/PropertyValue.java +0 -117
  208. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/PropertyValueBuffer.java +0 -102
  209. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/UnwrappedPropertyHandler.java +0 -41
  210. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/ValueInjector.java +0 -45
  211. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/package-info.java +0 -9
  212. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/package-info.java +0 -5
  213. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/AtomicBooleanDeserializer.java +0 -22
  214. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/AtomicReferenceDeserializer.java +0 -47
  215. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/CalendarDeserializer.java +0 -47
  216. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ClassDeserializer.java +0 -49
  217. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/CollectionDeserializer.java +0 -265
  218. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ContainerDeserializerBase.java +0 -37
  219. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/DateDeserializer.java +0 -30
  220. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/EnumDeserializer.java +0 -139
  221. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/EnumMapDeserializer.java +0 -90
  222. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/EnumSetDeserializer.java +0 -89
  223. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/FromStringDeserializer.java +0 -265
  224. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/JavaTypeDeserializer.java +0 -38
  225. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/JsonNodeDeserializer.java +0 -314
  226. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/MapDeserializer.java +0 -412
  227. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ObjectArrayDeserializer.java +0 -201
  228. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/PrimitiveArrayDeserializers.java +0 -583
  229. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdDeserializer.java +0 -1136
  230. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdKeyDeserializer.java +0 -340
  231. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdKeyDeserializers.java +0 -108
  232. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdScalarDeserializer.java +0 -34
  233. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdValueInstantiator.java +0 -392
  234. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StringCollectionDeserializer.java +0 -227
  235. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StringDeserializer.java +0 -55
  236. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ThrowableDeserializer.java +0 -164
  237. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/TimestampDeserializer.java +0 -30
  238. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/TokenBufferDeserializer.java +0 -36
  239. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/UntypedObjectDeserializer.java +0 -248
  240. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/package-info.java +0 -15
  241. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/exc/UnrecognizedPropertyException.java +0 -75
  242. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/DOMDeserializer.java +0 -65
  243. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/OptionalHandlerFactory.java +0 -217
  244. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/package-info.java +0 -23
  245. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/Annotated.java +0 -85
  246. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedClass.java +0 -980
  247. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedConstructor.java +0 -143
  248. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedField.java +0 -119
  249. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedMember.java +0 -56
  250. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedMethod.java +0 -188
  251. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedMethodMap.java +0 -85
  252. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedParameter.java +0 -191
  253. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedWithParams.java +0 -195
  254. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotationMap.java +0 -101
  255. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/BasicBeanDescription.java +0 -615
  256. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/BasicClassIntrospector.java +0 -364
  257. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/JacksonAnnotationIntrospector.java +0 -813
  258. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/MemberKey.java +0 -83
  259. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/MethodFilter.java +0 -12
  260. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/NopAnnotationIntrospector.java +0 -209
  261. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/POJOPropertiesCollector.java +0 -713
  262. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/POJOPropertyBuilder.java +0 -648
  263. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/VisibilityChecker.java +0 -424
  264. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/package-info.java +0 -12
  265. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/NamedType.java +0 -53
  266. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/SubtypeResolver.java +0 -39
  267. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/TypeIdResolver.java +0 -74
  268. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/TypeResolverBuilder.java +0 -151
  269. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsArrayTypeDeserializer.java +0 -126
  270. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsArrayTypeSerializer.java +0 -110
  271. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsExternalTypeDeserializer.java +0 -37
  272. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsExternalTypeSerializer.java +0 -129
  273. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsPropertyTypeDeserializer.java +0 -191
  274. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsPropertyTypeSerializer.java +0 -69
  275. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsWrapperTypeDeserializer.java +0 -103
  276. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsWrapperTypeSerializer.java +0 -121
  277. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/ClassNameIdResolver.java +0 -138
  278. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/MinimalClassNameIdResolver.java +0 -66
  279. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/StdSubtypeResolver.java +0 -151
  280. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/StdTypeResolverBuilder.java +0 -202
  281. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeDeserializerBase.java +0 -154
  282. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeIdResolverBase.java +0 -37
  283. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeNameIdResolver.java +0 -154
  284. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeSerializerBase.java +0 -31
  285. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/package-info.java +0 -9
  286. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/package-info.java +0 -10
  287. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleAbstractTypeResolver.java +0 -86
  288. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleDeserializers.java +0 -130
  289. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleKeyDeserializers.java +0 -59
  290. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleModule.java +0 -265
  291. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleSerializers.java +0 -206
  292. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleValueInstantiators.java +0 -45
  293. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/package-info.java +0 -16
  294. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/package-info.java +0 -34
  295. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/AnyGetterWriter.java +0 -48
  296. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ArraySerializers.java +0 -7
  297. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BasicSerializerFactory.java +0 -806
  298. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanPropertyFilter.java +0 -30
  299. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanPropertyWriter.java +0 -512
  300. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializer.java +0 -126
  301. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializerBuilder.java +0 -140
  302. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializerFactory.java +0 -780
  303. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializerModifier.java +0 -95
  304. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ContainerSerializers.java +0 -8
  305. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/CustomSerializerFactory.java +0 -293
  306. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/EnumSerializer.java +0 -17
  307. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/FilterProvider.java +0 -23
  308. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/FilteredBeanPropertyWriter.java +0 -96
  309. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/JdkSerializers.java +0 -11
  310. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/MapSerializer.java +0 -58
  311. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/PropertyBuilder.java +0 -372
  312. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ScalarSerializerBase.java +0 -18
  313. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/SerializerBase.java +0 -23
  314. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/StdKeySerializer.java +0 -10
  315. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/StdSerializerProvider.java +0 -852
  316. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/StdSerializers.java +0 -372
  317. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ToStringSerializer.java +0 -14
  318. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/FailingSerializer.java +0 -43
  319. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/JsonSerializerMap.java +0 -93
  320. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/PropertySerializerMap.java +0 -231
  321. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/ReadOnlyClassToSerializerMap.java +0 -73
  322. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/SerializerCache.java +0 -304
  323. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/SimpleBeanPropertyFilter.java +0 -109
  324. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/SimpleFilterProvider.java +0 -114
  325. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/UnknownSerializer.java +0 -54
  326. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/UnwrappingBeanPropertyWriter.java +0 -99
  327. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/UnwrappingBeanSerializer.java +0 -76
  328. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/package-info.java +0 -5
  329. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/package-info.java +0 -5
  330. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/AsArraySerializerBase.java +0 -185
  331. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/BeanSerializerBase.java +0 -340
  332. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/CalendarSerializer.java +0 -43
  333. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/CollectionSerializer.java +0 -113
  334. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ContainerSerializerBase.java +0 -51
  335. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/DateSerializer.java +0 -42
  336. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/EnumMapSerializer.java +0 -218
  337. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/EnumSerializer.java +0 -84
  338. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/EnumSetSerializer.java +0 -47
  339. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/IndexedStringListSerializer.java +0 -116
  340. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/InetAddressSerializer.java +0 -51
  341. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/IterableSerializer.java +0 -63
  342. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/JsonValueSerializer.java +0 -233
  343. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/MapSerializer.java +0 -422
  344. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/NonTypedScalarSerializerBase.java +0 -34
  345. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/NullSerializer.java +0 -38
  346. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ObjectArraySerializer.java +0 -281
  347. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/RawSerializer.java +0 -52
  348. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ScalarSerializerBase.java +0 -52
  349. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/SerializableSerializer.java +0 -99
  350. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/SerializableWithTypeSerializer.java +0 -90
  351. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/SerializerBase.java +0 -184
  352. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StaticListSerializerBase.java +0 -46
  353. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdArraySerializers.java +0 -476
  354. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdContainerSerializers.java +0 -249
  355. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdJdkSerializers.java +0 -195
  356. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdKeySerializer.java +0 -43
  357. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdKeySerializers.java +0 -95
  358. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StringCollectionSerializer.java +0 -119
  359. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StringSerializer.java +0 -36
  360. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/TimeZoneSerializer.java +0 -38
  361. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ToStringSerializer.java +0 -73
  362. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/TokenBufferSerializer.java +0 -66
  363. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/ArrayType.java +0 -260
  364. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/ClassKey.java +0 -94
  365. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/CollectionLikeType.java +0 -204
  366. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/CollectionType.java +0 -94
  367. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/HierarchicType.java +0 -88
  368. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/MapLikeType.java +0 -265
  369. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/MapType.java +0 -146
  370. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/SimpleType.java +0 -250
  371. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeBase.java +0 -148
  372. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeBindings.java +0 -351
  373. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeFactory.java +0 -1165
  374. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeModifier.java +0 -38
  375. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeParser.java +0 -134
  376. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/package-info.java +0 -10
  377. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Annotations.java +0 -23
  378. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ArrayBuilders.java +0 -293
  379. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/BeanUtil.java +0 -260
  380. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ClassUtil.java +0 -645
  381. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Comparators.java +0 -48
  382. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/EnumResolver.java +0 -108
  383. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/EnumValues.java +0 -82
  384. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ISO8601DateFormat.java +0 -52
  385. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ISO8601Utils.java +0 -230
  386. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/JSONPObject.java +0 -105
  387. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/JSONWrappedObject.java +0 -117
  388. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/LRUMap.java +0 -28
  389. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/LinkedNode.java +0 -45
  390. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Named.java +0 -10
  391. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ObjectBuffer.java +0 -257
  392. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/PrimitiveArrayBuilder.java +0 -180
  393. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Provider.java +0 -21
  394. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/RootNameLookup.java +0 -54
  395. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/StdDateFormat.java +0 -348
  396. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/package-info.java +0 -4
  397. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ArrayNode.java +0 -758
  398. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BaseJsonNode.java +0 -122
  399. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BigIntegerNode.java +0 -104
  400. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BinaryNode.java +0 -136
  401. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BooleanNode.java +0 -84
  402. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ContainerNode.java +0 -185
  403. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/DecimalNode.java +0 -96
  404. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/DoubleNode.java +0 -106
  405. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/IntNode.java +0 -122
  406. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/JsonNodeFactory.java +0 -222
  407. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/LongNode.java +0 -99
  408. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/MissingNode.java +0 -97
  409. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/NodeCursor.java +0 -222
  410. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/NullNode.java +0 -58
  411. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/NumericNode.java +0 -72
  412. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ObjectNode.java +0 -696
  413. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/POJONode.java +0 -145
  414. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/TextNode.java +0 -299
  415. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/TreeTraversingParser.java +0 -383
  416. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ValueNode.java +0 -58
  417. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/package-info.java +0 -8
  418. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/package-info.java +0 -30
  419. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/JsonSchema.java +0 -82
  420. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/JsonSerializableSchema.java +0 -46
  421. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/SchemaAware.java +0 -25
  422. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/package-info.java +0 -5
  423. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/BytesToNameCanonicalizer.java +0 -969
  424. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/CharsToNameCanonicalizer.java +0 -578
  425. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name.java +0 -50
  426. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name1.java +0 -44
  427. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name2.java +0 -40
  428. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name3.java +0 -39
  429. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/NameN.java +0 -68
  430. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/package-info.java +0 -5
  431. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/type/JavaType.java +0 -503
  432. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/type/TypeReference.java +0 -60
  433. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/type/package-info.java +0 -8
  434. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/BufferRecycler.java +0 -109
  435. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/ByteArrayBuilder.java +0 -294
  436. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/CharTypes.java +0 -237
  437. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/DefaultPrettyPrinter.java +0 -282
  438. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/InternCache.java +0 -49
  439. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/JsonGeneratorDelegate.java +0 -273
  440. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/JsonParserDelegate.java +0 -251
  441. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/JsonParserSequence.java +0 -150
  442. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/MinimalPrettyPrinter.java +0 -152
  443. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/TextBuffer.java +0 -707
  444. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/TokenBuffer.java +0 -1233
  445. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/VersionUtil.java +0 -79
  446. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/package-info.java +0 -4
@@ -1,35 +0,0 @@
1
- package sh.calaba.org.codehaus.jackson.map.annotate;
2
-
3
- import java.lang.annotation.ElementType;
4
- import java.lang.annotation.Retention;
5
- import java.lang.annotation.RetentionPolicy;
6
- import java.lang.annotation.Target;
7
-
8
- import sh.calaba.org.codehaus.jackson.annotate.JacksonAnnotation;
9
- import sh.calaba.org.codehaus.jackson.map.jsontype.TypeIdResolver;
10
-
11
- /**
12
- * Annotation that can be used to plug a custom type identifier handler
13
- * ({@link TypeIdResolver})
14
- * to be used by
15
- * {@link sh.calaba.org.codehaus.jackson.map.TypeSerializer}s
16
- * and {@link sh.calaba.org.codehaus.jackson.map.TypeDeserializer}s
17
- * for converting between java types and type id included in JSON content.
18
- * In simplest cases this can be a simple class with static mapping between
19
- * type names and matching classes.
20
- *
21
- * @author tatu
22
- * @since 1.5
23
- */
24
- @Target({ElementType.TYPE})
25
- @Retention(RetentionPolicy.RUNTIME)
26
- @JacksonAnnotation
27
- public @interface JsonTypeIdResolver
28
- {
29
- /**
30
- * Defines implementation class of {@link TypeIdResolver} to use for
31
- * converting between external type id (type name) and actual
32
- * type of object.
33
- */
34
- public Class<? extends TypeIdResolver> value();
35
- }
@@ -1,28 +0,0 @@
1
- package sh.calaba.org.codehaus.jackson.map.annotate;
2
-
3
- import java.lang.annotation.*;
4
-
5
- import sh.calaba.org.codehaus.jackson.annotate.JacksonAnnotation;
6
- import sh.calaba.org.codehaus.jackson.map.jsontype.TypeResolverBuilder;
7
-
8
- /**
9
- * Annotation that can be used to explicitly define custom resolver
10
- * used for handling serialization and deserialization of type information,
11
- * needed for handling of polymorphic types (or sometimes just for linking
12
- * abstract types to concrete types)
13
- *
14
- * @since 1.5
15
- */
16
- @Target({ElementType.TYPE})
17
- @Retention(RetentionPolicy.RUNTIME)
18
- @JacksonAnnotation
19
- public @interface JsonTypeResolver
20
- {
21
- /**
22
- * Defines implementation class of {@link TypeResolverBuilder} which is used to construct
23
- * actual {@link sh.calaba.org.codehaus.jackson.map.TypeDeserializer} and {@link sh.calaba.org.codehaus.jackson.map.TypeDeserializer}
24
- * instances that handle reading and writing addition type information needed to support polymorphic
25
- * deserialization.
26
- */
27
- public Class<? extends TypeResolverBuilder<?>> value();
28
- }
@@ -1,26 +0,0 @@
1
- package sh.calaba.org.codehaus.jackson.map.annotate;
2
-
3
- import java.lang.annotation.ElementType;
4
- import java.lang.annotation.Retention;
5
- import java.lang.annotation.RetentionPolicy;
6
- import java.lang.annotation.Target;
7
-
8
- import sh.calaba.org.codehaus.jackson.annotate.JacksonAnnotation;
9
- import sh.calaba.org.codehaus.jackson.map.deser.ValueInstantiator;
10
-
11
- /**
12
- * Annotation that can be used to indicate a {@link ValueInstantiator} to use
13
- * for creating instances of specified type.
14
- *
15
- * @since 1.9
16
- */
17
- @Target(ElementType.TYPE)
18
- @Retention(RetentionPolicy.RUNTIME)
19
- @JacksonAnnotation
20
- public @interface JsonValueInstantiator
21
- {
22
- /**
23
- * @return {@link ValueInstantiator} to use for annotated type
24
- */
25
- public Class<? extends ValueInstantiator> value();
26
- }
@@ -1,37 +0,0 @@
1
- package sh.calaba.org.codehaus.jackson.map.annotate;
2
-
3
- import java.lang.annotation.ElementType;
4
- import java.lang.annotation.Retention;
5
- import java.lang.annotation.RetentionPolicy;
6
- import java.lang.annotation.Target;
7
-
8
- import sh.calaba.org.codehaus.jackson.annotate.JacksonAnnotation;
9
-
10
- /**
11
- * Annotation used for indicating view(s) that the property
12
- * that is defined by method or field annotated is part of.
13
- *<p>
14
- * An example annotation would be:
15
- *<pre>
16
- * \@JsonView(BasicView.class)
17
- *</pre>
18
- * which would specify that property annotated would be included
19
- * when processing (serializing, deserializing) View identified
20
- * by <code>BasicView.class</code> (or its sub-class).
21
- * If multiple View class identifiers are included, property will
22
- * be part of all of them.
23
- *
24
- * @since 1.4
25
- */
26
-
27
- @Target({ElementType.METHOD, ElementType.FIELD})
28
- @Retention(RetentionPolicy.RUNTIME)
29
- @JacksonAnnotation
30
- public @interface JsonView {
31
- /**
32
- * View or views that annotated element is part of. Views are identified
33
- * by classes, and use expected class inheritance relationship: child
34
- * views contain all elements parent views have, for example.
35
- */
36
- public Class<?>[] value() default { };
37
- }
@@ -1,19 +0,0 @@
1
- package sh.calaba.org.codehaus.jackson.map.annotate;
2
-
3
- /**
4
- * Marker class used with annotations to indicate "no class". This is
5
- * a silly but necessary work-around -- annotations can not take nulls
6
- * as either default or explicit values. Hence for class values we must
7
- * explicitly use a bogus placeholder to denote equivalent of
8
- * "no class" (for which 'null' is usually the natural choice).
9
- *<p>
10
- * Note before version 1.4, this marker class was under
11
- * "sh.calaba.org.codehaus.jackson.annotate". However, since it is only used
12
- * by annotations in "sh.calaba.org.codehaus.jackson.map.annotate" (and not externally
13
- * exposed), it was moved to that package as of version 1.5.
14
- */
15
- public final class NoClass
16
- {
17
- private NoClass() { }
18
- }
19
-
@@ -1,5 +0,0 @@
1
- /**
2
- * Annotations that directly depend on Mapper classes (not just
3
- * Jackson core) and are used for configuring Data Mapping functionality.
4
- */
5
- package sh.calaba.org.codehaus.jackson.map.annotate;
@@ -1,102 +0,0 @@
1
- package sh.calaba.org.codehaus.jackson.map.deser;
2
-
3
- import java.io.IOException;
4
-
5
- import sh.calaba.org.codehaus.jackson.JsonParser;
6
- import sh.calaba.org.codehaus.jackson.JsonProcessingException;
7
- import sh.calaba.org.codehaus.jackson.map.*;
8
- import sh.calaba.org.codehaus.jackson.type.JavaType;
9
-
10
- /**
11
- * Deserializer only used as placeholder for abstract types during polymorphic
12
- * type handling deserialization. If so, there is no real deserializer associated
13
- * with nominal type, just {@link TypeDeserializer}; and any calls that do not
14
- * pass such resolver will result in an error.
15
- *
16
- * @author tatu
17
- *
18
- * @since 1.6
19
- */
20
- public class AbstractDeserializer
21
- extends JsonDeserializer<Object>
22
- {
23
- protected final JavaType _baseType;
24
-
25
- // support for "native" types, which require special care:
26
-
27
- protected final boolean _acceptString;
28
- protected final boolean _acceptBoolean;
29
- protected final boolean _acceptInt;
30
- protected final boolean _acceptDouble;
31
-
32
- public AbstractDeserializer(JavaType bt)
33
- {
34
- _baseType = bt;
35
- Class<?> cls = bt.getRawClass();
36
- _acceptString = cls.isAssignableFrom(String.class);
37
- _acceptBoolean = (cls == Boolean.TYPE) || cls.isAssignableFrom(Boolean.class);
38
- _acceptInt = (cls == Integer.TYPE) || cls.isAssignableFrom(Integer.class);
39
- _acceptDouble = (cls == Double.TYPE) || cls.isAssignableFrom(Double.class);
40
- }
41
-
42
- @Override
43
- public Object deserializeWithType(JsonParser jp, DeserializationContext ctxt,
44
- TypeDeserializer typeDeserializer)
45
- throws IOException, JsonProcessingException
46
- {
47
- // First: support "natural" values (which are always serialized without type info!)
48
- Object result = _deserializeIfNatural(jp, ctxt);
49
- if (result != null) {
50
- return result;
51
- }
52
- return typeDeserializer.deserializeTypedFromObject(jp, ctxt);
53
- }
54
-
55
- @Override
56
- public Object deserialize(JsonParser jp, DeserializationContext ctxt)
57
- throws IOException, JsonProcessingException
58
- {
59
- // This method should never be called...
60
- throw ctxt.instantiationException(_baseType.getRawClass(), "abstract types can only be instantiated with additional type information");
61
- }
62
-
63
- protected Object _deserializeIfNatural(JsonParser jp, DeserializationContext ctxt)
64
- throws IOException, JsonProcessingException
65
- {
66
- /* As per [JACKSON-417], there is a chance we might be "natular" types
67
- * (String, Boolean, Integer, Double), which do not include any type information...
68
- * Care must be taken to only return this if return type matches, however.
69
- * Finally, we may have to consider possibility of custom handlers for
70
- * these values: but for now this should work ok.
71
- */
72
- switch (jp.getCurrentToken()) {
73
- case VALUE_STRING:
74
- if (_acceptString) {
75
- return jp.getText();
76
- }
77
- break;
78
- case VALUE_NUMBER_INT:
79
- if (_acceptInt) {
80
- return jp.getIntValue();
81
- }
82
- break;
83
-
84
- case VALUE_NUMBER_FLOAT:
85
- if (_acceptDouble) {
86
- return Double.valueOf(jp.getDoubleValue());
87
- }
88
- break;
89
- case VALUE_TRUE:
90
- if (_acceptBoolean) {
91
- return Boolean.TRUE;
92
- }
93
- break;
94
- case VALUE_FALSE:
95
- if (_acceptBoolean) {
96
- return Boolean.FALSE;
97
- }
98
- break;
99
- }
100
- return null;
101
- }
102
- }
@@ -1,28 +0,0 @@
1
- package sh.calaba.org.codehaus.jackson.map.deser;
2
-
3
- import sh.calaba.org.codehaus.jackson.map.*;
4
- import sh.calaba.org.codehaus.jackson.map.type.ArrayType;
5
-
6
- /**
7
- * @deprecated Since 1.9, use {@link sh.calaba.org.codehaus.jackson.map.deser.std.ObjectArrayDeserializer} instead.
8
- */
9
- @Deprecated
10
- public class ArrayDeserializer
11
- extends sh.calaba.org.codehaus.jackson.map.deser.std.ObjectArrayDeserializer
12
- {
13
- /**
14
- * @deprecated
15
- */
16
- @Deprecated
17
- public ArrayDeserializer(ArrayType arrayType, JsonDeserializer<Object> elemDeser)
18
- {
19
- this(arrayType, elemDeser, null);
20
- }
21
-
22
- public ArrayDeserializer(ArrayType arrayType, JsonDeserializer<Object> elemDeser,
23
- TypeDeserializer elemTypeDeser)
24
- {
25
- super(arrayType, elemDeser, elemTypeDeser);
26
- }
27
- }
28
-
@@ -1,11 +0,0 @@
1
- package sh.calaba.org.codehaus.jackson.map.deser;
2
-
3
- /**
4
- * @deprecated Since 1.9, use {@link sh.calaba.org.codehaus.jackson.map.deser.std.PrimitiveArrayDeserializers} instead.
5
- */
6
- @Deprecated
7
- public class ArrayDeserializers
8
- extends sh.calaba.org.codehaus.jackson.map.deser.std.PrimitiveArrayDeserializers
9
- {
10
- private ArrayDeserializers() { super(); }
11
- }
@@ -1,894 +0,0 @@
1
- package sh.calaba.org.codehaus.jackson.map.deser;
2
-
3
- import java.util.*;
4
- import java.util.concurrent.*;
5
- import java.util.concurrent.atomic.AtomicReference;
6
-
7
- import sh.calaba.org.codehaus.jackson.JsonNode;
8
- import sh.calaba.org.codehaus.jackson.map.*;
9
- import sh.calaba.org.codehaus.jackson.map.deser.std.AtomicReferenceDeserializer;
10
- import sh.calaba.org.codehaus.jackson.map.deser.std.CollectionDeserializer;
11
- import sh.calaba.org.codehaus.jackson.map.deser.std.EnumDeserializer;
12
- import sh.calaba.org.codehaus.jackson.map.deser.std.EnumMapDeserializer;
13
- import sh.calaba.org.codehaus.jackson.map.deser.std.EnumSetDeserializer;
14
- import sh.calaba.org.codehaus.jackson.map.deser.std.JsonNodeDeserializer;
15
- import sh.calaba.org.codehaus.jackson.map.deser.std.MapDeserializer;
16
- import sh.calaba.org.codehaus.jackson.map.deser.std.ObjectArrayDeserializer;
17
- import sh.calaba.org.codehaus.jackson.map.deser.std.PrimitiveArrayDeserializers;
18
- import sh.calaba.org.codehaus.jackson.map.deser.std.StdKeyDeserializers;
19
- import sh.calaba.org.codehaus.jackson.map.deser.std.StringCollectionDeserializer;
20
- import sh.calaba.org.codehaus.jackson.map.ext.OptionalHandlerFactory;
21
- import sh.calaba.org.codehaus.jackson.map.introspect.*;
22
- import sh.calaba.org.codehaus.jackson.map.jsontype.NamedType;
23
- import sh.calaba.org.codehaus.jackson.map.jsontype.TypeResolverBuilder;
24
- import sh.calaba.org.codehaus.jackson.map.type.*;
25
- import sh.calaba.org.codehaus.jackson.map.util.EnumResolver;
26
- import sh.calaba.org.codehaus.jackson.type.JavaType;
27
-
28
- /**
29
- * Abstract factory base class that can provide deserializers for standard
30
- * JDK classes, including collection classes and simple heuristics for
31
- * "upcasting" commmon collection interface types
32
- * (such as {@link java.util.Collection}).
33
- *<p>
34
- * Since all simple deserializers are eagerly instantiated, and there is
35
- * no additional introspection or customizability of these types,
36
- * this factory is stateless.
37
- */
38
- public abstract class BasicDeserializerFactory
39
- extends DeserializerFactory
40
- {
41
- /**
42
- * We will pre-create serializers for common non-structured
43
- * (that is things other than Collection, Map or array)
44
- * types. These need not go through factory.
45
- */
46
- final static HashMap<ClassKey, JsonDeserializer<Object>> _simpleDeserializers = StdDeserializers.constructAll();
47
-
48
- /**
49
- * Set of available key deserializers is currently limited
50
- * to standard types; and all known instances are storing
51
- * in this map.
52
- */
53
- final static HashMap<JavaType, KeyDeserializer> _keyDeserializers = StdKeyDeserializers.constructAll();
54
-
55
- /* We do some defaulting for abstract Map classes and
56
- * interfaces, to avoid having to use exact types or annotations in
57
- * cases where the most common concrete Maps will do.
58
- */
59
- @SuppressWarnings("rawtypes")
60
- final static HashMap<String, Class<? extends Map>> _mapFallbacks =
61
- new HashMap<String, Class<? extends Map>>();
62
- static {
63
- _mapFallbacks.put(Map.class.getName(), LinkedHashMap.class);
64
- _mapFallbacks.put(ConcurrentMap.class.getName(), ConcurrentHashMap.class);
65
- _mapFallbacks.put(SortedMap.class.getName(), TreeMap.class);
66
-
67
- /* 11-Jan-2009, tatu: Let's see if we can still add support for
68
- * JDK 1.6 interfaces, even if we run on 1.5. Just need to be
69
- * more careful with typos, since compiler won't notice any
70
- * problems...
71
- */
72
- _mapFallbacks.put("java.util.NavigableMap", TreeMap.class);
73
- try {
74
- Class<?> key = Class.forName("java.util.ConcurrentNavigableMap");
75
- Class<?> value = Class.forName("java.util.ConcurrentSkipListMap");
76
- @SuppressWarnings("unchecked")
77
- Class<? extends Map<?,?>> mapValue = (Class<? extends Map<?,?>>) value;
78
- _mapFallbacks.put(key.getName(), mapValue);
79
- } catch (ClassNotFoundException cnfe) { // occurs on 1.5
80
- }
81
- }
82
-
83
- /* We do some defaulting for abstract Collection classes and
84
- * interfaces, to avoid having to use exact types or annotations in
85
- * cases where the most common concrete Collection will do.
86
- */
87
- @SuppressWarnings("rawtypes")
88
- final static HashMap<String, Class<? extends Collection>> _collectionFallbacks =
89
- new HashMap<String, Class<? extends Collection>>();
90
- static {
91
- _collectionFallbacks.put(Collection.class.getName(), ArrayList.class);
92
- _collectionFallbacks.put(List.class.getName(), ArrayList.class);
93
- _collectionFallbacks.put(Set.class.getName(), HashSet.class);
94
- _collectionFallbacks.put(SortedSet.class.getName(), TreeSet.class);
95
- _collectionFallbacks.put(Queue.class.getName(), LinkedList.class);
96
-
97
- /* 11-Jan-2009, tatu: Let's see if we can still add support for
98
- * JDK 1.6 interfaces, even if we run on 1.5. Just need to be
99
- * more careful with typos, since compiler won't notice any
100
- * problems...
101
- */
102
- _collectionFallbacks.put("java.util.Deque", LinkedList.class);
103
- _collectionFallbacks.put("java.util.NavigableSet", TreeSet.class);
104
- }
105
-
106
- /**
107
- * And finally, we have special array deserializers for primitive
108
- * array types
109
- */
110
- protected final static HashMap<JavaType,JsonDeserializer<Object>> _arrayDeserializers
111
- = PrimitiveArrayDeserializers.getAll();
112
-
113
- /**
114
- * To support external/optional deserializers, we'll use this helper class
115
- * (as per [JACKSON-386])
116
- */
117
- protected OptionalHandlerFactory optionalHandlers = OptionalHandlerFactory.instance;
118
-
119
- /*
120
- /**********************************************************
121
- /* Life cycle
122
- /**********************************************************
123
- */
124
-
125
- protected BasicDeserializerFactory() { }
126
-
127
- // can't be implemented quite here
128
- @Override
129
- public abstract DeserializerFactory withConfig(DeserializerFactory.Config config);
130
-
131
- /*
132
- /**********************************************************
133
- /* Methods for sub-classes to override to provide
134
- /* custom deserializers (since 1.7)
135
- /**********************************************************
136
- */
137
-
138
- protected abstract JsonDeserializer<?> _findCustomArrayDeserializer(ArrayType type, DeserializationConfig config,
139
- DeserializerProvider p, BeanProperty property,
140
- TypeDeserializer elementTypeDeser, JsonDeserializer<?> elementDeser)
141
- throws JsonMappingException;
142
-
143
- protected abstract JsonDeserializer<?> _findCustomCollectionDeserializer(
144
- CollectionType type, DeserializationConfig config,
145
- DeserializerProvider p, BasicBeanDescription beanDesc, BeanProperty property,
146
- TypeDeserializer elementTypeDeser, JsonDeserializer<?> elementDeser)
147
- throws JsonMappingException;
148
-
149
- protected abstract JsonDeserializer<?> _findCustomCollectionLikeDeserializer(
150
- CollectionLikeType type, DeserializationConfig config,
151
- DeserializerProvider p, BasicBeanDescription beanDesc, BeanProperty property,
152
- TypeDeserializer elementTypeDeser, JsonDeserializer<?> elementDeser)
153
- throws JsonMappingException;
154
-
155
- protected abstract JsonDeserializer<?> _findCustomEnumDeserializer(Class<?> type,
156
- DeserializationConfig config, BasicBeanDescription beanDesc, BeanProperty property)
157
- throws JsonMappingException;
158
-
159
- protected abstract JsonDeserializer<?> _findCustomMapDeserializer(MapType type,
160
- DeserializationConfig config,
161
- DeserializerProvider p, BasicBeanDescription beanDesc, BeanProperty property,
162
- KeyDeserializer keyDeser,
163
- TypeDeserializer elementTypeDeser, JsonDeserializer<?> elementDeser)
164
- throws JsonMappingException;
165
-
166
- protected abstract JsonDeserializer<?> _findCustomMapLikeDeserializer(MapLikeType type,
167
- DeserializationConfig config,
168
- DeserializerProvider p, BasicBeanDescription beanDesc, BeanProperty property,
169
- KeyDeserializer keyDeser,
170
- TypeDeserializer elementTypeDeser, JsonDeserializer<?> elementDeser)
171
- throws JsonMappingException;
172
-
173
- protected abstract JsonDeserializer<?> _findCustomTreeNodeDeserializer(Class<? extends JsonNode> type,
174
- DeserializationConfig config, BeanProperty property)
175
- throws JsonMappingException;
176
-
177
- /*
178
- /**********************************************************
179
- /* JsonDeserializerFactory impl (partial)
180
- /**********************************************************
181
- */
182
-
183
- @Override
184
- public abstract ValueInstantiator findValueInstantiator(DeserializationConfig config,
185
- BasicBeanDescription beanDesc)
186
- throws JsonMappingException;
187
-
188
- @Override
189
- public abstract JavaType mapAbstractType(DeserializationConfig config, JavaType type)
190
- throws JsonMappingException;
191
-
192
- @Override
193
- public JsonDeserializer<?> createArrayDeserializer(DeserializationConfig config, DeserializerProvider p,
194
- ArrayType type, BeanProperty property)
195
- throws JsonMappingException
196
- {
197
- JavaType elemType = type.getContentType();
198
-
199
- // Very first thing: is deserializer hard-coded for elements?
200
- JsonDeserializer<Object> contentDeser = elemType.getValueHandler();
201
- if (contentDeser == null) {
202
- // Maybe special array type, such as "primitive" arrays (int[] etc)
203
- JsonDeserializer<?> deser = _arrayDeserializers.get(elemType);
204
- if (deser != null) {
205
- /* 23-Nov-2010, tatu: Although not commonly needed, ability to override
206
- * deserializers for all types (including primitive arrays) is useful
207
- * so let's allow this
208
- */
209
- JsonDeserializer<?> custom = _findCustomArrayDeserializer(type, config, p, property, null, null);
210
- if (custom != null) {
211
- return custom;
212
- }
213
- return deser;
214
- }
215
- // If not, generic one:
216
- if (elemType.isPrimitive()) { // sanity check
217
- throw new IllegalArgumentException("Internal error: primitive type ("+type+") passed, no array deserializer found");
218
- }
219
- }
220
- // Then optional type info (1.5): if type has been resolved, we may already know type deserializer:
221
- TypeDeserializer elemTypeDeser = elemType.getTypeHandler();
222
- // but if not, may still be possible to find:
223
- if (elemTypeDeser == null) {
224
- elemTypeDeser = findTypeDeserializer(config, elemType, property);
225
- }
226
- // 23-Nov-2010, tatu: Custom array deserializer?
227
- JsonDeserializer<?> custom = _findCustomArrayDeserializer(type, config, p, property, elemTypeDeser, contentDeser);
228
- if (custom != null) {
229
- return custom;
230
- }
231
-
232
- if (contentDeser == null) {
233
- // 'null' -> arrays have no referring fields
234
- contentDeser = p.findValueDeserializer(config, elemType, property);
235
- }
236
- return new ObjectArrayDeserializer(type, contentDeser, elemTypeDeser);
237
- }
238
-
239
- @Override
240
- public JsonDeserializer<?> createCollectionDeserializer(DeserializationConfig config, DeserializerProvider p,
241
- CollectionType type, BeanProperty property)
242
- throws JsonMappingException
243
- {
244
- // First: global defaulting:
245
- type = (CollectionType) mapAbstractType(config, type);
246
-
247
- Class<?> collectionClass = type.getRawClass();
248
- BasicBeanDescription beanDesc = config.introspectForCreation(type);
249
- // Explicit deserializer to use? (@JsonDeserialize.using)
250
- JsonDeserializer<Object> deser = findDeserializerFromAnnotation(config, beanDesc.getClassInfo(), property);
251
- if (deser != null) {
252
- return deser;
253
- }
254
- // If not, any type modifiers? (@JsonDeserialize.as)
255
- type = modifyTypeByAnnotation(config, beanDesc.getClassInfo(), type, null);
256
-
257
- JavaType contentType = type.getContentType();
258
- // Very first thing: is deserializer hard-coded for elements?
259
- JsonDeserializer<Object> contentDeser = contentType.getValueHandler();
260
-
261
- // Then optional type info (1.5): if type has been resolved, we may already know type deserializer:
262
- TypeDeserializer contentTypeDeser = contentType.getTypeHandler();
263
- // but if not, may still be possible to find:
264
- if (contentTypeDeser == null) {
265
- contentTypeDeser = findTypeDeserializer(config, contentType, property);
266
- }
267
-
268
- // 23-Nov-2010, tatu: Custom deserializer?
269
- JsonDeserializer<?> custom = _findCustomCollectionDeserializer(type, config, p, beanDesc, property,
270
- contentTypeDeser, contentDeser);
271
- if (custom != null) {
272
- return custom;
273
- }
274
-
275
- if (contentDeser == null) { // not defined by annotation
276
- // One special type: EnumSet:
277
- if (EnumSet.class.isAssignableFrom(collectionClass)) {
278
- return new EnumSetDeserializer(contentType.getRawClass(),
279
- createEnumDeserializer(config, p, contentType, property));
280
- }
281
- // But otherwise we can just use a generic value deserializer:
282
- // 'null' -> collections have no referring fields
283
- contentDeser = p.findValueDeserializer(config, contentType, property);
284
- }
285
-
286
- /* One twist: if we are being asked to instantiate an interface or
287
- * abstract Collection, we need to either find something that implements
288
- * the thing, or give up.
289
- *
290
- * Note that we do NOT try to guess based on secondary interfaces
291
- * here; that would probably not work correctly since casts would
292
- * fail later on (as the primary type is not the interface we'd
293
- * be implementing)
294
- */
295
- if (type.isInterface() || type.isAbstract()) {
296
- @SuppressWarnings({ "rawtypes" })
297
- Class<? extends Collection> fallback = _collectionFallbacks.get(collectionClass.getName());
298
- if (fallback == null) {
299
- throw new IllegalArgumentException("Can not find a deserializer for non-concrete Collection type "+type);
300
- }
301
- collectionClass = fallback;
302
- type = (CollectionType) config.constructSpecializedType(type, collectionClass);
303
- // But if so, also need to re-check creators...
304
- beanDesc = config.introspectForCreation(type);
305
- }
306
- ValueInstantiator inst = findValueInstantiator(config, beanDesc);
307
- // 13-Dec-2010, tatu: Can use more optimal deserializer if content type is String, so:
308
- if (contentType.getRawClass() == String.class) {
309
- // no value type deserializer because Strings are one of natural/native types:
310
- return new StringCollectionDeserializer(type, contentDeser, inst);
311
- }
312
- return new CollectionDeserializer(type, contentDeser, contentTypeDeser, inst);
313
- }
314
-
315
- // Copied almost verbatim from "createCollectionDeserializer" -- should try to share more code
316
- @Override
317
- public JsonDeserializer<?> createCollectionLikeDeserializer(DeserializationConfig config,
318
- DeserializerProvider p, CollectionLikeType type, BeanProperty property)
319
- throws JsonMappingException
320
- {
321
- // First: global defaulting:
322
- type = (CollectionLikeType) mapAbstractType(config, type);
323
-
324
- Class<?> collectionClass = type.getRawClass();
325
- BasicBeanDescription beanDesc = config.introspectClassAnnotations(collectionClass);
326
- // Explicit deserializer to use? (@JsonDeserialize.using)
327
- JsonDeserializer<Object> deser = findDeserializerFromAnnotation(config, beanDesc.getClassInfo(), property);
328
- if (deser != null) {
329
- return deser;
330
- }
331
- // If not, any type modifiers? (@JsonDeserialize.as)
332
- type = modifyTypeByAnnotation(config, beanDesc.getClassInfo(), type, null);
333
-
334
- JavaType contentType = type.getContentType();
335
- // Very first thing: is deserializer hard-coded for elements?
336
- JsonDeserializer<Object> contentDeser = contentType.getValueHandler();
337
-
338
- // Then optional type info (1.5): if type has been resolved, we may already know type deserializer:
339
- TypeDeserializer contentTypeDeser = contentType.getTypeHandler();
340
- // but if not, may still be possible to find:
341
- if (contentTypeDeser == null) {
342
- contentTypeDeser = findTypeDeserializer(config, contentType, property);
343
- }
344
- return _findCustomCollectionLikeDeserializer(type, config, p, beanDesc, property,
345
- contentTypeDeser, contentDeser);
346
- }
347
-
348
- @Override
349
- public JsonDeserializer<?> createMapDeserializer(DeserializationConfig config, DeserializerProvider p,
350
- MapType type, BeanProperty property)
351
- throws JsonMappingException
352
- {
353
- // First: global defaulting:
354
- type = (MapType) mapAbstractType(config, type);
355
-
356
- BasicBeanDescription beanDesc = config.introspectForCreation(type);
357
- // Explicit deserializer to use? (@JsonDeserialize.using)
358
- JsonDeserializer<Object> deser = findDeserializerFromAnnotation(config, beanDesc.getClassInfo(), property);
359
- if (deser != null) {
360
- return deser;
361
- }
362
- // If not, any type modifiers? (@JsonDeserialize.as)
363
- type = modifyTypeByAnnotation(config, beanDesc.getClassInfo(), type, null);
364
- JavaType keyType = type.getKeyType();
365
- JavaType contentType = type.getContentType();
366
-
367
- // First: is there annotation-specified deserializer for values?
368
- @SuppressWarnings("unchecked")
369
- JsonDeserializer<Object> contentDeser = (JsonDeserializer<Object>) contentType.getValueHandler();
370
-
371
- // Ok: need a key deserializer (null indicates 'default' here)
372
- KeyDeserializer keyDes = (KeyDeserializer) keyType.getValueHandler();
373
- if (keyDes == null) {
374
- keyDes = p.findKeyDeserializer(config, keyType, property);
375
- }
376
- // Then optional type info (1.5); either attached to type, or resolve separately:
377
- TypeDeserializer contentTypeDeser = contentType.getTypeHandler();
378
- // but if not, may still be possible to find:
379
- if (contentTypeDeser == null) {
380
- contentTypeDeser = findTypeDeserializer(config, contentType, property);
381
- }
382
-
383
- // 23-Nov-2010, tatu: Custom deserializer?
384
- JsonDeserializer<?> custom = _findCustomMapDeserializer(type, config, p, beanDesc, property,
385
- keyDes, contentTypeDeser, contentDeser);
386
-
387
- if (custom != null) {
388
- return custom;
389
- }
390
-
391
- if (contentDeser == null) { // nope...
392
- // 'null' -> maps have no referring fields
393
- contentDeser = p.findValueDeserializer(config, contentType, property);
394
- }
395
- /* Value handling is identical for all,
396
- * but EnumMap requires special handling for keys
397
- */
398
- Class<?> mapClass = type.getRawClass();
399
- if (EnumMap.class.isAssignableFrom(mapClass)) {
400
- Class<?> kt = keyType.getRawClass();
401
- if (kt == null || !kt.isEnum()) {
402
- throw new IllegalArgumentException("Can not construct EnumMap; generic (key) type not available");
403
- }
404
- return new EnumMapDeserializer(keyType.getRawClass(),
405
- createEnumDeserializer(config, p, keyType, property),
406
- contentDeser);
407
- }
408
-
409
- // Otherwise, generic handler works ok.
410
-
411
- /* But there is one more twist: if we are being asked to instantiate
412
- * an interface or abstract Map, we need to either find something
413
- * that implements the thing, or give up.
414
- *
415
- * Note that we do NOT try to guess based on secondary interfaces
416
- * here; that would probably not work correctly since casts would
417
- * fail later on (as the primary type is not the interface we'd
418
- * be implementing)
419
- */
420
- if (type.isInterface() || type.isAbstract()) {
421
- @SuppressWarnings("rawtypes")
422
- Class<? extends Map> fallback = _mapFallbacks.get(mapClass.getName());
423
- if (fallback == null) {
424
- throw new IllegalArgumentException("Can not find a deserializer for non-concrete Map type "+type);
425
- }
426
- mapClass = fallback;
427
- type = (MapType) config.constructSpecializedType(type, mapClass);
428
- // But if so, also need to re-check creators...
429
- beanDesc = config.introspectForCreation(type);
430
- }
431
- ValueInstantiator inst = findValueInstantiator(config, beanDesc);
432
- MapDeserializer md = new MapDeserializer(type, inst, keyDes, contentDeser, contentTypeDeser);
433
- md.setIgnorableProperties(config.getAnnotationIntrospector().findPropertiesToIgnore(beanDesc.getClassInfo()));
434
- return md;
435
- }
436
-
437
- // Copied almost verbatim from "createMapDeserializer" -- should try to share more code
438
- @Override
439
- public JsonDeserializer<?> createMapLikeDeserializer(DeserializationConfig config,
440
- DeserializerProvider p, MapLikeType type, BeanProperty property)
441
- throws JsonMappingException
442
- {
443
- // First: global defaulting:
444
- type = (MapLikeType) mapAbstractType(config, type);
445
- BasicBeanDescription beanDesc = config.introspectForCreation(type);
446
- // Explicit deserializer to use? (@JsonDeserialize.using)
447
- JsonDeserializer<Object> deser = findDeserializerFromAnnotation(config, beanDesc.getClassInfo(), property);
448
- if (deser != null) {
449
- return deser;
450
- }
451
- // If not, any type modifiers? (@JsonDeserialize.as)
452
- type = modifyTypeByAnnotation(config, beanDesc.getClassInfo(), type, null);
453
- JavaType keyType = type.getKeyType();
454
- JavaType contentType = type.getContentType();
455
-
456
- // First: is there annotation-specified deserializer for values?
457
- @SuppressWarnings("unchecked")
458
- JsonDeserializer<Object> contentDeser = (JsonDeserializer<Object>) contentType.getValueHandler();
459
-
460
- // Ok: need a key deserializer (null indicates 'default' here)
461
- KeyDeserializer keyDes = (KeyDeserializer) keyType.getValueHandler();
462
- if (keyDes == null) {
463
- keyDes = p.findKeyDeserializer(config, keyType, property);
464
- }
465
- // Then optional type info (1.5); either attached to type, or resolve separately:
466
- TypeDeserializer contentTypeDeser = contentType.getTypeHandler();
467
- // but if not, may still be possible to find:
468
- if (contentTypeDeser == null) {
469
- contentTypeDeser = findTypeDeserializer(config, contentType, property);
470
- }
471
- return _findCustomMapLikeDeserializer(type, config, p, beanDesc, property,
472
- keyDes, contentTypeDeser, contentDeser);
473
- }
474
-
475
- /**
476
- * Factory method for constructing serializers of {@link Enum} types.
477
- */
478
- @Override
479
- public JsonDeserializer<?> createEnumDeserializer(DeserializationConfig config, DeserializerProvider p,
480
- JavaType type, BeanProperty property)
481
- throws JsonMappingException
482
- {
483
- /* 18-Feb-2009, tatu: Must first check if we have a class annotation
484
- * that should override default deserializer
485
- */
486
- BasicBeanDescription beanDesc = config.introspectForCreation(type);
487
- JsonDeserializer<?> des = findDeserializerFromAnnotation(config, beanDesc.getClassInfo(), property);
488
- if (des != null) {
489
- return des;
490
- }
491
- Class<?> enumClass = type.getRawClass();
492
- // 23-Nov-2010, tatu: Custom deserializer?
493
- JsonDeserializer<?> custom = _findCustomEnumDeserializer(enumClass, config, beanDesc, property);
494
- if (custom != null) {
495
- return custom;
496
- }
497
-
498
- // [JACKSON-193] May have @JsonCreator for static factory method:
499
- for (AnnotatedMethod factory : beanDesc.getFactoryMethods()) {
500
- if (config.getAnnotationIntrospector().hasCreatorAnnotation(factory)) {
501
- int argCount = factory.getParameterCount();
502
- if (argCount == 1) {
503
- Class<?> returnType = factory.getRawType();
504
- // usually should be class, but may be just plain Enum<?> (for Enum.valueOf()?)
505
- if (returnType.isAssignableFrom(enumClass)) {
506
- return EnumDeserializer.deserializerForCreator(config, enumClass, factory);
507
- }
508
- }
509
- throw new IllegalArgumentException("Unsuitable method ("+factory+") decorated with @JsonCreator (for Enum type "
510
- +enumClass.getName()+")");
511
- }
512
- }
513
- return new EnumDeserializer(constructEnumResolver(enumClass, config));
514
- }
515
-
516
- @Override
517
- public JsonDeserializer<?> createTreeDeserializer(DeserializationConfig config, DeserializerProvider p,
518
- JavaType nodeType, BeanProperty property)
519
- throws JsonMappingException
520
- {
521
- @SuppressWarnings("unchecked")
522
- Class<? extends JsonNode> nodeClass = (Class<? extends JsonNode>) nodeType.getRawClass();
523
- // 23-Nov-2010, tatu: Custom deserializer?
524
- JsonDeserializer<?> custom = _findCustomTreeNodeDeserializer(nodeClass, config, property);
525
- if (custom != null) {
526
- return custom;
527
- }
528
- return JsonNodeDeserializer.getDeserializer(nodeClass);
529
- }
530
-
531
- /**
532
- * Method called by {@link BeanDeserializerFactory} to see if there might be a standard
533
- * deserializer registered for given type.
534
- *
535
- * @since 1.8
536
- */
537
- @SuppressWarnings("unchecked")
538
- protected JsonDeserializer<Object> findStdBeanDeserializer(DeserializationConfig config,
539
- DeserializerProvider p, JavaType type, BeanProperty property)
540
- throws JsonMappingException
541
- {
542
- Class<?> cls = type.getRawClass();
543
- // note: we do NOT check for custom deserializers here; that's for sub-class to do
544
- JsonDeserializer<Object> deser = _simpleDeserializers.get(new ClassKey(cls));
545
- if (deser != null) {
546
- return deser;
547
- }
548
-
549
- // [JACKSON-283]: AtomicReference is a rather special type...
550
- if (AtomicReference.class.isAssignableFrom(cls)) {
551
- // Must find parameterization
552
- TypeFactory tf = config.getTypeFactory();
553
- JavaType[] params = tf.findTypeParameters(type, AtomicReference.class);
554
- JavaType referencedType;
555
- if (params == null || params.length < 1) { // untyped (raw)
556
- referencedType = TypeFactory.unknownType();
557
- } else {
558
- referencedType = params[0];
559
- }
560
-
561
- JsonDeserializer<?> d2 = new AtomicReferenceDeserializer(referencedType, property);
562
- return (JsonDeserializer<Object>)d2;
563
- }
564
- // [JACKSON-386]: External/optional type handlers are handled somewhat differently
565
- JsonDeserializer<?> d = optionalHandlers.findDeserializer(type, config, p);
566
- if (d != null) {
567
- return (JsonDeserializer<Object>)d;
568
- }
569
- return null;
570
- }
571
-
572
- @Override
573
- public TypeDeserializer findTypeDeserializer(DeserializationConfig config, JavaType baseType,
574
- BeanProperty property)
575
- throws JsonMappingException
576
- {
577
- Class<?> cls = baseType.getRawClass();
578
- BasicBeanDescription bean = config.introspectClassAnnotations(cls);
579
- AnnotatedClass ac = bean.getClassInfo();
580
- AnnotationIntrospector ai = config.getAnnotationIntrospector();
581
- TypeResolverBuilder<?> b = ai.findTypeResolver(config, ac, baseType);
582
-
583
- /* Ok: if there is no explicit type info handler, we may want to
584
- * use a default. If so, config object knows what to use.
585
- */
586
- Collection<NamedType> subtypes = null;
587
- if (b == null) {
588
- b = config.getDefaultTyper(baseType);
589
- if (b == null) {
590
- return null;
591
- }
592
- } else {
593
- subtypes = config.getSubtypeResolver().collectAndResolveSubtypes(ac, config, ai);
594
- }
595
- // [JACKSON-505]: May need to figure out default implementation, if none found yet
596
- // (note: check for abstract type is not 100% mandatory, more of an optimization)
597
- if ((b.getDefaultImpl() == null) && baseType.isAbstract()) {
598
- JavaType defaultType = mapAbstractType(config, baseType);
599
- if (defaultType != null && defaultType.getRawClass() != baseType.getRawClass()) {
600
- b = b.defaultImpl(defaultType.getRawClass());
601
- }
602
- }
603
- return b.buildTypeDeserializer(config, baseType, subtypes, property);
604
- }
605
-
606
- /*
607
- /**********************************************************
608
- /* Extended API
609
- /**********************************************************
610
- */
611
-
612
- /**
613
- * Method called to create a type information deserializer for values of
614
- * given non-container property, if one is needed.
615
- * If not needed (no polymorphic handling configured for property), should return null.
616
- *<p>
617
- * Note that this method is only called for non-container bean properties,
618
- * and not for values in container types or root values (or container properties)
619
- *
620
- * @param baseType Declared base type of the value to deserializer (actual
621
- * deserializer type will be this type or its subtype)
622
- *
623
- * @return Type deserializer to use for given base type, if one is needed; null if not.
624
- *
625
- * @since 1.5
626
- */
627
- public TypeDeserializer findPropertyTypeDeserializer(DeserializationConfig config, JavaType baseType,
628
- AnnotatedMember annotated, BeanProperty property)
629
- throws JsonMappingException
630
- {
631
- AnnotationIntrospector ai = config.getAnnotationIntrospector();
632
- TypeResolverBuilder<?> b = ai.findPropertyTypeResolver(config, annotated, baseType);
633
- // Defaulting: if no annotations on member, check value class
634
- if (b == null) {
635
- return findTypeDeserializer(config, baseType, property);
636
- }
637
- // but if annotations found, may need to resolve subtypes:
638
- Collection<NamedType> subtypes = config.getSubtypeResolver().collectAndResolveSubtypes(annotated, config, ai);
639
- return b.buildTypeDeserializer(config, baseType, subtypes, property);
640
- }
641
-
642
- /**
643
- * Method called to find and create a type information deserializer for values of
644
- * given container (list, array, map) property, if one is needed.
645
- * If not needed (no polymorphic handling configured for property), should return null.
646
- *<p>
647
- * Note that this method is only called for container bean properties,
648
- * and not for values in container types or root values (or non-container properties)
649
- *
650
- * @param containerType Type of property; must be a container type
651
- * @param propertyEntity Field or method that contains container property
652
- *
653
- * @since 1.5
654
- */
655
- public TypeDeserializer findPropertyContentTypeDeserializer(DeserializationConfig config, JavaType containerType,
656
- AnnotatedMember propertyEntity, BeanProperty property)
657
- throws JsonMappingException
658
- {
659
- AnnotationIntrospector ai = config.getAnnotationIntrospector();
660
- TypeResolverBuilder<?> b = ai.findPropertyContentTypeResolver(config, propertyEntity, containerType);
661
- JavaType contentType = containerType.getContentType();
662
- // Defaulting: if no annotations on member, check class
663
- if (b == null) {
664
- return findTypeDeserializer(config, contentType, property);
665
- }
666
- // but if annotations found, may need to resolve subtypes:
667
- Collection<NamedType> subtypes = config.getSubtypeResolver().collectAndResolveSubtypes(propertyEntity, config, ai);
668
- return b.buildTypeDeserializer(config, contentType, subtypes, property);
669
- }
670
-
671
- /*
672
- /**********************************************************
673
- /* Helper methods, value/content/key type introspection
674
- /**********************************************************
675
- */
676
-
677
- /**
678
- * Helper method called to check if a class or method
679
- * has annotation that tells which class to use for deserialization.
680
- * Returns null if no such annotation found.
681
- */
682
- protected JsonDeserializer<Object> findDeserializerFromAnnotation(DeserializationConfig config,
683
- Annotated ann, BeanProperty property)
684
- throws JsonMappingException
685
- {
686
- Object deserDef = config.getAnnotationIntrospector().findDeserializer(ann);
687
- if (deserDef != null) {
688
- return _constructDeserializer(config, ann, property, deserDef);
689
- }
690
- return null;
691
- }
692
-
693
- @SuppressWarnings("unchecked")
694
- JsonDeserializer<Object> _constructDeserializer(DeserializationConfig config, Annotated ann, BeanProperty property,
695
- Object deserDef)
696
- throws JsonMappingException
697
- {
698
- if (deserDef instanceof JsonDeserializer) {
699
- JsonDeserializer<Object> deser = (JsonDeserializer<Object>) deserDef;
700
- // related to [JACKSON-569], need contextualization:
701
- if (deser instanceof ContextualDeserializer<?>) {
702
- deser = (JsonDeserializer<Object>)((ContextualDeserializer<?>) deser).createContextual(config, property);
703
- }
704
- return deser;
705
- }
706
- /* Alas, there's no way to force return type of "either class
707
- * X or Y" -- need to throw an exception after the fact
708
- */
709
- if (!(deserDef instanceof Class)) {
710
- throw new IllegalStateException("AnnotationIntrospector returned deserializer definition of type "+deserDef.getClass().getName()+"; expected type JsonDeserializer or Class<JsonDeserializer> instead");
711
- }
712
- Class<? extends JsonDeserializer<?>> deserClass = (Class<? extends JsonDeserializer<?>>) deserDef;
713
- if (!JsonDeserializer.class.isAssignableFrom(deserClass)) {
714
- throw new IllegalStateException("AnnotationIntrospector returned Class "+deserClass.getName()+"; expected Class<JsonDeserializer>");
715
- }
716
- JsonDeserializer<Object> deser = config.deserializerInstance(ann, deserClass);
717
- // related to [JACKSON-569], need contextualization:
718
- if (deser instanceof ContextualDeserializer<?>) {
719
- deser = (JsonDeserializer<Object>)((ContextualDeserializer<?>) deser).createContextual(config, property);
720
- }
721
- return deser;
722
- }
723
-
724
- /**
725
- * Method called to see if given method has annotations that indicate
726
- * a more specific type than what the argument specifies.
727
- * If annotations are present, they must specify compatible Class;
728
- * instance of which can be assigned using the method. This means
729
- * that the Class has to be raw class of type, or its sub-class
730
- * (or, implementing class if original Class instance is an interface).
731
- *
732
- * @param a Method or field that the type is associated with
733
- * @param type Type derived from the setter argument
734
- * @param propName Name of property that refers to type, if any; null
735
- * if no property information available (when modify type declaration
736
- * of a class, for example)
737
- *
738
- * @return Original type if no annotations are present; or a more
739
- * specific type derived from it if type annotation(s) was found
740
- *
741
- * @throws JsonMappingException if invalid annotation is found
742
- */
743
- @SuppressWarnings({ "unchecked", "deprecation" })
744
- protected <T extends JavaType> T modifyTypeByAnnotation(DeserializationConfig config,
745
- Annotated a, T type, String propName)
746
- throws JsonMappingException
747
- {
748
- // first: let's check class for the instance itself:
749
- AnnotationIntrospector intr = config.getAnnotationIntrospector();
750
- Class<?> subclass = intr.findDeserializationType(a, type, propName);
751
- if (subclass != null) {
752
- try {
753
- type = (T) type.narrowBy(subclass);
754
- } catch (IllegalArgumentException iae) {
755
- throw new JsonMappingException("Failed to narrow type "+type+" with concrete-type annotation (value "+subclass.getName()+"), method '"+a.getName()+"': "+iae.getMessage(), null, iae);
756
- }
757
- }
758
-
759
- // then key class
760
- if (type.isContainerType()) {
761
- Class<?> keyClass = intr.findDeserializationKeyType(a, type.getKeyType(), propName);
762
- if (keyClass != null) {
763
- // illegal to use on non-Maps
764
- if (!(type instanceof MapLikeType)) {
765
- throw new JsonMappingException("Illegal key-type annotation: type "+type+" is not a Map(-like) type");
766
- }
767
- try {
768
- type = (T) ((MapLikeType) type).narrowKey(keyClass);
769
- } catch (IllegalArgumentException iae) {
770
- throw new JsonMappingException("Failed to narrow key type "+type+" with key-type annotation ("+keyClass.getName()+"): "+iae.getMessage(), null, iae);
771
- }
772
- }
773
- JavaType keyType = type.getKeyType();
774
- /* 21-Mar-2011, tatu: ... and associated deserializer too (unless already assigned)
775
- * (not 100% why or how, but this does seem to get called more than once, which
776
- * is not good: for now, let's just avoid errors)
777
- */
778
- if (keyType != null && keyType.getValueHandler() == null) {
779
- Class<? extends KeyDeserializer> kdClass = intr.findKeyDeserializer(a);
780
- if (kdClass != null && kdClass != KeyDeserializer.None.class) {
781
- KeyDeserializer kd = config.keyDeserializerInstance(a, kdClass);
782
- // !!! TODO: For 2.0, change to use this instead:
783
- /*
784
- type = (T) ((MapLikeType) type).withKeyValueHandler(kd);
785
- keyType = type.getKeyType(); // just in case it's used below
786
- */
787
- keyType.setValueHandler(kd);
788
- }
789
- }
790
-
791
- // and finally content class; only applicable to structured types
792
- Class<?> cc = intr.findDeserializationContentType(a, type.getContentType(), propName);
793
- if (cc != null) {
794
- try {
795
- type = (T) type.narrowContentsBy(cc);
796
- } catch (IllegalArgumentException iae) {
797
- throw new JsonMappingException("Failed to narrow content type "+type+" with content-type annotation ("+cc.getName()+"): "+iae.getMessage(), null, iae);
798
- }
799
- }
800
- // ... as well as deserializer for contents:
801
- JavaType contentType = type.getContentType();
802
- if (contentType.getValueHandler() == null) { // as with above, avoid resetting (which would trigger exception)
803
- Class<? extends JsonDeserializer<?>> cdClass = intr.findContentDeserializer(a);
804
- if (cdClass != null && cdClass != JsonDeserializer.None.class) {
805
- JsonDeserializer<Object> cd = config.deserializerInstance(a, cdClass);
806
- // !!! TODO: For 2.0, change to use this instead:
807
- /*
808
- type = (T) type.withContentValueHandler(cd);
809
- */
810
- type.getContentType().setValueHandler(cd);
811
- }
812
- }
813
- }
814
- return type;
815
- }
816
-
817
- /**
818
- * Helper method used to resolve method return types and field
819
- * types. The main trick here is that the containing bean may
820
- * have type variable binding information (when deserializing
821
- * using generic type passed as type reference), which is
822
- * needed in some cases.
823
- *<p>
824
- * Starting with version 1.3, this method will also resolve instances
825
- * of key and content deserializers if defined by annotations.
826
- */
827
- @SuppressWarnings("deprecation")
828
- protected JavaType resolveType(DeserializationConfig config,
829
- BasicBeanDescription beanDesc, JavaType type, AnnotatedMember member,
830
- BeanProperty property)
831
- throws JsonMappingException
832
- {
833
- // [JACKSON-154]: Also need to handle keyUsing, contentUsing
834
- if (type.isContainerType()) {
835
- AnnotationIntrospector intr = config.getAnnotationIntrospector();
836
- JavaType keyType = type.getKeyType();
837
- if (keyType != null) {
838
- Class<? extends KeyDeserializer> kdClass = intr.findKeyDeserializer(member);
839
- if (kdClass != null && kdClass != KeyDeserializer.None.class) {
840
- KeyDeserializer kd = config.keyDeserializerInstance(member, kdClass);
841
- // !!! TODO: For 2.0, change to use this instead:
842
- /*
843
- type = ((MapLikeType) type).withKeyValueHandler(kd);
844
- keyType = type.getKeyType(); // just in case it's used below
845
- */
846
- keyType.setValueHandler(kd);
847
- }
848
- }
849
- // and all container types have content types...
850
- Class<? extends JsonDeserializer<?>> cdClass = intr.findContentDeserializer(member);
851
- if (cdClass != null && cdClass != JsonDeserializer.None.class) {
852
- JsonDeserializer<Object> cd = config.deserializerInstance(member, cdClass);
853
- // !!! TODO: For 2.0, change to use this instead:
854
- /*
855
- type = type.withContentValueHandler(cd);
856
- */
857
- type.getContentType().setValueHandler(cd);
858
- }
859
- /* 04-Feb-2010, tatu: Need to figure out JAXB annotations that indicate type
860
- * information to use for polymorphic members; and specifically types for
861
- * collection values (contents).
862
- * ... but only applies to members (fields, methods), not classes
863
- */
864
- if (member instanceof AnnotatedMember) {
865
- TypeDeserializer contentTypeDeser = findPropertyContentTypeDeserializer(config, type,
866
- (AnnotatedMember) member, property);
867
- if (contentTypeDeser != null) {
868
- type = type.withContentTypeHandler(contentTypeDeser);
869
- }
870
- }
871
- }
872
- TypeDeserializer valueTypeDeser;
873
-
874
- if (member instanceof AnnotatedMember) { // JAXB allows per-property annotations
875
- valueTypeDeser = findPropertyTypeDeserializer(config, type, (AnnotatedMember) member, property);
876
- } else { // classes just have Jackson annotations
877
- // probably only occurs if 'property' is null anyway
878
- valueTypeDeser = findTypeDeserializer(config, type, null);
879
- }
880
- if (valueTypeDeser != null) {
881
- type = type.withTypeHandler(valueTypeDeser);
882
- }
883
- return type;
884
- }
885
-
886
- protected EnumResolver<?> constructEnumResolver(Class<?> enumClass, DeserializationConfig config)
887
- {
888
- // [JACKSON-212]: may need to use Enum.toString()
889
- if (config.isEnabled(DeserializationConfig.Feature.READ_ENUMS_USING_TO_STRING)) {
890
- return EnumResolver.constructUnsafeUsingToString(enumClass);
891
- }
892
- return EnumResolver.constructUnsafe(enumClass, config.getAnnotationIntrospector());
893
- }
894
- }