calabash-android 0.4.7.pre4 → 0.4.7.pre6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,1136 +0,0 @@
1
- package sh.calaba.org.codehaus.jackson.map.deser.std;
2
-
3
- import java.io.IOException;
4
- import java.math.BigDecimal;
5
- import java.math.BigInteger;
6
- import java.util.*;
7
-
8
- import sh.calaba.org.codehaus.jackson.JsonParser;
9
- import sh.calaba.org.codehaus.jackson.JsonProcessingException;
10
- import sh.calaba.org.codehaus.jackson.JsonToken;
11
- import sh.calaba.org.codehaus.jackson.JsonParser.NumberType;
12
- import sh.calaba.org.codehaus.jackson.io.NumberInput;
13
- import sh.calaba.org.codehaus.jackson.map.*;
14
- import sh.calaba.org.codehaus.jackson.map.annotate.JacksonStdImpl;
15
- import sh.calaba.org.codehaus.jackson.type.JavaType;
16
-
17
- /**
18
- * Base class for common deserializers. Contains shared
19
- * base functionality for dealing with primitive values, such
20
- * as (re)parsing from String.
21
- *
22
- * @since 1.9 (moved from higher-level package)
23
- */
24
- public abstract class StdDeserializer<T>
25
- extends JsonDeserializer<T>
26
- {
27
- /**
28
- * Type of values this deserializer handles: sometimes
29
- * exact types, other time most specific supertype of
30
- * types deserializer handles (which may be as generic
31
- * as {@link Object} in some case)
32
- */
33
- final protected Class<?> _valueClass;
34
-
35
- protected StdDeserializer(Class<?> vc) {
36
- _valueClass = vc;
37
- }
38
-
39
- protected StdDeserializer(JavaType valueType) {
40
- _valueClass = (valueType == null) ? null : valueType.getRawClass();
41
- }
42
-
43
- /*
44
- /**********************************************************
45
- /* Extended API
46
- /**********************************************************
47
- */
48
-
49
- public Class<?> getValueClass() { return _valueClass; }
50
-
51
- /**
52
- * Exact structured type deserializer handles, if known.
53
- *<p>
54
- * Default implementation just returns null.
55
- */
56
- public JavaType getValueType() { return null; }
57
-
58
- /**
59
- * Method that can be called to determine if given deserializer is the default
60
- * deserializer Jackson uses; as opposed to a custom deserializer installed by
61
- * a module or calling application. Determination is done using
62
- * {@link JacksonStdImpl} annotation on deserializer class.
63
- *
64
- * @since 1.7
65
- */
66
- protected boolean isDefaultSerializer(JsonDeserializer<?> deserializer)
67
- {
68
- return (deserializer != null && deserializer.getClass().getAnnotation(JacksonStdImpl.class) != null);
69
- }
70
-
71
- /*
72
- /**********************************************************
73
- /* Partial JsonDeserializer implementation
74
- /**********************************************************
75
- */
76
-
77
- /**
78
- * Base implementation that does not assume specific type
79
- * inclusion mechanism. Sub-classes are expected to override
80
- * this method if they are to handle type information.
81
- */
82
- @Override
83
- public Object deserializeWithType(JsonParser jp, DeserializationContext ctxt,
84
- TypeDeserializer typeDeserializer)
85
- throws IOException, JsonProcessingException
86
- {
87
- return typeDeserializer.deserializeTypedFromAny(jp, ctxt);
88
- }
89
-
90
- /*
91
- /**********************************************************
92
- /* Helper methods for sub-classes, parsing
93
- /**********************************************************
94
- */
95
-
96
- protected final boolean _parseBooleanPrimitive(JsonParser jp, DeserializationContext ctxt)
97
- throws IOException, JsonProcessingException
98
- {
99
- JsonToken t = jp.getCurrentToken();
100
- if (t == JsonToken.VALUE_TRUE) {
101
- return true;
102
- }
103
- if (t == JsonToken.VALUE_FALSE) {
104
- return false;
105
- }
106
- if (t == JsonToken.VALUE_NULL) {
107
- return false;
108
- }
109
- // [JACKSON-78]: should accept ints too, (0 == false, otherwise true)
110
- if (t == JsonToken.VALUE_NUMBER_INT) {
111
- // 11-Jan-2012, tatus: May be outside of int...
112
- if (jp.getNumberType() == NumberType.INT) {
113
- return (jp.getIntValue() != 0);
114
- }
115
- return _parseBooleanFromNumber(jp, ctxt);
116
- }
117
- // And finally, let's allow Strings to be converted too
118
- if (t == JsonToken.VALUE_STRING) {
119
- String text = jp.getText().trim();
120
- if ("true".equals(text)) {
121
- return true;
122
- }
123
- if ("false".equals(text) || text.length() == 0) {
124
- return Boolean.FALSE;
125
- }
126
- throw ctxt.weirdStringException(_valueClass, "only \"true\" or \"false\" recognized");
127
- }
128
- // Otherwise, no can do:
129
- throw ctxt.mappingException(_valueClass, t);
130
- }
131
-
132
- protected final Boolean _parseBoolean(JsonParser jp, DeserializationContext ctxt)
133
- throws IOException, JsonProcessingException
134
- {
135
- JsonToken t = jp.getCurrentToken();
136
- if (t == JsonToken.VALUE_TRUE) {
137
- return Boolean.TRUE;
138
- }
139
- if (t == JsonToken.VALUE_FALSE) {
140
- return Boolean.FALSE;
141
- }
142
- // [JACKSON-78]: should accept ints too, (0 == false, otherwise true)
143
- if (t == JsonToken.VALUE_NUMBER_INT) {
144
- // 11-Jan-2012, tatus: May be outside of int...
145
- if (jp.getNumberType() == NumberType.INT) {
146
- return (jp.getIntValue() == 0) ? Boolean.FALSE : Boolean.TRUE;
147
- }
148
- return Boolean.valueOf(_parseBooleanFromNumber(jp, ctxt));
149
- }
150
- if (t == JsonToken.VALUE_NULL) {
151
- return (Boolean) getNullValue();
152
- }
153
- // And finally, let's allow Strings to be converted too
154
- if (t == JsonToken.VALUE_STRING) {
155
- String text = jp.getText().trim();
156
- if ("true".equals(text)) {
157
- return Boolean.TRUE;
158
- }
159
- if ("false".equals(text)) {
160
- return Boolean.FALSE;
161
- }
162
- if (text.length() == 0) {
163
- return (Boolean) getEmptyValue();
164
- }
165
- throw ctxt.weirdStringException(_valueClass, "only \"true\" or \"false\" recognized");
166
- }
167
- // Otherwise, no can do:
168
- throw ctxt.mappingException(_valueClass, t);
169
- }
170
-
171
- protected final boolean _parseBooleanFromNumber(JsonParser jp, DeserializationContext ctxt)
172
- throws IOException, JsonProcessingException
173
- {
174
- if (jp.getNumberType() == NumberType.LONG) {
175
- return (jp.getLongValue() == 0L) ? Boolean.FALSE : Boolean.TRUE;
176
- }
177
- // no really good logic; let's actually resort to textual comparison
178
- String str = jp.getText();
179
- if ("0.0".equals(str) || "0".equals(str)) {
180
- return Boolean.FALSE;
181
- }
182
- return Boolean.TRUE;
183
- }
184
-
185
- protected Byte _parseByte(JsonParser jp, DeserializationContext ctxt)
186
- throws IOException, JsonProcessingException
187
- {
188
- JsonToken t = jp.getCurrentToken();
189
- if (t == JsonToken.VALUE_NUMBER_INT || t == JsonToken.VALUE_NUMBER_FLOAT) { // coercing should work too
190
- return jp.getByteValue();
191
- }
192
- if (t == JsonToken.VALUE_STRING) { // let's do implicit re-parse
193
- String text = jp.getText().trim();
194
- int value;
195
- try {
196
- int len = text.length();
197
- if (len == 0) {
198
- return (Byte) getEmptyValue();
199
- }
200
- value = NumberInput.parseInt(text);
201
- } catch (IllegalArgumentException iae) {
202
- throw ctxt.weirdStringException(_valueClass, "not a valid Byte value");
203
- }
204
- // So far so good: but does it fit?
205
- if (value < Byte.MIN_VALUE || value > Byte.MAX_VALUE) {
206
- throw ctxt.weirdStringException(_valueClass, "overflow, value can not be represented as 8-bit value");
207
- }
208
- return Byte.valueOf((byte) value);
209
- }
210
- if (t == JsonToken.VALUE_NULL) {
211
- return (Byte) getNullValue();
212
- }
213
- throw ctxt.mappingException(_valueClass, t);
214
- }
215
-
216
- protected Short _parseShort(JsonParser jp, DeserializationContext ctxt)
217
- throws IOException, JsonProcessingException
218
- {
219
- JsonToken t = jp.getCurrentToken();
220
- if (t == JsonToken.VALUE_NUMBER_INT || t == JsonToken.VALUE_NUMBER_FLOAT) { // coercing should work too
221
- return jp.getShortValue();
222
- }
223
- if (t == JsonToken.VALUE_STRING) { // let's do implicit re-parse
224
- String text = jp.getText().trim();
225
- int value;
226
- try {
227
- int len = text.length();
228
- if (len == 0) {
229
- return (Short) getEmptyValue();
230
- }
231
- value = NumberInput.parseInt(text);
232
- } catch (IllegalArgumentException iae) {
233
- throw ctxt.weirdStringException(_valueClass, "not a valid Short value");
234
- }
235
- // So far so good: but does it fit?
236
- if (value < Short.MIN_VALUE || value > Short.MAX_VALUE) {
237
- throw ctxt.weirdStringException(_valueClass, "overflow, value can not be represented as 16-bit value");
238
- }
239
- return Short.valueOf((short) value);
240
- }
241
- if (t == JsonToken.VALUE_NULL) {
242
- return (Short) getNullValue();
243
- }
244
- throw ctxt.mappingException(_valueClass, t);
245
- }
246
-
247
- protected final short _parseShortPrimitive(JsonParser jp, DeserializationContext ctxt)
248
- throws IOException, JsonProcessingException
249
- {
250
- int value = _parseIntPrimitive(jp, ctxt);
251
- // So far so good: but does it fit?
252
- if (value < Short.MIN_VALUE || value > Short.MAX_VALUE) {
253
- throw ctxt.weirdStringException(_valueClass, "overflow, value can not be represented as 16-bit value");
254
- }
255
- return (short) value;
256
- }
257
-
258
- protected final int _parseIntPrimitive(JsonParser jp, DeserializationContext ctxt)
259
- throws IOException, JsonProcessingException
260
- {
261
- JsonToken t = jp.getCurrentToken();
262
-
263
- // Int works as is, coercing fine as well
264
- if (t == JsonToken.VALUE_NUMBER_INT || t == JsonToken.VALUE_NUMBER_FLOAT) { // coercing should work too
265
- return jp.getIntValue();
266
- }
267
- if (t == JsonToken.VALUE_STRING) { // let's do implicit re-parse
268
- /* 31-Dec-2009, tatus: Should improve handling of overflow
269
- * values... but this'll have to do for now
270
- */
271
- String text = jp.getText().trim();
272
- try {
273
- int len = text.length();
274
- if (len > 9) {
275
- long l = Long.parseLong(text);
276
- if (l < Integer.MIN_VALUE || l > Integer.MAX_VALUE) {
277
- throw ctxt.weirdStringException(_valueClass,
278
- "Overflow: numeric value ("+text+") out of range of int ("+Integer.MIN_VALUE+" - "+Integer.MAX_VALUE+")");
279
- }
280
- return (int) l;
281
- }
282
- if (len == 0) {
283
- return 0;
284
- }
285
- return NumberInput.parseInt(text);
286
- } catch (IllegalArgumentException iae) {
287
- throw ctxt.weirdStringException(_valueClass, "not a valid int value");
288
- }
289
- }
290
- if (t == JsonToken.VALUE_NULL) {
291
- return 0;
292
- }
293
- // Otherwise, no can do:
294
- throw ctxt.mappingException(_valueClass, t);
295
- }
296
-
297
- protected final Integer _parseInteger(JsonParser jp, DeserializationContext ctxt)
298
- throws IOException, JsonProcessingException
299
- {
300
- JsonToken t = jp.getCurrentToken();
301
- if (t == JsonToken.VALUE_NUMBER_INT || t == JsonToken.VALUE_NUMBER_FLOAT) { // coercing should work too
302
- return Integer.valueOf(jp.getIntValue());
303
- }
304
- if (t == JsonToken.VALUE_STRING) { // let's do implicit re-parse
305
- String text = jp.getText().trim();
306
- try {
307
- int len = text.length();
308
- if (len > 9) {
309
- long l = Long.parseLong(text);
310
- if (l < Integer.MIN_VALUE || l > Integer.MAX_VALUE) {
311
- throw ctxt.weirdStringException(_valueClass,
312
- "Overflow: numeric value ("+text+") out of range of Integer ("+Integer.MIN_VALUE+" - "+Integer.MAX_VALUE+")");
313
- }
314
- return Integer.valueOf((int) l);
315
- }
316
- if (len == 0) {
317
- return (Integer) getEmptyValue();
318
- }
319
- return Integer.valueOf(NumberInput.parseInt(text));
320
- } catch (IllegalArgumentException iae) {
321
- throw ctxt.weirdStringException(_valueClass, "not a valid Integer value");
322
- }
323
- }
324
- if (t == JsonToken.VALUE_NULL) {
325
- return (Integer) getNullValue();
326
- }
327
- // Otherwise, no can do:
328
- throw ctxt.mappingException(_valueClass, t);
329
- }
330
-
331
- protected final Long _parseLong(JsonParser jp, DeserializationContext ctxt)
332
- throws IOException, JsonProcessingException
333
- {
334
- JsonToken t = jp.getCurrentToken();
335
-
336
- // it should be ok to coerce (although may fail, too)
337
- if (t == JsonToken.VALUE_NUMBER_INT || t == JsonToken.VALUE_NUMBER_FLOAT) {
338
- return jp.getLongValue();
339
- }
340
- // let's allow Strings to be converted too
341
- if (t == JsonToken.VALUE_STRING) {
342
- // !!! 05-Jan-2009, tatu: Should we try to limit value space, JDK is too lenient?
343
- String text = jp.getText().trim();
344
- if (text.length() == 0) {
345
- return (Long) getEmptyValue();
346
- }
347
- try {
348
- return Long.valueOf(NumberInput.parseLong(text));
349
- } catch (IllegalArgumentException iae) { }
350
- throw ctxt.weirdStringException(_valueClass, "not a valid Long value");
351
- }
352
- if (t == JsonToken.VALUE_NULL) {
353
- return (Long) getNullValue();
354
- }
355
- // Otherwise, no can do:
356
- throw ctxt.mappingException(_valueClass, t);
357
- }
358
-
359
- protected final long _parseLongPrimitive(JsonParser jp, DeserializationContext ctxt)
360
- throws IOException, JsonProcessingException
361
- {
362
- JsonToken t = jp.getCurrentToken();
363
- if (t == JsonToken.VALUE_NUMBER_INT || t == JsonToken.VALUE_NUMBER_FLOAT) {
364
- return jp.getLongValue();
365
- }
366
- if (t == JsonToken.VALUE_STRING) {
367
- String text = jp.getText().trim();
368
- if (text.length() == 0) {
369
- return 0L;
370
- }
371
- try {
372
- return NumberInput.parseLong(text);
373
- } catch (IllegalArgumentException iae) { }
374
- throw ctxt.weirdStringException(_valueClass, "not a valid long value");
375
- }
376
- if (t == JsonToken.VALUE_NULL) {
377
- return 0L;
378
- }
379
- throw ctxt.mappingException(_valueClass, t);
380
- }
381
-
382
- protected final Float _parseFloat(JsonParser jp, DeserializationContext ctxt)
383
- throws IOException, JsonProcessingException
384
- {
385
- // We accept couple of different types; obvious ones first:
386
- JsonToken t = jp.getCurrentToken();
387
-
388
- if (t == JsonToken.VALUE_NUMBER_INT || t == JsonToken.VALUE_NUMBER_FLOAT) { // coercing should work too
389
- return jp.getFloatValue();
390
- }
391
- // And finally, let's allow Strings to be converted too
392
- if (t == JsonToken.VALUE_STRING) {
393
- String text = jp.getText().trim();
394
- if (text.length() == 0) {
395
- return (Float) getEmptyValue();
396
- }
397
- switch (text.charAt(0)) {
398
- case 'I':
399
- if ("Infinity".equals(text) || "INF".equals(text)) {
400
- return Float.POSITIVE_INFINITY;
401
- }
402
- break;
403
- case 'N':
404
- if ("NaN".equals(text)) {
405
- return Float.NaN;
406
- }
407
- break;
408
- case '-':
409
- if ("-Infinity".equals(text) || "-INF".equals(text)) {
410
- return Float.NEGATIVE_INFINITY;
411
- }
412
- break;
413
- }
414
- try {
415
- return Float.parseFloat(text);
416
- } catch (IllegalArgumentException iae) { }
417
- throw ctxt.weirdStringException(_valueClass, "not a valid Float value");
418
- }
419
- if (t == JsonToken.VALUE_NULL) {
420
- return (Float) getNullValue();
421
- }
422
- // Otherwise, no can do:
423
- throw ctxt.mappingException(_valueClass, t);
424
- }
425
-
426
- protected final float _parseFloatPrimitive(JsonParser jp, DeserializationContext ctxt)
427
- throws IOException, JsonProcessingException
428
- {
429
- JsonToken t = jp.getCurrentToken();
430
-
431
- if (t == JsonToken.VALUE_NUMBER_INT || t == JsonToken.VALUE_NUMBER_FLOAT) { // coercing should work too
432
- return jp.getFloatValue();
433
- }
434
- if (t == JsonToken.VALUE_STRING) {
435
- String text = jp.getText().trim();
436
- if (text.length() == 0) {
437
- return 0.0f;
438
- }
439
- switch (text.charAt(0)) {
440
- case 'I':
441
- if ("Infinity".equals(text) || "INF".equals(text)) {
442
- return Float.POSITIVE_INFINITY;
443
- }
444
- break;
445
- case 'N':
446
- if ("NaN".equals(text)) {
447
- return Float.NaN;
448
- }
449
- break;
450
- case '-':
451
- if ("-Infinity".equals(text) || "-INF".equals(text)) {
452
- return Float.NEGATIVE_INFINITY;
453
- }
454
- break;
455
- }
456
- try {
457
- return Float.parseFloat(text);
458
- } catch (IllegalArgumentException iae) { }
459
- throw ctxt.weirdStringException(_valueClass, "not a valid float value");
460
- }
461
- if (t == JsonToken.VALUE_NULL) {
462
- return 0.0f;
463
- }
464
- // Otherwise, no can do:
465
- throw ctxt.mappingException(_valueClass, t);
466
- }
467
-
468
- protected final Double _parseDouble(JsonParser jp, DeserializationContext ctxt)
469
- throws IOException, JsonProcessingException
470
- {
471
- JsonToken t = jp.getCurrentToken();
472
-
473
- if (t == JsonToken.VALUE_NUMBER_INT || t == JsonToken.VALUE_NUMBER_FLOAT) { // coercing should work too
474
- return jp.getDoubleValue();
475
- }
476
- if (t == JsonToken.VALUE_STRING) {
477
- String text = jp.getText().trim();
478
- if (text.length() == 0) {
479
- return (Double) getEmptyValue();
480
- }
481
- switch (text.charAt(0)) {
482
- case 'I':
483
- if ("Infinity".equals(text) || "INF".equals(text)) {
484
- return Double.POSITIVE_INFINITY;
485
- }
486
- break;
487
- case 'N':
488
- if ("NaN".equals(text)) {
489
- return Double.NaN;
490
- }
491
- break;
492
- case '-':
493
- if ("-Infinity".equals(text) || "-INF".equals(text)) {
494
- return Double.NEGATIVE_INFINITY;
495
- }
496
- break;
497
- }
498
- try {
499
- return parseDouble(text);
500
- } catch (IllegalArgumentException iae) { }
501
- throw ctxt.weirdStringException(_valueClass, "not a valid Double value");
502
- }
503
- if (t == JsonToken.VALUE_NULL) {
504
- return (Double) getNullValue();
505
- }
506
- // Otherwise, no can do:
507
- throw ctxt.mappingException(_valueClass, t);
508
- }
509
-
510
- protected final double _parseDoublePrimitive(JsonParser jp, DeserializationContext ctxt)
511
- throws IOException, JsonProcessingException
512
- {
513
- // We accept couple of different types; obvious ones first:
514
- JsonToken t = jp.getCurrentToken();
515
-
516
- if (t == JsonToken.VALUE_NUMBER_INT || t == JsonToken.VALUE_NUMBER_FLOAT) { // coercing should work too
517
- return jp.getDoubleValue();
518
- }
519
- // And finally, let's allow Strings to be converted too
520
- if (t == JsonToken.VALUE_STRING) {
521
- String text = jp.getText().trim();
522
- if (text.length() == 0) {
523
- return 0.0;
524
- }
525
- switch (text.charAt(0)) {
526
- case 'I':
527
- if ("Infinity".equals(text) || "INF".equals(text)) {
528
- return Double.POSITIVE_INFINITY;
529
- }
530
- break;
531
- case 'N':
532
- if ("NaN".equals(text)) {
533
- return Double.NaN;
534
- }
535
- break;
536
- case '-':
537
- if ("-Infinity".equals(text) || "-INF".equals(text)) {
538
- return Double.NEGATIVE_INFINITY;
539
- }
540
- break;
541
- }
542
- try {
543
- return parseDouble(text);
544
- } catch (IllegalArgumentException iae) { }
545
- throw ctxt.weirdStringException(_valueClass, "not a valid double value");
546
- }
547
- if (t == JsonToken.VALUE_NULL) {
548
- return 0.0;
549
- }
550
- // Otherwise, no can do:
551
- throw ctxt.mappingException(_valueClass, t);
552
- }
553
-
554
-
555
- protected java.util.Date _parseDate(JsonParser jp, DeserializationContext ctxt)
556
- throws IOException, JsonProcessingException
557
- {
558
- JsonToken t = jp.getCurrentToken();
559
- if (t == JsonToken.VALUE_NUMBER_INT) {
560
- return new java.util.Date(jp.getLongValue());
561
- }
562
- if (t == JsonToken.VALUE_NULL) {
563
- return (java.util.Date) getNullValue();
564
- }
565
- if (t == JsonToken.VALUE_STRING) {
566
- try {
567
- /* As per [JACKSON-203], take empty Strings to mean
568
- * null
569
- */
570
- String str = jp.getText().trim();
571
- if (str.length() == 0) {
572
- return (Date) getEmptyValue();
573
- }
574
- return ctxt.parseDate(str);
575
- } catch (IllegalArgumentException iae) {
576
- throw ctxt.weirdStringException(_valueClass, "not a valid representation (error: "+iae.getMessage()+")");
577
- }
578
- }
579
- throw ctxt.mappingException(_valueClass, t);
580
- }
581
-
582
- /**
583
- * Helper method for encapsulating calls to low-level double value parsing; single place
584
- * just because we need a work-around that must be applied to all calls.
585
- *<p>
586
- * Note: copied from <code>sh.calaba.org.codehaus.jackson.io.NumberUtil</code> (to avoid dependency to
587
- * version 1.8; except for String constants, but that gets compiled in bytecode here)
588
- */
589
- protected final static double parseDouble(String numStr) throws NumberFormatException
590
- {
591
- // [JACKSON-486]: avoid some nasty float representations... but should it be MIN_NORMAL or MIN_VALUE?
592
- if (NumberInput.NASTY_SMALL_DOUBLE.equals(numStr)) {
593
- return 0x1.0p-1022; //Double.MIN_NORMAL; Hardcoded since MIN_NORMAL is not available until SDK level 10
594
- }
595
- return Double.parseDouble(numStr);
596
- }
597
-
598
- /*
599
- /****************************************************
600
- /* Helper methods for sub-classes, resolving dependencies
601
- /****************************************************
602
- */
603
-
604
- /**
605
- * Helper method used to locate deserializers for properties the
606
- * type this deserializer handles contains (usually for properties of
607
- * bean types)
608
- *
609
- * @param config Active deserialization configuration
610
- * @param provider Deserializer provider to use for actually finding deserializer(s)
611
- * @param type Type of property to deserialize
612
- * @param property Actual property object (field, method, constuctor parameter) used
613
- * for passing deserialized values; provided so deserializer can be contextualized if necessary (since 1.7)
614
- */
615
- protected JsonDeserializer<Object> findDeserializer(DeserializationConfig config, DeserializerProvider provider,
616
- JavaType type, BeanProperty property)
617
- throws JsonMappingException
618
- {
619
- JsonDeserializer<Object> deser = provider.findValueDeserializer(config, type, property);
620
- return deser;
621
- }
622
-
623
- /*
624
- /**********************************************************
625
- /* Helper methods for sub-classes, problem reporting
626
- /**********************************************************
627
- */
628
-
629
- /**
630
- * Method called to deal with a property that did not map to a known
631
- * Bean property. Method can deal with the problem as it sees fit (ignore,
632
- * throw exception); but if it does return, it has to skip the matching
633
- * Json content parser has.
634
- *<p>
635
- * NOTE: method signature was changed in version 1.5; explicit JsonParser
636
- * <b>must</b> be passed since it may be something other than what
637
- * context has. Prior versions did not include the first parameter.
638
- *
639
- * @param jp Parser that points to value of the unknown property
640
- * @param ctxt Context for deserialization; allows access to the parser,
641
- * error reporting functionality
642
- * @param instanceOrClass Instance that is being populated by this
643
- * deserializer, or if not known, Class that would be instantiated.
644
- * If null, will assume type is what {@link #getValueClass} returns.
645
- * @param propName Name of the property that can not be mapped
646
- */
647
- protected void handleUnknownProperty(JsonParser jp, DeserializationContext ctxt, Object instanceOrClass, String propName)
648
- throws IOException, JsonProcessingException
649
- {
650
- if (instanceOrClass == null) {
651
- instanceOrClass = getValueClass();
652
- }
653
- // Maybe we have configured handler(s) to take care of it?
654
- if (ctxt.handleUnknownProperty(jp, this, instanceOrClass, propName)) {
655
- return;
656
- }
657
- // Nope, not handled. Potentially that's a problem...
658
- reportUnknownProperty(ctxt, instanceOrClass, propName);
659
-
660
- /* If we get this far, need to skip now; we point to first token of
661
- * value (START_xxx for structured, or the value token for others)
662
- */
663
- jp.skipChildren();
664
- }
665
-
666
- protected void reportUnknownProperty(DeserializationContext ctxt,
667
- Object instanceOrClass, String fieldName)
668
- throws IOException, JsonProcessingException
669
- {
670
- // throw exception if that's what we are expected to do
671
- if (ctxt.isEnabled(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES)) {
672
- throw ctxt.unknownFieldException(instanceOrClass, fieldName);
673
- }
674
- // ... or if not, just ignore
675
- }
676
-
677
-
678
- /*
679
- /**********************************************************
680
- /* Then one intermediate base class for things that have
681
- /* both primitive and wrapper types
682
- /**********************************************************
683
- */
684
-
685
- protected abstract static class PrimitiveOrWrapperDeserializer<T>
686
- extends StdScalarDeserializer<T>
687
- {
688
- final T _nullValue;
689
-
690
- protected PrimitiveOrWrapperDeserializer(Class<T> vc, T nvl)
691
- {
692
- super(vc);
693
- _nullValue = nvl;
694
- }
695
-
696
- @Override
697
- public final T getNullValue() {
698
- return _nullValue;
699
- }
700
- }
701
-
702
- /*
703
- /**********************************************************
704
- /* Then primitive/wrapper types
705
- /**********************************************************
706
- */
707
-
708
- @JacksonStdImpl
709
- public final static class BooleanDeserializer
710
- extends PrimitiveOrWrapperDeserializer<Boolean>
711
- {
712
- public BooleanDeserializer(Class<Boolean> cls, Boolean nvl)
713
- {
714
- super(cls, nvl);
715
- }
716
-
717
- @Override
718
- public Boolean deserialize(JsonParser jp, DeserializationContext ctxt)
719
- throws IOException, JsonProcessingException
720
- {
721
- return _parseBoolean(jp, ctxt);
722
- }
723
-
724
- // 1.6: since we can never have type info ("natural type"; String, Boolean, Integer, Double):
725
- // (is it an error to even call this version?)
726
- @Override
727
- public Boolean deserializeWithType(JsonParser jp, DeserializationContext ctxt,
728
- TypeDeserializer typeDeserializer)
729
- throws IOException, JsonProcessingException
730
- {
731
- return _parseBoolean(jp, ctxt);
732
- }
733
- }
734
-
735
- @JacksonStdImpl
736
- public final static class ByteDeserializer
737
- extends PrimitiveOrWrapperDeserializer<Byte>
738
- {
739
- public ByteDeserializer(Class<Byte> cls, Byte nvl)
740
- {
741
- super(cls, nvl);
742
- }
743
-
744
- @Override
745
- public Byte deserialize(JsonParser jp, DeserializationContext ctxt)
746
- throws IOException, JsonProcessingException
747
- {
748
- return _parseByte(jp, ctxt);
749
- }
750
- }
751
-
752
- @JacksonStdImpl
753
- public final static class ShortDeserializer
754
- extends PrimitiveOrWrapperDeserializer<Short>
755
- {
756
- public ShortDeserializer(Class<Short> cls, Short nvl)
757
- {
758
- super(cls, nvl);
759
- }
760
-
761
- @Override
762
- public Short deserialize(JsonParser jp, DeserializationContext ctxt)
763
- throws IOException, JsonProcessingException
764
- {
765
- return _parseShort(jp, ctxt);
766
- }
767
- }
768
-
769
- @JacksonStdImpl
770
- public final static class CharacterDeserializer
771
- extends PrimitiveOrWrapperDeserializer<Character>
772
- {
773
- public CharacterDeserializer(Class<Character> cls, Character nvl)
774
- {
775
- super(cls, nvl);
776
- }
777
-
778
- @Override
779
- public Character deserialize(JsonParser jp, DeserializationContext ctxt)
780
- throws IOException, JsonProcessingException
781
- {
782
- JsonToken t = jp.getCurrentToken();
783
- int value;
784
-
785
- if (t == JsonToken.VALUE_NUMBER_INT) { // ok iff ascii value
786
- value = jp.getIntValue();
787
- if (value >= 0 && value <= 0xFFFF) {
788
- return Character.valueOf((char) value);
789
- }
790
- } else if (t == JsonToken.VALUE_STRING) { // this is the usual type
791
- // But does it have to be exactly one char?
792
- String text = jp.getText();
793
- if (text.length() == 1) {
794
- return Character.valueOf(text.charAt(0));
795
- }
796
- // actually, empty should become null?
797
- if (text.length() == 0) {
798
- return (Character) getEmptyValue();
799
- }
800
- }
801
- throw ctxt.mappingException(_valueClass, t);
802
- }
803
- }
804
-
805
- @JacksonStdImpl
806
- public final static class IntegerDeserializer
807
- extends PrimitiveOrWrapperDeserializer<Integer>
808
- {
809
- public IntegerDeserializer(Class<Integer> cls, Integer nvl)
810
- {
811
- super(cls, nvl);
812
- }
813
-
814
- @Override
815
- public Integer deserialize(JsonParser jp, DeserializationContext ctxt)
816
- throws IOException, JsonProcessingException
817
- {
818
- return _parseInteger(jp, ctxt);
819
- }
820
-
821
- // 1.6: since we can never have type info ("natural type"; String, Boolean, Integer, Double):
822
- // (is it an error to even call this version?)
823
- @Override
824
- public Integer deserializeWithType(JsonParser jp, DeserializationContext ctxt,
825
- TypeDeserializer typeDeserializer)
826
- throws IOException, JsonProcessingException
827
- {
828
- return _parseInteger(jp, ctxt);
829
- }
830
- }
831
-
832
- @JacksonStdImpl
833
- public final static class LongDeserializer
834
- extends PrimitiveOrWrapperDeserializer<Long>
835
- {
836
- public LongDeserializer(Class<Long> cls, Long nvl)
837
- {
838
- super(cls, nvl);
839
- }
840
-
841
- @Override
842
- public Long deserialize(JsonParser jp, DeserializationContext ctxt)
843
- throws IOException, JsonProcessingException
844
- {
845
- return _parseLong(jp, ctxt);
846
- }
847
- }
848
-
849
- @JacksonStdImpl
850
- public final static class FloatDeserializer
851
- extends PrimitiveOrWrapperDeserializer<Float>
852
- {
853
- public FloatDeserializer(Class<Float> cls, Float nvl)
854
- {
855
- super(cls, nvl);
856
- }
857
-
858
- @Override
859
- public Float deserialize(JsonParser jp, DeserializationContext ctxt)
860
- throws IOException, JsonProcessingException
861
- {
862
- /* 22-Jan-2009, tatu: Bounds/range checks would be tricky
863
- * here, so let's not bother even trying...
864
- */
865
- return _parseFloat(jp, ctxt);
866
- }
867
- }
868
-
869
- @JacksonStdImpl
870
- public final static class DoubleDeserializer
871
- extends PrimitiveOrWrapperDeserializer<Double>
872
- {
873
- public DoubleDeserializer(Class<Double> cls, Double nvl)
874
- {
875
- super(cls, nvl);
876
- }
877
-
878
- @Override
879
- public Double deserialize(JsonParser jp, DeserializationContext ctxt)
880
- throws IOException, JsonProcessingException
881
- {
882
- return _parseDouble(jp, ctxt);
883
- }
884
-
885
- // 1.6: since we can never have type info ("natural type"; String, Boolean, Integer, Double):
886
- // (is it an error to even call this version?)
887
- @Override
888
- public Double deserializeWithType(JsonParser jp, DeserializationContext ctxt,
889
- TypeDeserializer typeDeserializer)
890
- throws IOException, JsonProcessingException
891
- {
892
- return _parseDouble(jp, ctxt);
893
- }
894
- }
895
-
896
- /**
897
- * For type <code>Number.class</code>, we can just rely on type
898
- * mappings that plain {@link JsonParser#getNumberValue} returns.
899
- *<p>
900
- * Since 1.5, there is one additional complication: some numeric
901
- * types (specifically, int/Integer and double/Double) are "non-typed";
902
- * meaning that they will NEVER be output with type information.
903
- * But other numeric types may need such type information.
904
- * This is why {@link #deserializeWithType} must be overridden.
905
- */
906
- @JacksonStdImpl
907
- public final static class NumberDeserializer
908
- extends StdScalarDeserializer<Number>
909
- {
910
- public NumberDeserializer() { super(Number.class); }
911
-
912
- @Override
913
- public Number deserialize(JsonParser jp, DeserializationContext ctxt)
914
- throws IOException, JsonProcessingException
915
- {
916
- JsonToken t = jp.getCurrentToken();
917
- if (t == JsonToken.VALUE_NUMBER_INT) {
918
- if (ctxt.isEnabled(DeserializationConfig.Feature.USE_BIG_INTEGER_FOR_INTS)) {
919
- return jp.getBigIntegerValue();
920
- }
921
- return jp.getNumberValue();
922
- } else if (t == JsonToken.VALUE_NUMBER_FLOAT) {
923
- /* [JACKSON-72]: need to allow overriding the behavior
924
- * regarding which type to use
925
- */
926
- if (ctxt.isEnabled(DeserializationConfig.Feature.USE_BIG_DECIMAL_FOR_FLOATS)) {
927
- return jp.getDecimalValue();
928
- }
929
- return Double.valueOf(jp.getDoubleValue());
930
- }
931
-
932
- /* Textual values are more difficult... not parsing itself, but figuring
933
- * out 'minimal' type to use
934
- */
935
- if (t == JsonToken.VALUE_STRING) { // let's do implicit re-parse
936
- String text = jp.getText().trim();
937
- try {
938
- if (text.indexOf('.') >= 0) { // floating point
939
- // as per [JACKSON-72]:
940
- if (ctxt.isEnabled(DeserializationConfig.Feature.USE_BIG_DECIMAL_FOR_FLOATS)) {
941
- return new BigDecimal(text);
942
- }
943
- return new Double(text);
944
- }
945
- // as per [JACKSON-100]:
946
- if (ctxt.isEnabled(DeserializationConfig.Feature.USE_BIG_INTEGER_FOR_INTS)) {
947
- return new BigInteger(text);
948
- }
949
- long value = Long.parseLong(text);
950
- if (value <= Integer.MAX_VALUE && value >= Integer.MIN_VALUE) {
951
- return Integer.valueOf((int) value);
952
- }
953
- return Long.valueOf(value);
954
- } catch (IllegalArgumentException iae) {
955
- throw ctxt.weirdStringException(_valueClass, "not a valid number");
956
- }
957
- }
958
- // Otherwise, no can do:
959
- throw ctxt.mappingException(_valueClass, t);
960
- }
961
-
962
- /**
963
- * As mentioned in class Javadoc, there is additional complexity in
964
- * handling potentially mixed type information here. Because of this,
965
- * we must actually check for "raw" integers and doubles first, before
966
- * calling type deserializer.
967
- */
968
- @Override
969
- public Object deserializeWithType(JsonParser jp, DeserializationContext ctxt,
970
- TypeDeserializer typeDeserializer)
971
- throws IOException, JsonProcessingException
972
- {
973
- switch (jp.getCurrentToken()) {
974
- case VALUE_NUMBER_INT:
975
- case VALUE_NUMBER_FLOAT:
976
- case VALUE_STRING:
977
- // can not point to type information: hence must be non-typed (int/double)
978
- return deserialize(jp, ctxt);
979
- }
980
- return typeDeserializer.deserializeTypedFromScalar(jp, ctxt);
981
- }
982
- }
983
-
984
- /*
985
- /**********************************************************
986
- /* And then bit more complicated (but non-structured) number
987
- /* types
988
- /**********************************************************
989
- */
990
-
991
- @JacksonStdImpl
992
- public static class BigDecimalDeserializer
993
- extends StdScalarDeserializer<BigDecimal>
994
- {
995
- public BigDecimalDeserializer() { super(BigDecimal.class); }
996
-
997
- @Override
998
- public BigDecimal deserialize(JsonParser jp, DeserializationContext ctxt)
999
- throws IOException, JsonProcessingException
1000
- {
1001
- JsonToken t = jp.getCurrentToken();
1002
- if (t == JsonToken.VALUE_NUMBER_INT || t == JsonToken.VALUE_NUMBER_FLOAT) {
1003
- return jp.getDecimalValue();
1004
- }
1005
- // String is ok too, can easily convert
1006
- if (t == JsonToken.VALUE_STRING) { // let's do implicit re-parse
1007
- String text = jp.getText().trim();
1008
- if (text.length() == 0) {
1009
- return null;
1010
- }
1011
- try {
1012
- return new BigDecimal(text);
1013
- } catch (IllegalArgumentException iae) {
1014
- throw ctxt.weirdStringException(_valueClass, "not a valid representation");
1015
- }
1016
- }
1017
- // Otherwise, no can do:
1018
- throw ctxt.mappingException(_valueClass, t);
1019
- }
1020
- }
1021
-
1022
- /**
1023
- * This is bit trickier to implement efficiently, while avoiding
1024
- * overflow problems.
1025
- */
1026
- @JacksonStdImpl
1027
- public static class BigIntegerDeserializer
1028
- extends StdScalarDeserializer<BigInteger>
1029
- {
1030
- public BigIntegerDeserializer() { super(BigInteger.class); }
1031
-
1032
- @Override
1033
- public BigInteger deserialize(JsonParser jp, DeserializationContext ctxt)
1034
- throws IOException, JsonProcessingException
1035
- {
1036
- JsonToken t = jp.getCurrentToken();
1037
- String text;
1038
-
1039
- if (t == JsonToken.VALUE_NUMBER_INT) {
1040
- switch (jp.getNumberType()) {
1041
- case INT:
1042
- case LONG:
1043
- return BigInteger.valueOf(jp.getLongValue());
1044
- }
1045
- } else if (t == JsonToken.VALUE_NUMBER_FLOAT) {
1046
- /* Whether to fail if there's non-integer part?
1047
- * Could do by calling BigDecimal.toBigIntegerExact()
1048
- */
1049
- return jp.getDecimalValue().toBigInteger();
1050
- } else if (t != JsonToken.VALUE_STRING) { // let's do implicit re-parse
1051
- // String is ok too, can easily convert; otherwise, no can do:
1052
- throw ctxt.mappingException(_valueClass, t);
1053
- }
1054
- text = jp.getText().trim();
1055
- if (text.length() == 0) {
1056
- return null;
1057
- }
1058
- try {
1059
- return new BigInteger(text);
1060
- } catch (IllegalArgumentException iae) {
1061
- throw ctxt.weirdStringException(_valueClass, "not a valid representation");
1062
- }
1063
- }
1064
- }
1065
-
1066
- /*
1067
- /****************************************************
1068
- /* Then trickier things: Date/Calendar types
1069
- /****************************************************
1070
- */
1071
-
1072
- /**
1073
- * Compared to plain old {@link java.util.Date}, SQL version is easier
1074
- * to deal with: mostly because it is more limited.
1075
- */
1076
- public static class SqlDateDeserializer
1077
- extends StdScalarDeserializer<java.sql.Date>
1078
- {
1079
- public SqlDateDeserializer() { super(java.sql.Date.class); }
1080
-
1081
- @Override
1082
- public java.sql.Date deserialize(JsonParser jp, DeserializationContext ctxt)
1083
- throws IOException, JsonProcessingException
1084
- {
1085
- Date d = _parseDate(jp, ctxt);
1086
- return (d == null) ? null : new java.sql.Date(d.getTime());
1087
- }
1088
- }
1089
-
1090
- /*
1091
- /****************************************************
1092
- /* And other oddities
1093
- /****************************************************
1094
- */
1095
-
1096
- public static class StackTraceElementDeserializer
1097
- extends StdScalarDeserializer<StackTraceElement>
1098
- {
1099
- public StackTraceElementDeserializer() { super(StackTraceElement.class); }
1100
-
1101
- @Override
1102
- public StackTraceElement deserialize(JsonParser jp, DeserializationContext ctxt)
1103
- throws IOException, JsonProcessingException
1104
- {
1105
- JsonToken t = jp.getCurrentToken();
1106
- // Must get an Object
1107
- if (t == JsonToken.START_OBJECT) {
1108
- String className = "", methodName = "", fileName = "";
1109
- int lineNumber = -1;
1110
-
1111
- while ((t = jp.nextValue()) != JsonToken.END_OBJECT) {
1112
- String propName = jp.getCurrentName();
1113
- if ("className".equals(propName)) {
1114
- className = jp.getText();
1115
- } else if ("fileName".equals(propName)) {
1116
- fileName = jp.getText();
1117
- } else if ("lineNumber".equals(propName)) {
1118
- if (t.isNumeric()) {
1119
- lineNumber = jp.getIntValue();
1120
- } else {
1121
- throw JsonMappingException.from(jp, "Non-numeric token ("+t+") for property 'lineNumber'");
1122
- }
1123
- } else if ("methodName".equals(propName)) {
1124
- methodName = jp.getText();
1125
- } else if ("nativeMethod".equals(propName)) {
1126
- // no setter, not passed via constructor: ignore
1127
- } else {
1128
- handleUnknownProperty(jp, ctxt, _valueClass, propName);
1129
- }
1130
- }
1131
- return new StackTraceElement(className, methodName, fileName, lineNumber);
1132
- }
1133
- throw ctxt.mappingException(_valueClass, t);
1134
- }
1135
- }
1136
- }