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,206 +0,0 @@
1
- package sh.calaba.org.codehaus.jackson.map.module;
2
-
3
- import java.util.*;
4
-
5
- import sh.calaba.org.codehaus.jackson.map.*;
6
- import sh.calaba.org.codehaus.jackson.map.type.ArrayType;
7
- import sh.calaba.org.codehaus.jackson.map.type.ClassKey;
8
- import sh.calaba.org.codehaus.jackson.map.type.CollectionLikeType;
9
- import sh.calaba.org.codehaus.jackson.map.type.CollectionType;
10
- import sh.calaba.org.codehaus.jackson.map.type.MapLikeType;
11
- import sh.calaba.org.codehaus.jackson.map.type.MapType;
12
- import sh.calaba.org.codehaus.jackson.type.JavaType;
13
-
14
- /**
15
- * Simple implementation {@link Serializers} which allows registration of
16
- * serializers based on raw (type erased class).
17
- * It can work well for basic bean and scalar type serializers, but is not
18
- * a good fit for handling generic types (like {@link Map}s and {@link Collection}s).
19
- *<p>
20
- * Type registrations are assumed to be general; meaning that registration of serializer
21
- * for a super type will also be used for handling subtypes, unless an exact match
22
- * is found first. As an example, handler for {@link CharSequence} would also be used
23
- * serializing {@link StringBuilder} instances, unless a direct mapping was found.
24
- *
25
- * @since 1.7
26
- */
27
- public class SimpleSerializers extends Serializers.Base
28
- {
29
- /**
30
- * Class-based mappings that are used both for exact and
31
- * sub-class matches.
32
- */
33
- protected HashMap<ClassKey,JsonSerializer<?>> _classMappings = null;
34
-
35
- /**
36
- * Interface-based matches.
37
- */
38
- protected HashMap<ClassKey,JsonSerializer<?>> _interfaceMappings = null;
39
-
40
- /*
41
- /**********************************************************
42
- /* Life-cycle, construction and configuring
43
- /**********************************************************
44
- */
45
-
46
- public SimpleSerializers() { }
47
-
48
- /**
49
- * Method for adding given serializer for type that {@link JsonSerializer#handledType}
50
- * specifies (which MUST return a non-null class; and can NOT be {@link Object}, as a
51
- * sanity check).
52
- * For serializers that do not declare handled type, use the variant that takes
53
- * two arguments.
54
- *
55
- * @param ser
56
- */
57
- public void addSerializer(JsonSerializer<?> ser)
58
- {
59
- // Interface to match?
60
- Class<?> cls = ser.handledType();
61
- if (cls == null || cls == Object.class) {
62
- throw new IllegalArgumentException("JsonSerializer of type "+ser.getClass().getName()
63
- +" does not define valid handledType() -- must either register with method that takes type argument "
64
- +" or make serializer extend 'sh.calaba.org.codehaus.jackson.map.ser.std.SerializerBase'");
65
- }
66
- _addSerializer(cls, ser);
67
- }
68
-
69
- public <T> void addSerializer(Class<? extends T> type, JsonSerializer<T> ser)
70
- {
71
- _addSerializer(type, ser);
72
- }
73
-
74
- private void _addSerializer(Class<?> cls, JsonSerializer<?> ser)
75
- {
76
- ClassKey key = new ClassKey(cls);
77
- // Interface or class type?
78
- if (cls.isInterface()) {
79
- if (_interfaceMappings == null) {
80
- _interfaceMappings = new HashMap<ClassKey,JsonSerializer<?>>();
81
- }
82
- _interfaceMappings.put(key, ser);
83
- } else { // nope, class:
84
- if (_classMappings == null) {
85
- _classMappings = new HashMap<ClassKey,JsonSerializer<?>>();
86
- }
87
- _classMappings.put(key, ser);
88
- }
89
- }
90
-
91
- /*
92
- /**********************************************************
93
- /* Serializers implementation
94
- /**********************************************************
95
- */
96
-
97
- @Override
98
- public JsonSerializer<?> findSerializer(SerializationConfig config, JavaType type,
99
- BeanDescription beanDesc, BeanProperty property)
100
- {
101
- Class<?> cls = type.getRawClass();
102
- ClassKey key = new ClassKey(cls);
103
- JsonSerializer<?> ser = null;
104
-
105
- // First: direct match?
106
- if (cls.isInterface()) {
107
- if (_interfaceMappings != null) {
108
- ser = _interfaceMappings.get(key);
109
- if (ser != null) {
110
- return ser;
111
- }
112
- }
113
- } else {
114
- if (_classMappings != null) {
115
- ser = _classMappings.get(key);
116
- if (ser != null) {
117
- return ser;
118
- }
119
- // If not direct match, maybe super-class match?
120
- for (Class<?> curr = cls; (curr != null); curr = curr.getSuperclass()) {
121
- key.reset(curr);
122
- ser = _classMappings.get(key);
123
- if (ser != null) {
124
- return ser;
125
- }
126
- }
127
- }
128
- }
129
- // No direct match? How about super-interfaces?
130
- if (_interfaceMappings != null) {
131
- ser = _findInterfaceMapping(cls, key);
132
- if (ser != null) {
133
- return ser;
134
- }
135
- // still no matches? Maybe interfaces of super classes
136
- if (!cls.isInterface()) {
137
- while ((cls = cls.getSuperclass()) != null) {
138
- ser = _findInterfaceMapping(cls, key);
139
- if (ser != null) {
140
- return ser;
141
- }
142
- }
143
- }
144
- }
145
- return null;
146
- }
147
-
148
- @Override
149
- public JsonSerializer<?> findArraySerializer(SerializationConfig config,
150
- ArrayType type, BeanDescription beanDesc, BeanProperty property,
151
- TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer) {
152
- return findSerializer(config, type, beanDesc, property);
153
- }
154
-
155
- @Override
156
- public JsonSerializer<?> findCollectionSerializer(SerializationConfig config,
157
- CollectionType type, BeanDescription beanDesc, BeanProperty property,
158
- TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer) {
159
- return findSerializer(config, type, beanDesc, property);
160
- }
161
-
162
- @Override
163
- public JsonSerializer<?> findCollectionLikeSerializer(SerializationConfig config,
164
- CollectionLikeType type, BeanDescription beanDesc, BeanProperty property,
165
- TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer) {
166
- return findSerializer(config, type, beanDesc, property);
167
- }
168
-
169
- @Override
170
- public JsonSerializer<?> findMapSerializer(SerializationConfig config,
171
- MapType type, BeanDescription beanDesc, BeanProperty property,
172
- JsonSerializer<Object> keySerializer,
173
- TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer) {
174
- return findSerializer(config, type, beanDesc, property);
175
- }
176
-
177
- @Override
178
- public JsonSerializer<?> findMapLikeSerializer(SerializationConfig config,
179
- MapLikeType type, BeanDescription beanDesc, BeanProperty property,
180
- JsonSerializer<Object> keySerializer,
181
- TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer) {
182
- return findSerializer(config, type, beanDesc, property);
183
- }
184
-
185
- /*
186
- /**********************************************************
187
- /* Internal methods
188
- /**********************************************************
189
- */
190
-
191
- protected JsonSerializer<?> _findInterfaceMapping(Class<?> cls, ClassKey key)
192
- {
193
- for (Class<?> iface : cls.getInterfaces()) {
194
- key.reset(iface);
195
- JsonSerializer<?> ser = _interfaceMappings.get(key);
196
- if (ser != null) {
197
- return ser;
198
- }
199
- ser = _findInterfaceMapping(iface, key);
200
- if (ser != null) {
201
- return ser;
202
- }
203
- }
204
- return null;
205
- }
206
- }
@@ -1,45 +0,0 @@
1
- package sh.calaba.org.codehaus.jackson.map.module;
2
-
3
- import java.util.HashMap;
4
-
5
- import sh.calaba.org.codehaus.jackson.map.BeanDescription;
6
- import sh.calaba.org.codehaus.jackson.map.DeserializationConfig;
7
- import sh.calaba.org.codehaus.jackson.map.deser.ValueInstantiator;
8
- import sh.calaba.org.codehaus.jackson.map.deser.ValueInstantiators;
9
- import sh.calaba.org.codehaus.jackson.map.type.ClassKey;
10
-
11
- public class SimpleValueInstantiators
12
- extends ValueInstantiators.Base
13
- {
14
- /**
15
- * Mappings from raw (type-erased, i.e. non-generic) types
16
- * to matching {@link ValueInstantiator} instances.
17
- */
18
- protected HashMap<ClassKey,ValueInstantiator> _classMappings;
19
-
20
- /*
21
- /**********************************************************
22
- /* Life-cycle, construction and configuring
23
- /**********************************************************
24
- */
25
-
26
- public SimpleValueInstantiators()
27
- {
28
- _classMappings = new HashMap<ClassKey,ValueInstantiator>();
29
- }
30
-
31
- public SimpleValueInstantiators addValueInstantiator(Class<?> forType,
32
- ValueInstantiator inst)
33
- {
34
- _classMappings.put(new ClassKey(forType), inst);
35
- return this;
36
- }
37
-
38
- @Override
39
- public ValueInstantiator findValueInstantiator(DeserializationConfig config,
40
- BeanDescription beanDesc, ValueInstantiator defaultInstantiator)
41
- {
42
- ValueInstantiator inst = _classMappings.get(new ClassKey(beanDesc.getBeanClass()));
43
- return (inst == null) ? defaultInstantiator : inst;
44
- }
45
- }
@@ -1,16 +0,0 @@
1
- /**
2
- * Package that contains classes and interfaces to help implement
3
- * custom extension {@link sh.calaba.org.codehaus.jackson.map.Module}s
4
- * (which are registered using
5
- * {@link sh.calaba.org.codehaus.jackson.map.ObjectMapper#registerModule}.
6
- *<p>
7
- * Note that classes in the package only support registering
8
- * handlers for non-generic types (types without type
9
- * parameterization) -- hence "simple" -- which works for
10
- * many cases, but not all. So if you will need to register
11
- * handlers for generic types, you will usually need to either
12
- * sub-class handlers, or implement/extend base types directly.
13
- *
14
- * @since 1.7
15
- */
16
- package sh.calaba.org.codehaus.jackson.map.module;
@@ -1,34 +0,0 @@
1
- /**
2
- Contains basic mapper (conversion) functionality that
3
- allows for converting between regular streaming json content and
4
- Java objects (beans or Tree Model: support for both is via
5
- {@link sh.calaba.org.codehaus.jackson.map.ObjectMapper} class, as well
6
- as convenience methods included in
7
- {@link sh.calaba.org.codehaus.jackson.JsonParser}
8
- <p>
9
- Object mapper will convert Json content to ant from
10
- basic Java wrapper types (Integer, Boolean, Double),
11
- Collection types (List, Map), Java Beans,
12
- Strings and nulls.
13
- <p>
14
- Tree mapper builds dynamically typed tree of <code>JsonNode</code>s
15
- from Json content (and writes such trees as Json),
16
- similar to how DOM model works with xml.
17
- Main benefits over Object mapping are:
18
- <ul>
19
- <li>No null checks are needed (dummy
20
- nodes are created as necessary to represent "missing" Object fields
21
- and Array elements)
22
- </li>
23
- <li>No type casts are usually needed: all public access methods are defined
24
- in basic JsonNode class, and when "incompatible" method (such as Array
25
- element access on, say, Boolean node) is used, returned node is
26
- virtual "missing" node.
27
- </li>
28
- </ul>
29
- Because of its dynamic nature, Tree mapping is often convenient
30
- for basic path access and tree navigation, where structure of
31
- the resulting tree is known in advance.
32
- */
33
-
34
- package sh.calaba.org.codehaus.jackson.map;
@@ -1,48 +0,0 @@
1
- package sh.calaba.org.codehaus.jackson.map.ser;
2
-
3
- import java.lang.reflect.Method;
4
- import java.util.Map;
5
-
6
- import sh.calaba.org.codehaus.jackson.*;
7
- import sh.calaba.org.codehaus.jackson.map.*;
8
- import sh.calaba.org.codehaus.jackson.map.introspect.AnnotatedMethod;
9
- import sh.calaba.org.codehaus.jackson.map.ser.std.MapSerializer;
10
-
11
- /**
12
- * Class similar to {@link BeanPropertyWriter}, but that will be used
13
- * for serializing {@link sh.calaba.org.codehaus.jackson.annotate.JsonAnyGetter} annotated
14
- * (Map) properties
15
- *
16
- * @since 1.6
17
- */
18
- public class AnyGetterWriter
19
- {
20
- protected final Method _anyGetter;
21
-
22
- protected final MapSerializer _serializer;
23
-
24
- public AnyGetterWriter(AnnotatedMethod anyGetter, MapSerializer serializer)
25
- {
26
- _anyGetter = anyGetter.getAnnotated();
27
- _serializer = serializer;
28
- }
29
-
30
- public void getAndSerialize(Object bean, JsonGenerator jgen, SerializerProvider provider)
31
- throws Exception
32
- {
33
- Object value = _anyGetter.invoke(bean);
34
- if (value == null) {
35
- return;
36
- }
37
- if (!(value instanceof Map<?,?>)) {
38
- throw new JsonMappingException("Value returned by 'any-getter' ("+_anyGetter.getName()+"()) not java.util.Map but "
39
- +value.getClass().getName());
40
- }
41
- _serializer.serializeFields((Map<?,?>) value, jgen, provider);
42
- }
43
-
44
- public void resolve(SerializerProvider provider) throws JsonMappingException
45
- {
46
- _serializer.resolve(provider);
47
- }
48
- }
@@ -1,7 +0,0 @@
1
- package sh.calaba.org.codehaus.jackson.map.ser;
2
-
3
- /**
4
- * @deprecated Since 1.9 use {@link sh.calaba.org.codehaus.jackson.map.ser.std.StdArraySerializers}
5
- */
6
- @Deprecated
7
- public class ArraySerializers extends sh.calaba.org.codehaus.jackson.map.ser.std.StdArraySerializers { }
@@ -1,806 +0,0 @@
1
- package sh.calaba.org.codehaus.jackson.map.ser;
2
-
3
- import java.lang.reflect.Method;
4
- import java.math.BigDecimal;
5
- import java.math.BigInteger;
6
- import java.net.InetAddress;
7
- import java.util.*;
8
-
9
- import sh.calaba.org.codehaus.jackson.map.*;
10
- import sh.calaba.org.codehaus.jackson.map.annotate.JsonSerialize;
11
- import sh.calaba.org.codehaus.jackson.map.ext.OptionalHandlerFactory;
12
- import sh.calaba.org.codehaus.jackson.map.introspect.*;
13
- import sh.calaba.org.codehaus.jackson.map.jsontype.NamedType;
14
- import sh.calaba.org.codehaus.jackson.map.jsontype.TypeResolverBuilder;
15
- import sh.calaba.org.codehaus.jackson.map.ser.std.CalendarSerializer;
16
- import sh.calaba.org.codehaus.jackson.map.ser.std.DateSerializer;
17
- import sh.calaba.org.codehaus.jackson.map.ser.std.EnumMapSerializer;
18
- import sh.calaba.org.codehaus.jackson.map.ser.std.EnumSerializer;
19
- import sh.calaba.org.codehaus.jackson.map.ser.std.IndexedStringListSerializer;
20
- import sh.calaba.org.codehaus.jackson.map.ser.std.InetAddressSerializer;
21
- import sh.calaba.org.codehaus.jackson.map.ser.std.JsonValueSerializer;
22
- import sh.calaba.org.codehaus.jackson.map.ser.std.MapSerializer;
23
- import sh.calaba.org.codehaus.jackson.map.ser.std.NullSerializer;
24
- import sh.calaba.org.codehaus.jackson.map.ser.std.ObjectArraySerializer;
25
- import sh.calaba.org.codehaus.jackson.map.ser.std.SerializableSerializer;
26
- import sh.calaba.org.codehaus.jackson.map.ser.std.SerializableWithTypeSerializer;
27
- import sh.calaba.org.codehaus.jackson.map.ser.std.StdArraySerializers;
28
- import sh.calaba.org.codehaus.jackson.map.ser.std.StdContainerSerializers;
29
- import sh.calaba.org.codehaus.jackson.map.ser.std.StdJdkSerializers;
30
- import sh.calaba.org.codehaus.jackson.map.ser.std.StringCollectionSerializer;
31
- import sh.calaba.org.codehaus.jackson.map.ser.std.StringSerializer;
32
- import sh.calaba.org.codehaus.jackson.map.ser.std.TimeZoneSerializer;
33
- import sh.calaba.org.codehaus.jackson.map.ser.std.ToStringSerializer;
34
- import sh.calaba.org.codehaus.jackson.map.ser.std.TokenBufferSerializer;
35
- import sh.calaba.org.codehaus.jackson.map.type.*;
36
- import sh.calaba.org.codehaus.jackson.map.util.ClassUtil;
37
- import sh.calaba.org.codehaus.jackson.map.util.EnumValues;
38
- import sh.calaba.org.codehaus.jackson.type.JavaType;
39
- import sh.calaba.org.codehaus.jackson.util.TokenBuffer;
40
-
41
- /**
42
- * Factory class that can provide serializers for standard JDK classes,
43
- * as well as custom classes that extend standard classes or implement
44
- * one of "well-known" interfaces (such as {@link java.util.Collection}).
45
- *<p>
46
- * Since all the serializers are eagerly instantiated, and there is
47
- * no additional introspection or customizability of these types,
48
- * this factory is essentially stateless.
49
- */
50
- public abstract class BasicSerializerFactory
51
- extends SerializerFactory
52
- {
53
-
54
- /*
55
- /**********************************************************
56
- /* Configuration, lookup tables/maps
57
- /**********************************************************
58
- */
59
-
60
- /**
61
- * Since these are all JDK classes, we shouldn't have to worry
62
- * about ClassLoader used to load them. Rather, we can just
63
- * use the class name, and keep things simple and efficient.
64
- */
65
- protected final static HashMap<String, JsonSerializer<?>> _concrete =
66
- new HashMap<String, JsonSerializer<?>>();
67
-
68
- /**
69
- * Actually it may not make much sense to eagerly instantiate all
70
- * kinds of serializers: so this Map actually contains class references,
71
- * not instances
72
- *
73
- * @since 1.6
74
- */
75
- protected final static HashMap<String, Class<? extends JsonSerializer<?>>> _concreteLazy =
76
- new HashMap<String, Class<? extends JsonSerializer<?>>>();
77
-
78
- static {
79
- /* String and string-like types (note: date types explicitly
80
- * not included -- can use either textual or numeric serialization)
81
- */
82
- _concrete.put(String.class.getName(), new StringSerializer());
83
- final ToStringSerializer sls = ToStringSerializer.instance;
84
- _concrete.put(StringBuffer.class.getName(), sls);
85
- _concrete.put(StringBuilder.class.getName(), sls);
86
- _concrete.put(Character.class.getName(), sls);
87
- _concrete.put(Character.TYPE.getName(), sls);
88
-
89
- // Primitives/wrappers for primitives (primitives needed for Beans)
90
- _concrete.put(Boolean.TYPE.getName(), new StdSerializers.BooleanSerializer(true));
91
- _concrete.put(Boolean.class.getName(), new StdSerializers.BooleanSerializer(false));
92
- final JsonSerializer<?> intS = new StdSerializers.IntegerSerializer();
93
- _concrete.put(Integer.class.getName(), intS);
94
- _concrete.put(Integer.TYPE.getName(), intS);
95
- _concrete.put(Long.class.getName(), StdSerializers.LongSerializer.instance);
96
- _concrete.put(Long.TYPE.getName(), StdSerializers.LongSerializer.instance);
97
- _concrete.put(Byte.class.getName(), StdSerializers.IntLikeSerializer.instance);
98
- _concrete.put(Byte.TYPE.getName(), StdSerializers.IntLikeSerializer.instance);
99
- _concrete.put(Short.class.getName(), StdSerializers.IntLikeSerializer.instance);
100
- _concrete.put(Short.TYPE.getName(), StdSerializers.IntLikeSerializer.instance);
101
-
102
- // Numbers, limited length floating point
103
- _concrete.put(Float.class.getName(), StdSerializers.FloatSerializer.instance);
104
- _concrete.put(Float.TYPE.getName(), StdSerializers.FloatSerializer.instance);
105
- _concrete.put(Double.class.getName(), StdSerializers.DoubleSerializer.instance);
106
- _concrete.put(Double.TYPE.getName(), StdSerializers.DoubleSerializer.instance);
107
-
108
- // Other numbers, more complicated
109
- final JsonSerializer<?> ns = new StdSerializers.NumberSerializer();
110
- _concrete.put(BigInteger.class.getName(), ns);
111
- _concrete.put(BigDecimal.class.getName(), ns);
112
-
113
- // Other discrete non-container types:
114
- // First, Date/Time zoo:
115
- _concrete.put(Calendar.class.getName(), CalendarSerializer.instance);
116
- DateSerializer dateSer = DateSerializer.instance;
117
- _concrete.put(java.util.Date.class.getName(), dateSer);
118
- // note: timestamps are very similar to java.util.Date, thus serialized as such
119
- _concrete.put(java.sql.Timestamp.class.getName(), dateSer);
120
- _concrete.put(java.sql.Date.class.getName(), new StdSerializers.SqlDateSerializer());
121
- _concrete.put(java.sql.Time.class.getName(), new StdSerializers.SqlTimeSerializer());
122
-
123
- // And then other standard non-structured JDK types
124
- for (Map.Entry<Class<?>,Object> en : new StdJdkSerializers().provide()) {
125
- Object value = en.getValue();
126
- if (value instanceof JsonSerializer<?>) {
127
- _concrete.put(en.getKey().getName(), (JsonSerializer<?>) value);
128
- } else if (value instanceof Class<?>) {
129
- @SuppressWarnings("unchecked")
130
- Class<? extends JsonSerializer<?>> cls = (Class<? extends JsonSerializer<?>>) value;
131
- _concreteLazy.put(en.getKey().getName(), cls);
132
- } else { // should never happen, but:
133
- throw new IllegalStateException("Internal error: unrecognized value of type "+en.getClass().getName());
134
- }
135
- }
136
-
137
- // Jackson-specific type(s)
138
- // (Q: can this ever be sub-classed?)
139
- _concreteLazy.put(TokenBuffer.class.getName(), TokenBufferSerializer.class);
140
- }
141
-
142
- protected final static HashMap<String, JsonSerializer<?>> _arraySerializers =
143
- new HashMap<String, JsonSerializer<?>>();
144
- static {
145
- // Arrays of various types (including common object types)
146
- _arraySerializers.put(boolean[].class.getName(), new StdArraySerializers.BooleanArraySerializer());
147
- _arraySerializers.put(byte[].class.getName(), new StdArraySerializers.ByteArraySerializer());
148
- _arraySerializers.put(char[].class.getName(), new StdArraySerializers.CharArraySerializer());
149
- _arraySerializers.put(short[].class.getName(), new StdArraySerializers.ShortArraySerializer());
150
- _arraySerializers.put(int[].class.getName(), new StdArraySerializers.IntArraySerializer());
151
- _arraySerializers.put(long[].class.getName(), new StdArraySerializers.LongArraySerializer());
152
- _arraySerializers.put(float[].class.getName(), new StdArraySerializers.FloatArraySerializer());
153
- _arraySerializers.put(double[].class.getName(), new StdArraySerializers.DoubleArraySerializer());
154
- }
155
-
156
- /**
157
- * Helper object used to deal with serializers for optional JDK types (like ones
158
- * omitted from GAE, Android)
159
- */
160
- protected OptionalHandlerFactory optionalHandlers = OptionalHandlerFactory.instance;
161
-
162
- /*
163
- /**********************************************************
164
- /* Life cycle
165
- /**********************************************************
166
- */
167
-
168
- /**
169
- * We will provide default constructor to allow sub-classing,
170
- * but make it protected so that no non-singleton instances of
171
- * the class will be instantiated.
172
- */
173
- protected BasicSerializerFactory() { }
174
-
175
- /*
176
- /**********************************************************
177
- /* SerializerFactory impl
178
- /**********************************************************
179
- */
180
-
181
- // Implemented by sub-classes
182
- @Override
183
- public abstract JsonSerializer<Object> createSerializer(SerializationConfig config, JavaType type,
184
- BeanProperty property)
185
- throws JsonMappingException;
186
-
187
- /**
188
- * Method called to construct a type serializer for values with given declared
189
- * base type. This is called for values other than those of bean property
190
- * types.
191
- */
192
- @Override
193
- public TypeSerializer createTypeSerializer(SerializationConfig config, JavaType baseType,
194
- BeanProperty property)
195
- {
196
- BasicBeanDescription bean = config.introspectClassAnnotations(baseType.getRawClass());
197
- AnnotatedClass ac = bean.getClassInfo();
198
- AnnotationIntrospector ai = config.getAnnotationIntrospector();
199
- TypeResolverBuilder<?> b = ai.findTypeResolver(config, ac, baseType);
200
- /* Ok: if there is no explicit type info handler, we may want to
201
- * use a default. If so, config object knows what to use.
202
- */
203
- Collection<NamedType> subtypes = null;
204
- if (b == null) {
205
- b = config.getDefaultTyper(baseType);
206
- } else {
207
- subtypes = config.getSubtypeResolver().collectAndResolveSubtypes(ac, config, ai);
208
- }
209
- return (b == null) ? null : b.buildTypeSerializer(config, baseType, subtypes, property);
210
- }
211
-
212
-
213
- /*
214
- /**********************************************************
215
- /* Additional API for other core classes
216
- /**********************************************************
217
- */
218
-
219
- public final JsonSerializer<?> getNullSerializer() {
220
- return NullSerializer.instance;
221
- }
222
-
223
- protected abstract Iterable<Serializers> customSerializers();
224
-
225
- /*
226
- /**********************************************************
227
- /* Overridable secondary serializer accessor methods
228
- /**********************************************************
229
- */
230
-
231
- /**
232
- * Method that will use fast lookup (and identity comparison) methods to
233
- * see if we know serializer to use for given type.
234
- */
235
- public final JsonSerializer<?> findSerializerByLookup(JavaType type, SerializationConfig config,
236
- BasicBeanDescription beanDesc, BeanProperty property,
237
- boolean staticTyping)
238
- {
239
- Class<?> raw = type.getRawClass();
240
- String clsName = raw.getName();
241
- JsonSerializer<?> ser = _concrete.get(clsName);
242
- if (ser != null) {
243
- return ser;
244
- }
245
- Class<? extends JsonSerializer<?>> serClass = _concreteLazy.get(clsName);
246
- if (serClass != null) {
247
- try {
248
- return serClass.newInstance();
249
- } catch (Exception e) {
250
- throw new IllegalStateException("Failed to instantiate standard serializer (of type "+serClass.getName()+"): "
251
- +e.getMessage(), e);
252
- }
253
- }
254
- return null;
255
- }
256
-
257
- /**
258
- * Method for checking if we can determine serializer to use based on set of
259
- * known primary types, checking for set of known base types (exact matches
260
- * having been compared against with <code>findSerializerByLookup</code>).
261
- * This does not include "secondary" interfaces, but
262
- * mostly concrete or abstract base classes.
263
- */
264
- @SuppressWarnings("deprecation")
265
- public final JsonSerializer<?> findSerializerByPrimaryType(JavaType type, SerializationConfig config,
266
- BasicBeanDescription beanDesc, BeanProperty property,
267
- boolean staticTyping)
268
- throws JsonMappingException
269
- {
270
- Class<?> raw = type.getRawClass();
271
- // First: JsonSerializable and related
272
- if (JsonSerializable.class.isAssignableFrom(raw)) {
273
- if (JsonSerializableWithType.class.isAssignableFrom(raw)) {
274
- return SerializableWithTypeSerializer.instance;
275
- }
276
- return SerializableSerializer.instance;
277
- }
278
- // Second: as per [JACKSON-193] consider @JsonValue for any types:
279
- AnnotatedMethod valueMethod = beanDesc.findJsonValueMethod();
280
- if (valueMethod != null) {
281
- // [JACKSON-586]: need to ensure accessibility of method
282
- Method m = valueMethod.getAnnotated();
283
- if (config.isEnabled(SerializationConfig.Feature.CAN_OVERRIDE_ACCESS_MODIFIERS)) {
284
- ClassUtil.checkAndFixAccess(m);
285
- }
286
- JsonSerializer<Object> ser = findSerializerFromAnnotation(config, valueMethod, property);
287
- return new JsonValueSerializer(m, ser, property);
288
- }
289
-
290
- // One unfortunate special case, as per [JACKSON-484]
291
- if (InetAddress.class.isAssignableFrom(raw)) {
292
- return InetAddressSerializer.instance;
293
- }
294
- // ... and another one, [JACKSON-522], for TimeZone
295
- if (TimeZone.class.isAssignableFrom(raw)) {
296
- return TimeZoneSerializer.instance;
297
- }
298
- // and yet one more [JACKSON-789]
299
- if (java.nio.charset.Charset.class.isAssignableFrom(raw)) {
300
- return ToStringSerializer.instance;
301
- }
302
-
303
- // Then check for optional/external serializers [JACKSON-386]
304
- JsonSerializer<?> ser = optionalHandlers.findSerializer(config, type);
305
- if (ser != null) {
306
- return ser;
307
- }
308
-
309
- if (Number.class.isAssignableFrom(raw)) {
310
- return StdSerializers.NumberSerializer.instance;
311
- }
312
- if (Enum.class.isAssignableFrom(raw)) {
313
- @SuppressWarnings("unchecked")
314
- Class<Enum<?>> enumClass = (Class<Enum<?>>) raw;
315
- return EnumSerializer.construct(enumClass, config, beanDesc);
316
- }
317
- if (Calendar.class.isAssignableFrom(raw)) {
318
- return CalendarSerializer.instance;
319
- }
320
- if (java.util.Date.class.isAssignableFrom(raw)) {
321
- return DateSerializer.instance;
322
- }
323
- return null;
324
- }
325
-
326
- /**
327
- * Reflection-based serialized find method, which checks if
328
- * given class implements one of recognized "add-on" interfaces.
329
- * Add-on here means a role that is usually or can be a secondary
330
- * trait: for example,
331
- * bean classes may implement {@link Iterable}, but their main
332
- * function is usually something else. The reason for
333
- */
334
- public final JsonSerializer<?> findSerializerByAddonType(SerializationConfig config, JavaType javaType,
335
- BasicBeanDescription beanDesc, BeanProperty property,
336
- boolean staticTyping)
337
- throws JsonMappingException
338
- {
339
- Class<?> type = javaType.getRawClass();
340
-
341
- // These need to be in decreasing order of specificity...
342
- if (Iterator.class.isAssignableFrom(type)) {
343
- return buildIteratorSerializer(config, javaType, beanDesc, property, staticTyping);
344
- }
345
- if (Iterable.class.isAssignableFrom(type)) {
346
- return buildIterableSerializer(config, javaType, beanDesc, property, staticTyping);
347
- }
348
- if (CharSequence.class.isAssignableFrom(type)) {
349
- return ToStringSerializer.instance;
350
- }
351
- return null;
352
- }
353
-
354
- /**
355
- * Helper method called to check if a class or method
356
- * has an annotation
357
- * (@link sh.calaba.org.codehaus.jackson.map.ser.JsonSerialize#using)
358
- * that tells the class to use for serialization.
359
- * Returns null if no such annotation found.
360
- */
361
- @SuppressWarnings("unchecked")
362
- protected JsonSerializer<Object> findSerializerFromAnnotation(SerializationConfig config, Annotated a,
363
- BeanProperty property)
364
- throws JsonMappingException
365
- {
366
- Object serDef = config.getAnnotationIntrospector().findSerializer(a);
367
- if (serDef == null) {
368
- return null;
369
- }
370
- if (serDef instanceof JsonSerializer) {
371
- JsonSerializer<Object> ser = (JsonSerializer<Object>) serDef;
372
- if (ser instanceof ContextualSerializer<?>) {
373
- return ((ContextualSerializer<Object>) ser).createContextual(config, property);
374
- }
375
- return ser;
376
- }
377
- /* Alas, there's no way to force return type of "either class
378
- * X or Y" -- need to throw an exception after the fact
379
- */
380
- if (!(serDef instanceof Class)) {
381
- throw new IllegalStateException("AnnotationIntrospector returned value of type "+serDef.getClass().getName()+"; expected type JsonSerializer or Class<JsonSerializer> instead");
382
- }
383
- Class<?> cls = (Class<?>) serDef;
384
- if (!JsonSerializer.class.isAssignableFrom(cls)) {
385
- throw new IllegalStateException("AnnotationIntrospector returned Class "+cls.getName()+"; expected Class<JsonSerializer>");
386
- }
387
- JsonSerializer<Object> ser = config.serializerInstance(a, (Class<? extends JsonSerializer<?>>) cls);
388
- if (ser instanceof ContextualSerializer<?>) {
389
- return ((ContextualSerializer<Object>) ser).createContextual(config, property);
390
- }
391
- return ser;
392
- }
393
-
394
- /*
395
- /**********************************************************
396
- /* Factory methods, container types:
397
- /**********************************************************
398
- */
399
-
400
- public JsonSerializer<?> buildContainerSerializer(SerializationConfig config, JavaType type,
401
- BasicBeanDescription beanDesc, BeanProperty property, boolean staticTyping)
402
- {
403
- // Let's see what we can learn about element/content/value type, type serializer for it:
404
- JavaType elementType = type.getContentType();
405
- TypeSerializer elementTypeSerializer = createTypeSerializer(config, elementType, property);
406
-
407
- // if elements have type serializer, can not force static typing:
408
- if (elementTypeSerializer != null) {
409
- staticTyping = false;
410
- } else if (!staticTyping) {
411
- staticTyping = usesStaticTyping(config, beanDesc, elementTypeSerializer, property);
412
- }
413
- JsonSerializer<Object> elementValueSerializer = findContentSerializer(config,
414
- beanDesc.getClassInfo(), property);
415
-
416
- if (type.isMapLikeType()) { // implements java.util.Map
417
- MapLikeType mlt = (MapLikeType) type;
418
- JsonSerializer<Object> keySerializer = findKeySerializer(config, beanDesc.getClassInfo(), property);
419
- if (mlt.isTrueMapType()) {
420
- return buildMapSerializer(config, (MapType) mlt, beanDesc, property, staticTyping,
421
- keySerializer, elementTypeSerializer, elementValueSerializer);
422
- }
423
- return buildMapLikeSerializer(config, mlt, beanDesc, property, staticTyping,
424
- keySerializer, elementTypeSerializer, elementValueSerializer);
425
- }
426
- if (type.isCollectionLikeType()) {
427
- CollectionLikeType clt = (CollectionLikeType) type;
428
- if (clt.isTrueCollectionType()) {
429
- return buildCollectionSerializer(config, (CollectionType) clt, beanDesc, property, staticTyping,
430
- elementTypeSerializer, elementValueSerializer);
431
- }
432
- return buildCollectionLikeSerializer(config, clt, beanDesc, property, staticTyping,
433
- elementTypeSerializer, elementValueSerializer);
434
- }
435
- if (type.isArrayType()) {
436
- return buildArraySerializer(config, (ArrayType) type, beanDesc, property, staticTyping,
437
- elementTypeSerializer, elementValueSerializer);
438
- }
439
- return null;
440
- }
441
-
442
- /**
443
- * Helper method that handles configuration details when constructing serializers for
444
- * Collection and Collection-like types.
445
- *
446
- * @since 1.8
447
- */
448
- protected JsonSerializer<?> buildCollectionLikeSerializer(SerializationConfig config,
449
- CollectionLikeType type,
450
- BasicBeanDescription beanDesc, BeanProperty property,
451
- boolean staticTyping,
452
- TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)
453
- {
454
- for (Serializers serializers : customSerializers()) {
455
- JsonSerializer<?> ser = serializers.findCollectionLikeSerializer(config, type, beanDesc, property,
456
- elementTypeSerializer, elementValueSerializer);
457
- if (ser != null) {
458
- return ser;
459
- }
460
- }
461
- return null;
462
- }
463
-
464
- /**
465
- * Helper method that handles configuration details when constructing serializers for
466
- * {@link java.util.List} types that support efficient by-index access
467
- *<p>
468
- * Note: signature changed in 1.8, to take 'staticTyping' argument
469
- */
470
- protected JsonSerializer<?> buildCollectionSerializer(SerializationConfig config,
471
- CollectionType type,
472
- BasicBeanDescription beanDesc, BeanProperty property,
473
- boolean staticTyping,
474
- TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)
475
- {
476
- // Module-provided custom collection serializers?
477
- for (Serializers serializers : customSerializers()) {
478
- JsonSerializer<?> ser = serializers.findCollectionSerializer(config, type, beanDesc, property,
479
- elementTypeSerializer, elementValueSerializer);
480
- if (ser != null) {
481
- return ser;
482
- }
483
- }
484
- Class<?> raw = type.getRawClass();
485
- if (EnumSet.class.isAssignableFrom(raw)) {
486
- return buildEnumSetSerializer(config, type, beanDesc, property, staticTyping,
487
- elementTypeSerializer, elementValueSerializer);
488
- }
489
- Class<?> elementRaw = type.getContentType().getRawClass();
490
- if (isIndexedList(raw)) {
491
- if (elementRaw == String.class) {
492
- return new IndexedStringListSerializer(property);
493
- }
494
- return StdContainerSerializers.indexedListSerializer(type.getContentType(), staticTyping,
495
- elementTypeSerializer, property, elementValueSerializer);
496
- }
497
- if (elementRaw == String.class) {
498
- return new StringCollectionSerializer(property);
499
- }
500
- return StdContainerSerializers.collectionSerializer(type.getContentType(), staticTyping,
501
- elementTypeSerializer, property, elementValueSerializer);
502
- }
503
-
504
- protected JsonSerializer<?> buildEnumSetSerializer(SerializationConfig config, JavaType type,
505
- BasicBeanDescription beanDesc, BeanProperty property,
506
- boolean staticTyping,
507
- TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)
508
- {
509
- // this may or may not be available (Class doesn't; type of field/method does)
510
- JavaType enumType = type.getContentType();
511
- // and even if nominally there is something, only use if it really is enum
512
- if (!enumType.isEnumType()) {
513
- enumType = null;
514
- }
515
- return StdContainerSerializers.enumSetSerializer(enumType, property);
516
- }
517
-
518
- /**
519
- * @since 1.8
520
- */
521
- protected boolean isIndexedList(Class<?> cls)
522
- {
523
- return RandomAccess.class.isAssignableFrom(cls);
524
- }
525
-
526
- /*
527
- /**********************************************************
528
- /* Factory methods, for Maps
529
- /**********************************************************
530
- */
531
-
532
- /**
533
- * Helper method that handles configuration details when constructing serializers for
534
- * all "Map-like" types; both ones that implement {@link java.util.Map} and
535
- * ones that do not (but that have been indicated to behave like Maps).
536
- *
537
- * @since 1.8
538
- */
539
- protected JsonSerializer<?> buildMapLikeSerializer(SerializationConfig config, MapLikeType type,
540
- BasicBeanDescription beanDesc, BeanProperty property,
541
- boolean staticTyping,
542
- JsonSerializer<Object> keySerializer,
543
- TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)
544
- {
545
- for (Serializers serializers : customSerializers()) {
546
- JsonSerializer<?> ser = serializers.findMapLikeSerializer(config, type, beanDesc, property,
547
- keySerializer, elementTypeSerializer, elementValueSerializer);
548
- if (ser != null) {
549
- return ser;
550
- }
551
- }
552
- return null;
553
- }
554
-
555
- /**
556
- * Helper method that handles configuration details when constructing serializers for
557
- * {@link java.util.Map} types.
558
- *<p>
559
- * Note: signature changed in 1.8, to take 'staticTyping' argument
560
- */
561
- protected JsonSerializer<?> buildMapSerializer(SerializationConfig config, MapType type,
562
- BasicBeanDescription beanDesc, BeanProperty property,
563
- boolean staticTyping,
564
- JsonSerializer<Object> keySerializer,
565
- TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)
566
- {
567
- for (Serializers serializers : customSerializers()) {
568
- JsonSerializer<?> ser = serializers.findMapSerializer(config, type, beanDesc, property,
569
- keySerializer, elementTypeSerializer, elementValueSerializer);
570
- if (ser != null) {
571
- return ser;
572
- }
573
- }
574
- if (EnumMap.class.isAssignableFrom(type.getRawClass())) {
575
- return buildEnumMapSerializer(config, type, beanDesc, property, staticTyping,
576
- elementTypeSerializer, elementValueSerializer);
577
- }
578
- return MapSerializer.construct(config.getAnnotationIntrospector().findPropertiesToIgnore(beanDesc.getClassInfo()),
579
- type, staticTyping, elementTypeSerializer, property,
580
- keySerializer, elementValueSerializer);
581
- }
582
-
583
- /**
584
- * Helper method that handles configuration details when constructing serializers for
585
- * {@link java.util.EnumMap} types.
586
- *<p>
587
- * Note: signature changed in 1.8, to take 'staticTyping' argument
588
- */
589
- protected JsonSerializer<?> buildEnumMapSerializer(SerializationConfig config, JavaType type,
590
- BasicBeanDescription beanDesc, BeanProperty property,
591
- boolean staticTyping,
592
- TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)
593
- {
594
- JavaType keyType = type.getKeyType();
595
- // Need to find key enum values...
596
- EnumValues enums = null;
597
- if (keyType.isEnumType()) { // non-enum if we got it as type erased class (from instance)
598
- @SuppressWarnings("unchecked")
599
- Class<Enum<?>> enumClass = (Class<Enum<?>>) keyType.getRawClass();
600
- enums = EnumValues.construct(enumClass, config.getAnnotationIntrospector());
601
- }
602
- return new EnumMapSerializer(type.getContentType(), staticTyping, enums,
603
- elementTypeSerializer, property, elementValueSerializer);
604
- }
605
-
606
- /*
607
- /**********************************************************
608
- /* Factory methods, for Arrays
609
- /**********************************************************
610
- */
611
-
612
- /**
613
- * Helper method that handles configuration details when constructing serializers for
614
- * <code>Object[]</code> (and subtypes, except for String).
615
- */
616
- protected JsonSerializer<?> buildArraySerializer(SerializationConfig config, ArrayType type,
617
- BasicBeanDescription beanDesc, BeanProperty property,
618
- boolean staticTyping,
619
- TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)
620
- {
621
- Class<?> raw = type.getRawClass();
622
- if (String[].class == raw) {
623
- return new StdArraySerializers.StringArraySerializer(property);
624
- }
625
- // other standard types?
626
- JsonSerializer<?> ser = _arraySerializers.get(raw.getName());
627
- if (ser != null) {
628
- return ser;
629
- }
630
- return new ObjectArraySerializer(type.getContentType(), staticTyping, elementTypeSerializer,
631
- property, elementValueSerializer);
632
- }
633
-
634
- /*
635
- /**********************************************************
636
- /* Factory methods, for non-container types
637
- /**********************************************************
638
- */
639
-
640
- protected JsonSerializer<?> buildIteratorSerializer(SerializationConfig config, JavaType type,
641
- BasicBeanDescription beanDesc, BeanProperty property,
642
- boolean staticTyping)
643
- {
644
- // if there's generic type, it'll be the first contained type
645
- JavaType valueType = type.containedType(0);
646
- if (valueType == null) {
647
- valueType = TypeFactory.unknownType();
648
- }
649
- TypeSerializer vts = createTypeSerializer(config, valueType, property);
650
- return StdContainerSerializers.iteratorSerializer(valueType,
651
- usesStaticTyping(config, beanDesc, vts, property), vts, property);
652
- }
653
-
654
- protected JsonSerializer<?> buildIterableSerializer(SerializationConfig config, JavaType type,
655
- BasicBeanDescription beanDesc, BeanProperty property,
656
- boolean staticTyping)
657
- {
658
- // if there's generic type, it'll be the first contained type
659
- JavaType valueType = type.containedType(0);
660
- if (valueType == null) {
661
- valueType = TypeFactory.unknownType();
662
- }
663
- TypeSerializer vts = createTypeSerializer(config, valueType, property);
664
- return StdContainerSerializers.iterableSerializer(valueType,
665
- usesStaticTyping(config, beanDesc, vts, property), vts, property);
666
- }
667
-
668
- /*
669
- /**********************************************************
670
- /* Other helper methods
671
- /**********************************************************
672
- */
673
-
674
- /**
675
- * Helper method used to encapsulate details of annotation-based type
676
- * coercion
677
- *
678
- * @since 1.8
679
- */
680
- @SuppressWarnings("unchecked")
681
- protected <T extends JavaType> T modifyTypeByAnnotation(SerializationConfig config, Annotated a, T type)
682
- {
683
- // first: let's check class for the instance itself:
684
- Class<?> superclass = config.getAnnotationIntrospector().findSerializationType(a);
685
- if (superclass != null) {
686
- try {
687
- type = (T) type.widenBy(superclass);
688
- } catch (IllegalArgumentException iae) {
689
- throw new IllegalArgumentException("Failed to widen type "+type+" with concrete-type annotation (value "+superclass.getName()+"), method '"+a.getName()+"': "+iae.getMessage());
690
- }
691
- }
692
- return modifySecondaryTypesByAnnotation(config, a, type);
693
- }
694
-
695
- /**
696
- * @since 1.8
697
- */
698
- @SuppressWarnings("unchecked")
699
- protected static <T extends JavaType> T modifySecondaryTypesByAnnotation(SerializationConfig config, Annotated a, T type)
700
- {
701
- AnnotationIntrospector intr = config.getAnnotationIntrospector();
702
- // then key class
703
- if (type.isContainerType()) {
704
- Class<?> keyClass = intr.findSerializationKeyType(a, type.getKeyType());
705
- if (keyClass != null) {
706
- // illegal to use on non-Maps
707
- if (!(type instanceof MapType)) {
708
- throw new IllegalArgumentException("Illegal key-type annotation: type "+type+" is not a Map type");
709
- }
710
- try {
711
- type = (T) ((MapType) type).widenKey(keyClass);
712
- } catch (IllegalArgumentException iae) {
713
- throw new IllegalArgumentException("Failed to narrow key type "+type+" with key-type annotation ("+keyClass.getName()+"): "+iae.getMessage());
714
- }
715
- }
716
-
717
- // and finally content class; only applicable to structured types
718
- Class<?> cc = intr.findSerializationContentType(a, type.getContentType());
719
- if (cc != null) {
720
- try {
721
- type = (T) type.widenContentsBy(cc);
722
- } catch (IllegalArgumentException iae) {
723
- throw new IllegalArgumentException("Failed to narrow content type "+type+" with content-type annotation ("+cc.getName()+"): "+iae.getMessage());
724
- }
725
- }
726
- }
727
- return type;
728
- }
729
-
730
- protected static JsonSerializer<Object> findKeySerializer(SerializationConfig config,
731
- Annotated a, BeanProperty property)
732
- {
733
- AnnotationIntrospector intr = config.getAnnotationIntrospector();
734
- Class<? extends JsonSerializer<?>> serClass = intr.findKeySerializer(a);
735
- if (serClass == null || serClass == JsonSerializer.None.class) {
736
- if (property != null) {
737
- serClass = intr.findKeySerializer(property.getMember());
738
- }
739
- }
740
- if (serClass != null && serClass != JsonSerializer.None.class) {
741
- return config.serializerInstance(a, serClass);
742
- }
743
- return null;
744
- }
745
-
746
- protected static JsonSerializer<Object> findContentSerializer(SerializationConfig config,
747
- Annotated a, BeanProperty property)
748
- {
749
- AnnotationIntrospector intr = config.getAnnotationIntrospector();
750
- Class<? extends JsonSerializer<?>> serClass = intr.findContentSerializer(a);
751
- if (serClass == null || serClass == JsonSerializer.None.class) {
752
- if (property != null) {
753
- serClass = intr.findContentSerializer(property.getMember());
754
- }
755
- }
756
- if (serClass != null && serClass != JsonSerializer.None.class) {
757
- return config.serializerInstance(a, serClass);
758
- }
759
- return null;
760
- }
761
-
762
- /**
763
- * Helper method to check whether global settings and/or class
764
- * annotations for the bean class indicate that static typing
765
- * (declared types) should be used for properties.
766
- * (instead of dynamic runtime types).
767
- */
768
- protected boolean usesStaticTyping(SerializationConfig config, BasicBeanDescription beanDesc,
769
- TypeSerializer typeSer, BeanProperty property)
770
- {
771
- /* 16-Aug-2010, tatu: If there is a (value) type serializer, we can not force
772
- * static typing; that would make it impossible to handle expected subtypes
773
- */
774
- if (typeSer != null) {
775
- return false;
776
- }
777
- AnnotationIntrospector intr = config.getAnnotationIntrospector();
778
- JsonSerialize.Typing t = intr.findSerializationTyping(beanDesc.getClassInfo());
779
- if (t != null) {
780
- if (t == JsonSerialize.Typing.STATIC) {
781
- return true;
782
- }
783
- } else {
784
- if (config.isEnabled(SerializationConfig.Feature.USE_STATIC_TYPING)) {
785
- return true;
786
- }
787
- }
788
- /* 11-Mar-2011, tatu: Ok. This is bit hacky, but we really need to be able to find cases
789
- * where key and/or value serializers were specified, to force use of static typing
790
- */
791
- if (property != null) {
792
- JavaType type = property.getType();
793
- if (type.isContainerType()) {
794
- if (intr.findSerializationContentType(property.getMember(), property.getType()) != null) {
795
- return true;
796
- }
797
- if (type instanceof MapType) {
798
- if (intr.findSerializationKeyType(property.getMember(), property.getType()) != null) {
799
- return true;
800
- }
801
- }
802
- }
803
- }
804
- return false;
805
- }
806
- }