calabash-android 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (532) hide show
  1. data/CHANGES.txt +1 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE +8 -0
  4. data/Rakefile +2 -0
  5. data/bin/calabash-android +42 -0
  6. data/bin/calabash-android-build.rb +37 -0
  7. data/bin/calabash-android-generate.rb +26 -0
  8. data/bin/calabash-android-helpers.rb +71 -0
  9. data/bin/calabash-android-run.rb +18 -0
  10. data/bin/calabash-android-setup.rb +392 -0
  11. data/calabash-android.gemspec +23 -0
  12. data/doc/calabash-android-help.txt +21 -0
  13. data/epl-v10.html +261 -0
  14. data/features-skeleton/.irbrc +16 -0
  15. data/features-skeleton/irb_android.sh +2 -0
  16. data/features-skeleton/my_first.feature +5 -0
  17. data/features-skeleton/step_definitions/calabash_steps.rb +1 -0
  18. data/features-skeleton/support/app_installation_hooks.rb +26 -0
  19. data/features-skeleton/support/app_life_cycle_hooks.rb +28 -0
  20. data/features-skeleton/support/env.rb +1 -0
  21. data/features-skeleton/support/hooks.rb +18 -0
  22. data/lib/calabash-android.rb +2 -0
  23. data/lib/calabash-android/calabash_steps.rb +18 -0
  24. data/lib/calabash-android/canned_steps.md +239 -0
  25. data/lib/calabash-android/color_helper.rb +13 -0
  26. data/lib/calabash-android/cucumber.rb +9 -0
  27. data/lib/calabash-android/lib/screenShotTaker.jar +0 -0
  28. data/lib/calabash-android/management/adb.rb +11 -0
  29. data/lib/calabash-android/management/app_installation.rb +21 -0
  30. data/lib/calabash-android/operations.rb +283 -0
  31. data/lib/calabash-android/steps/additions_manual_steps.rb +11 -0
  32. data/lib/calabash-android/steps/app_steps.rb +10 -0
  33. data/lib/calabash-android/steps/assert_steps.rb +32 -0
  34. data/lib/calabash-android/steps/check_box_steps.rb +3 -0
  35. data/lib/calabash-android/steps/context_menu_steps.rb +12 -0
  36. data/lib/calabash-android/steps/date_picker_steps.rb +8 -0
  37. data/lib/calabash-android/steps/enter_text_steps.rb +21 -0
  38. data/lib/calabash-android/steps/location_steps.rb +19 -0
  39. data/lib/calabash-android/steps/navigation_steps.rb +27 -0
  40. data/lib/calabash-android/steps/press_button_steps.rb +35 -0
  41. data/lib/calabash-android/steps/progress_steps.rb +49 -0
  42. data/lib/calabash-android/steps/rotation_steps.rb +8 -0
  43. data/lib/calabash-android/steps/screenshot_steps.rb +11 -0
  44. data/lib/calabash-android/steps/spinner_steps.rb +3 -0
  45. data/lib/calabash-android/steps/time_picker_steps.rb +8 -0
  46. data/lib/calabash-android/version.rb +6 -0
  47. data/test-server/AndroidManifest.xml +13 -0
  48. data/test-server/build.xml +192 -0
  49. data/test-server/calabash-js/src/calabash.js +125 -0
  50. data/test-server/calabash-js/src/set_text.js +132 -0
  51. data/test-server/instrumentation-backend/.classpath +10 -0
  52. data/test-server/instrumentation-backend/.project +33 -0
  53. data/test-server/instrumentation-backend/.settings/org.eclipse.jdt.core.prefs +12 -0
  54. data/test-server/instrumentation-backend/AndroidManifest.xml +15 -0
  55. data/test-server/instrumentation-backend/assets/foo.bar +0 -0
  56. data/test-server/instrumentation-backend/gen/com/lesspainful/simpleui/test/R.java +23 -0
  57. data/test-server/instrumentation-backend/libs/robotium-solo-2.5.jar +0 -0
  58. data/test-server/instrumentation-backend/project.properties +11 -0
  59. data/test-server/instrumentation-backend/res/drawable-hdpi/ic_launcher.png +0 -0
  60. data/test-server/instrumentation-backend/res/drawable-ldpi/ic_launcher.png +0 -0
  61. data/test-server/instrumentation-backend/res/drawable-mdpi/ic_launcher.png +0 -0
  62. data/test-server/instrumentation-backend/res/layout/main.xml +12 -0
  63. data/test-server/instrumentation-backend/res/values/strings.xml +7 -0
  64. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/Command.java +48 -0
  65. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/InstrumentationBackend.java +196 -0
  66. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/Result.java +64 -0
  67. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/TestHelpers.java +136 -0
  68. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/Action.java +11 -0
  69. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/Actions.java +113 -0
  70. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/NullAction.java +23 -0
  71. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/button/PressButtonNumber.java +22 -0
  72. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/button/PressButtonText.java +27 -0
  73. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/button/PressImageButtonNumber.java +22 -0
  74. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/button/WaitForButton.java +47 -0
  75. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/checkbox/ToggleCheckboxNumber.java +22 -0
  76. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/contextmenu/LongPressText.java +22 -0
  77. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/contextmenu/LongPressTextAndSelectFromMenuById.java +26 -0
  78. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/contextmenu/LongPressTextAndSelectFromMenuByIndex.java +22 -0
  79. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/contextmenu/LongPressTextAndSelectFromMenuByText.java +26 -0
  80. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/ClickOnScreen.java +31 -0
  81. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/Swipe.java +28 -0
  82. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/helpers/ListActions.java +26 -0
  83. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/list/LongPressListItems.java +22 -0
  84. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/list/PressListItems.java +22 -0
  85. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/location/FakeGPSLocation.java +79 -0
  86. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/scrolling/ScrollDown.java +28 -0
  87. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/scrolling/ScrollUp.java +28 -0
  88. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/DownKey.java +24 -0
  89. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/GoBack.java +22 -0
  90. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/PressMenu.java +26 -0
  91. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/SelectFromMenuByText.java +24 -0
  92. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/spinner/SelectSpinnerItemByContentDescription.java +43 -0
  93. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/AssertText.java +31 -0
  94. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/AssertTextOfSpecificTextViewByContentDescription.java +32 -0
  95. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/ClearTextByIndex.java +22 -0
  96. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/ClearTextFieldByContentDescription.java +33 -0
  97. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/ClickOnText.java +22 -0
  98. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/EnterTextByContentDescription.java +32 -0
  99. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/EnterTextByIndex.java +22 -0
  100. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/time/SetDateByContentDescription.java +33 -0
  101. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/time/SetDateByIndex.java +24 -0
  102. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/time/SetTimeByContentDescription.java +34 -0
  103. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/time/SetTimeByIndex.java +26 -0
  104. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/ClickOnViewById.java +63 -0
  105. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/LongPressOnViewById.java +34 -0
  106. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/Press.java +89 -0
  107. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/WaitForViewById.java +41 -0
  108. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/Wait.java +24 -0
  109. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForDialogClose.java +21 -0
  110. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForProgress.java +47 -0
  111. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForScreen.java +49 -0
  112. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForText.java +26 -0
  113. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/CalabashChromeClient.java +109 -0
  114. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/DumpBodyHtml.java +33 -0
  115. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/DumpHtml.java +33 -0
  116. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/EnterTextByCssSelector.java +99 -0
  117. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/PressByCssSelector.java +43 -0
  118. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/Query.java +24 -0
  119. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/QueryHelper.java +99 -0
  120. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/ScrollTo.java +74 -0
  121. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/SetPropertyByCssSelector.java +43 -0
  122. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/SetText.java +50 -0
  123. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/Touch.java +44 -0
  124. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Base64Variant.java +413 -0
  125. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Base64Variants.java +90 -0
  126. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/FormatSchema.java +29 -0
  127. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonEncoding.java +47 -0
  128. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonFactory.java +937 -0
  129. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonGenerationException.java +28 -0
  130. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonGenerator.java +1197 -0
  131. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonLocation.java +141 -0
  132. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonNode.java +879 -0
  133. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonParseException.java +23 -0
  134. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonParser.java +1434 -0
  135. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonProcessingException.java +80 -0
  136. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonStreamContext.java +122 -0
  137. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonToken.java +161 -0
  138. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/ObjectCodec.java +157 -0
  139. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/PrettyPrinter.java +166 -0
  140. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/SerializableString.java +54 -0
  141. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Version.java +90 -0
  142. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Versioned.java +20 -0
  143. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JacksonAnnotation.java +20 -0
  144. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonAnyGetter.java +25 -0
  145. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonAnySetter.java +24 -0
  146. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonAutoDetect.java +148 -0
  147. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonBackReference.java +41 -0
  148. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonCreator.java +19 -0
  149. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonGetter.java +35 -0
  150. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonIgnore.java +57 -0
  151. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonIgnoreProperties.java +48 -0
  152. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonIgnoreType.java +33 -0
  153. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonManagedReference.java +41 -0
  154. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonMethod.java +90 -0
  155. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonProperty.java +38 -0
  156. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonPropertyOrder.java +46 -0
  157. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonRawValue.java +33 -0
  158. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonSetter.java +33 -0
  159. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonSubTypes.java +44 -0
  160. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonTypeInfo.java +236 -0
  161. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonTypeName.java +28 -0
  162. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonUnwrapped.java +76 -0
  163. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonValue.java +46 -0
  164. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonWriteNullProperties.java +34 -0
  165. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/package-info.java +16 -0
  166. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/DataFormatDetector.java +176 -0
  167. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/DataFormatMatcher.java +117 -0
  168. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/InputAccessor.java +130 -0
  169. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/MatchStrength.java +64 -0
  170. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/package-info.java +8 -0
  171. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/ByteSourceBootstrapper.java +518 -0
  172. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/DefaultPrettyPrinter.java +13 -0
  173. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/Indenter.java +23 -0
  174. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonGeneratorBase.java +570 -0
  175. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonNumericParserBase.java +20 -0
  176. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonParserBase.java +1067 -0
  177. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonParserMinimalBase.java +539 -0
  178. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonReadContext.java +188 -0
  179. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonWriteContext.java +178 -0
  180. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/ReaderBasedParser.java +1815 -0
  181. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/ReaderBasedParserBase.java +228 -0
  182. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/StreamBasedParserBase.java +197 -0
  183. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/Utf8Generator.java +1757 -0
  184. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/Utf8StreamParser.java +2966 -0
  185. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/WriterBasedGenerator.java +1815 -0
  186. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/package-info.java +6 -0
  187. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/BaseReader.java +117 -0
  188. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/CharacterEscapes.java +73 -0
  189. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/IOContext.java +239 -0
  190. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/InputDecorator.java +67 -0
  191. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/JsonStringEncoder.java +408 -0
  192. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/MergedStream.java +145 -0
  193. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/NumberInput.java +303 -0
  194. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/NumberOutput.java +398 -0
  195. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/OutputDecorator.java +40 -0
  196. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/SegmentedStringWriter.java +104 -0
  197. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/SerializedString.java +114 -0
  198. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/UTF32Reader.java +214 -0
  199. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/UTF8Writer.java +387 -0
  200. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/package.html +4 -0
  201. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/AbstractTypeResolver.java +63 -0
  202. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/AnnotationIntrospector.java +1485 -0
  203. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/BeanDescription.java +171 -0
  204. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/BeanProperty.java +123 -0
  205. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/BeanPropertyDefinition.java +66 -0
  206. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ClassIntrospector.java +117 -0
  207. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ContextualDeserializer.java +38 -0
  208. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ContextualKeyDeserializer.java +33 -0
  209. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ContextualSerializer.java +38 -0
  210. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializationConfig.java +926 -0
  211. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializationContext.java +262 -0
  212. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializationProblemHandler.java +56 -0
  213. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializerFactory.java +356 -0
  214. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializerProvider.java +185 -0
  215. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/Deserializers.java +339 -0
  216. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/HandlerInstantiator.java +115 -0
  217. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/InjectableValues.java +85 -0
  218. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonDeserializer.java +166 -0
  219. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonMappingException.java +335 -0
  220. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonSerializable.java +34 -0
  221. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonSerializableWithType.java +22 -0
  222. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonSerializer.java +138 -0
  223. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/KeyDeserializer.java +31 -0
  224. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/KeyDeserializers.java +21 -0
  225. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/MapperConfig.java +1154 -0
  226. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/MappingIterator.java +190 -0
  227. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/MappingJsonFactory.java +81 -0
  228. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/Module.java +255 -0
  229. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ObjectMapper.java +2885 -0
  230. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ObjectReader.java +958 -0
  231. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ObjectWriter.java +554 -0
  232. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/PropertyNamingStrategy.java +258 -0
  233. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ResolvableDeserializer.java +23 -0
  234. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ResolvableSerializer.java +23 -0
  235. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/RuntimeJsonMappingException.java +21 -0
  236. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/SerializationConfig.java +1041 -0
  237. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/SerializerFactory.java +198 -0
  238. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/SerializerProvider.java +552 -0
  239. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/Serializers.java +137 -0
  240. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/TypeDeserializer.java +118 -0
  241. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/TypeSerializer.java +164 -0
  242. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JacksonInject.java +30 -0
  243. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JacksonStdImpl.java +25 -0
  244. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonCachable.java +32 -0
  245. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonDeserialize.java +109 -0
  246. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonFilter.java +31 -0
  247. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonRootName.java +29 -0
  248. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonSerialize.java +216 -0
  249. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonTypeIdResolver.java +35 -0
  250. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonTypeResolver.java +28 -0
  251. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonValueInstantiator.java +26 -0
  252. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonView.java +37 -0
  253. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/NoClass.java +19 -0
  254. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/package-info.java +5 -0
  255. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/AbstractDeserializer.java +102 -0
  256. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ArrayDeserializer.java +28 -0
  257. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ArrayDeserializers.java +11 -0
  258. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BasicDeserializerFactory.java +894 -0
  259. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializer.java +1537 -0
  260. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializerBuilder.java +277 -0
  261. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializerFactory.java +1474 -0
  262. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializerModifier.java +58 -0
  263. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/CollectionDeserializer.java +47 -0
  264. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ContainerDeserializer.java +14 -0
  265. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/CustomDeserializerFactory.java +227 -0
  266. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/DateDeserializer.java +9 -0
  267. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/EnumDeserializer.java +15 -0
  268. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/EnumResolver.java +17 -0
  269. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/FromStringDeserializer.java +13 -0
  270. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/JsonNodeDeserializer.java +54 -0
  271. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/MapDeserializer.java +44 -0
  272. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/SettableAnyProperty.java +177 -0
  273. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/SettableBeanProperty.java +827 -0
  274. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializationContext.java +326 -0
  275. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializer.java +94 -0
  276. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializerProvider.java +494 -0
  277. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializers.java +119 -0
  278. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdKeyDeserializer.java +12 -0
  279. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdKeyDeserializers.java +11 -0
  280. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdScalarDeserializer.java +13 -0
  281. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ThrowableDeserializer.java +13 -0
  282. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/UntypedObjectDeserializer.java +9 -0
  283. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ValueInstantiator.java +280 -0
  284. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ValueInstantiators.java +52 -0
  285. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/BeanPropertyMap.java +257 -0
  286. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/CreatorCollector.java +141 -0
  287. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/CreatorProperty.java +152 -0
  288. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/ExternalTypeHandler.java +173 -0
  289. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/PropertyBasedCreator.java +117 -0
  290. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/PropertyValue.java +117 -0
  291. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/PropertyValueBuffer.java +102 -0
  292. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/UnwrappedPropertyHandler.java +41 -0
  293. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/ValueInjector.java +45 -0
  294. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/package-info.java +9 -0
  295. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/package-info.java +5 -0
  296. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/AtomicBooleanDeserializer.java +22 -0
  297. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/AtomicReferenceDeserializer.java +47 -0
  298. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/CalendarDeserializer.java +47 -0
  299. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ClassDeserializer.java +49 -0
  300. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/CollectionDeserializer.java +265 -0
  301. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ContainerDeserializerBase.java +37 -0
  302. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/DateDeserializer.java +30 -0
  303. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/EnumDeserializer.java +139 -0
  304. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/EnumMapDeserializer.java +90 -0
  305. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/EnumSetDeserializer.java +89 -0
  306. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/FromStringDeserializer.java +265 -0
  307. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/JavaTypeDeserializer.java +38 -0
  308. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/JsonNodeDeserializer.java +314 -0
  309. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/MapDeserializer.java +412 -0
  310. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ObjectArrayDeserializer.java +201 -0
  311. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/PrimitiveArrayDeserializers.java +583 -0
  312. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdDeserializer.java +1136 -0
  313. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdKeyDeserializer.java +340 -0
  314. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdKeyDeserializers.java +108 -0
  315. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdScalarDeserializer.java +34 -0
  316. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdValueInstantiator.java +392 -0
  317. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StringCollectionDeserializer.java +227 -0
  318. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StringDeserializer.java +55 -0
  319. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ThrowableDeserializer.java +164 -0
  320. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/TimestampDeserializer.java +30 -0
  321. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/TokenBufferDeserializer.java +36 -0
  322. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/UntypedObjectDeserializer.java +248 -0
  323. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/package-info.java +15 -0
  324. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/exc/UnrecognizedPropertyException.java +75 -0
  325. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/CoreXMLDeserializers.java +114 -0
  326. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/CoreXMLSerializers.java +72 -0
  327. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/DOMDeserializer.java +65 -0
  328. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/OptionalHandlerFactory.java +217 -0
  329. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/package-info.java +23 -0
  330. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/Annotated.java +85 -0
  331. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedClass.java +980 -0
  332. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedConstructor.java +143 -0
  333. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedField.java +119 -0
  334. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedMember.java +56 -0
  335. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedMethod.java +188 -0
  336. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedMethodMap.java +85 -0
  337. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedParameter.java +191 -0
  338. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedWithParams.java +195 -0
  339. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotationMap.java +101 -0
  340. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/BasicBeanDescription.java +615 -0
  341. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/BasicClassIntrospector.java +364 -0
  342. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/JacksonAnnotationIntrospector.java +813 -0
  343. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/MemberKey.java +83 -0
  344. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/MethodFilter.java +12 -0
  345. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/NopAnnotationIntrospector.java +209 -0
  346. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/POJOPropertiesCollector.java +713 -0
  347. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/POJOPropertyBuilder.java +648 -0
  348. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/VisibilityChecker.java +424 -0
  349. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/package-info.java +12 -0
  350. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/NamedType.java +53 -0
  351. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/SubtypeResolver.java +39 -0
  352. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/TypeIdResolver.java +74 -0
  353. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/TypeResolverBuilder.java +151 -0
  354. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsArrayTypeDeserializer.java +126 -0
  355. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsArrayTypeSerializer.java +110 -0
  356. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsExternalTypeDeserializer.java +37 -0
  357. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsExternalTypeSerializer.java +129 -0
  358. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsPropertyTypeDeserializer.java +191 -0
  359. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsPropertyTypeSerializer.java +69 -0
  360. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsWrapperTypeDeserializer.java +103 -0
  361. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsWrapperTypeSerializer.java +121 -0
  362. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/ClassNameIdResolver.java +138 -0
  363. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/MinimalClassNameIdResolver.java +66 -0
  364. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/StdSubtypeResolver.java +151 -0
  365. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/StdTypeResolverBuilder.java +202 -0
  366. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeDeserializerBase.java +154 -0
  367. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeIdResolverBase.java +37 -0
  368. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeNameIdResolver.java +154 -0
  369. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeSerializerBase.java +31 -0
  370. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/package-info.java +9 -0
  371. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/package-info.java +10 -0
  372. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleAbstractTypeResolver.java +86 -0
  373. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleDeserializers.java +130 -0
  374. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleKeyDeserializers.java +59 -0
  375. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleModule.java +265 -0
  376. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleSerializers.java +206 -0
  377. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleValueInstantiators.java +45 -0
  378. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/package-info.java +16 -0
  379. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/package-info.java +34 -0
  380. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/AnyGetterWriter.java +48 -0
  381. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ArraySerializers.java +7 -0
  382. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BasicSerializerFactory.java +806 -0
  383. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanPropertyFilter.java +30 -0
  384. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanPropertyWriter.java +512 -0
  385. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializer.java +126 -0
  386. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializerBuilder.java +140 -0
  387. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializerFactory.java +780 -0
  388. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializerModifier.java +95 -0
  389. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ContainerSerializers.java +8 -0
  390. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/CustomSerializerFactory.java +293 -0
  391. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/EnumSerializer.java +17 -0
  392. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/FilterProvider.java +23 -0
  393. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/FilteredBeanPropertyWriter.java +96 -0
  394. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/JdkSerializers.java +11 -0
  395. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/MapSerializer.java +58 -0
  396. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/PropertyBuilder.java +372 -0
  397. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ScalarSerializerBase.java +18 -0
  398. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/SerializerBase.java +23 -0
  399. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/StdKeySerializer.java +10 -0
  400. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/StdSerializerProvider.java +852 -0
  401. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/StdSerializers.java +372 -0
  402. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ToStringSerializer.java +14 -0
  403. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/FailingSerializer.java +43 -0
  404. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/JsonSerializerMap.java +93 -0
  405. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/PropertySerializerMap.java +231 -0
  406. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/ReadOnlyClassToSerializerMap.java +73 -0
  407. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/SerializerCache.java +304 -0
  408. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/SimpleBeanPropertyFilter.java +109 -0
  409. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/SimpleFilterProvider.java +114 -0
  410. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/UnknownSerializer.java +54 -0
  411. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/UnwrappingBeanPropertyWriter.java +99 -0
  412. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/UnwrappingBeanSerializer.java +76 -0
  413. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/package-info.java +5 -0
  414. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/package-info.java +5 -0
  415. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/AsArraySerializerBase.java +185 -0
  416. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/BeanSerializerBase.java +340 -0
  417. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/CalendarSerializer.java +43 -0
  418. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/CollectionSerializer.java +113 -0
  419. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ContainerSerializerBase.java +51 -0
  420. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/DateSerializer.java +42 -0
  421. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/EnumMapSerializer.java +218 -0
  422. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/EnumSerializer.java +84 -0
  423. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/EnumSetSerializer.java +47 -0
  424. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/IndexedStringListSerializer.java +116 -0
  425. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/InetAddressSerializer.java +51 -0
  426. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/IterableSerializer.java +63 -0
  427. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/JsonValueSerializer.java +233 -0
  428. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/MapSerializer.java +422 -0
  429. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/NonTypedScalarSerializerBase.java +34 -0
  430. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/NullSerializer.java +38 -0
  431. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ObjectArraySerializer.java +281 -0
  432. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/RawSerializer.java +52 -0
  433. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ScalarSerializerBase.java +52 -0
  434. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/SerializableSerializer.java +99 -0
  435. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/SerializableWithTypeSerializer.java +90 -0
  436. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/SerializerBase.java +184 -0
  437. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StaticListSerializerBase.java +46 -0
  438. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdArraySerializers.java +476 -0
  439. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdContainerSerializers.java +249 -0
  440. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdJdkSerializers.java +195 -0
  441. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdKeySerializer.java +43 -0
  442. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdKeySerializers.java +95 -0
  443. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StringCollectionSerializer.java +119 -0
  444. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StringSerializer.java +36 -0
  445. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/TimeZoneSerializer.java +38 -0
  446. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ToStringSerializer.java +73 -0
  447. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/TokenBufferSerializer.java +66 -0
  448. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/ArrayType.java +260 -0
  449. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/ClassKey.java +94 -0
  450. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/CollectionLikeType.java +204 -0
  451. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/CollectionType.java +94 -0
  452. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/HierarchicType.java +88 -0
  453. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/MapLikeType.java +265 -0
  454. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/MapType.java +146 -0
  455. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/SimpleType.java +250 -0
  456. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeBase.java +148 -0
  457. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeBindings.java +351 -0
  458. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeFactory.java +1165 -0
  459. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeModifier.java +38 -0
  460. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeParser.java +134 -0
  461. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/package-info.java +10 -0
  462. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Annotations.java +23 -0
  463. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ArrayBuilders.java +293 -0
  464. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/BeanUtil.java +260 -0
  465. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ClassUtil.java +645 -0
  466. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Comparators.java +48 -0
  467. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/EnumResolver.java +108 -0
  468. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/EnumValues.java +82 -0
  469. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ISO8601DateFormat.java +52 -0
  470. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ISO8601Utils.java +230 -0
  471. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/JSONPObject.java +105 -0
  472. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/JSONWrappedObject.java +117 -0
  473. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/LRUMap.java +28 -0
  474. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/LinkedNode.java +45 -0
  475. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Named.java +10 -0
  476. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ObjectBuffer.java +257 -0
  477. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/PrimitiveArrayBuilder.java +180 -0
  478. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Provider.java +21 -0
  479. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/RootNameLookup.java +54 -0
  480. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/StdDateFormat.java +348 -0
  481. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/package-info.java +4 -0
  482. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ArrayNode.java +758 -0
  483. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BaseJsonNode.java +122 -0
  484. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BigIntegerNode.java +104 -0
  485. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BinaryNode.java +136 -0
  486. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BooleanNode.java +84 -0
  487. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ContainerNode.java +185 -0
  488. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/DecimalNode.java +96 -0
  489. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/DoubleNode.java +106 -0
  490. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/IntNode.java +122 -0
  491. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/JsonNodeFactory.java +222 -0
  492. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/LongNode.java +99 -0
  493. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/MissingNode.java +97 -0
  494. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/NodeCursor.java +222 -0
  495. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/NullNode.java +58 -0
  496. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/NumericNode.java +72 -0
  497. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ObjectNode.java +696 -0
  498. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/POJONode.java +145 -0
  499. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/TextNode.java +299 -0
  500. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/TreeTraversingParser.java +383 -0
  501. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ValueNode.java +58 -0
  502. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/package-info.java +8 -0
  503. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/package-info.java +30 -0
  504. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/JsonSchema.java +82 -0
  505. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/JsonSerializableSchema.java +46 -0
  506. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/SchemaAware.java +25 -0
  507. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/package-info.java +5 -0
  508. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/BytesToNameCanonicalizer.java +969 -0
  509. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/CharsToNameCanonicalizer.java +578 -0
  510. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name.java +50 -0
  511. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name1.java +44 -0
  512. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name2.java +40 -0
  513. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name3.java +39 -0
  514. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/NameN.java +68 -0
  515. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/package-info.java +5 -0
  516. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/type/JavaType.java +503 -0
  517. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/type/TypeReference.java +60 -0
  518. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/type/package-info.java +8 -0
  519. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/BufferRecycler.java +109 -0
  520. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/ByteArrayBuilder.java +294 -0
  521. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/CharTypes.java +237 -0
  522. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/DefaultPrettyPrinter.java +282 -0
  523. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/InternCache.java +49 -0
  524. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/JsonGeneratorDelegate.java +273 -0
  525. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/JsonParserDelegate.java +251 -0
  526. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/JsonParserSequence.java +150 -0
  527. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/MinimalPrettyPrinter.java +152 -0
  528. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/TextBuffer.java +707 -0
  529. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/TokenBuffer.java +1233 -0
  530. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/VersionUtil.java +79 -0
  531. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/package-info.java +4 -0
  532. metadata +619 -0
@@ -0,0 +1,38 @@
1
+ package sh.calaba.org.codehaus.jackson.map;
2
+
3
+ /**
4
+ * Add-on interface that {@link JsonDeserializer}s can implement to get a callback
5
+ * that can be used to create contextual instances of deserializer to use for
6
+ * handling properties of supported type. This can be useful
7
+ * for deserializers that can be configured by annotations, or should otherwise
8
+ * have differing behavior depending on what kind of property is being deserialized.
9
+ *
10
+ * @param <T> Type of deserializer to contextualize
11
+ *
12
+ * @since 1.7
13
+ */
14
+ public interface ContextualDeserializer<T>
15
+ {
16
+ /**
17
+ * Method called to see if a different (or differently configured) deserializer
18
+ * is needed to deserialize values of specified property.
19
+ * Note that instance that this method is called on is typically shared one and
20
+ * as a result method should <b>NOT</b> modify this instance but rather construct
21
+ * and return a new instance. This instance should only be returned as-is, in case
22
+ * it is already suitable for use.
23
+ *
24
+ * @param config Current deserialization configuration
25
+ * @param property Method, field or constructor parameter that represents the property
26
+ * (and is used to assign deserialized value).
27
+ * Should be available; but there may be cases where caller can not provide it and
28
+ * null is passed instead (in which case impls usually pass 'this' deserializer as is)
29
+ *
30
+ * @return Deserializer to use for deserializing values of specified property;
31
+ * may be this instance or a new instance.
32
+ *
33
+ * @throws JsonMappingException
34
+ */
35
+ public JsonDeserializer<T> createContextual(DeserializationConfig config,
36
+ BeanProperty property)
37
+ throws JsonMappingException;
38
+ }
@@ -0,0 +1,33 @@
1
+ package sh.calaba.org.codehaus.jackson.map;
2
+
3
+ /**
4
+ * Add-on interface that {@link KeyDeserializer}s can implement to get a callback
5
+ * that can be used to create contextual instances of key deserializer to use for
6
+ * handling Map keys of supported type. This can be useful
7
+ * for key deserializers that can be configured by annotations, or should otherwise
8
+ * have differing behavior depending on what kind of Map property keys are being deserialized.
9
+ *
10
+ * @since 1.8
11
+ */
12
+ public interface ContextualKeyDeserializer
13
+ {
14
+ /**
15
+ * Method called to see if a different (or differently configured) key deserializer
16
+ * is needed to deserialize keys of specified Map property.
17
+ * Note that instance that this method is called on is typically shared one and
18
+ * as a result method should <b>NOT</b> modify this instance but rather construct
19
+ * and return a new instance. This instance should only be returned as-is, in case
20
+ * it is already suitable for use.
21
+ *
22
+ * @param config Current deserialization configuration
23
+ * @param property Method, field or constructor parameter that declared Map for which
24
+ * contextual instance will be used. Will not be available when deserializing root-level
25
+ * Map value; otherwise should not be null.
26
+ *
27
+ * @return Key deserializer to use for deserializing keys specified Map property,
28
+ * may be this instance or a new instance.
29
+ */
30
+ public KeyDeserializer createContextual(DeserializationConfig config,
31
+ BeanProperty property)
32
+ throws JsonMappingException;
33
+ }
@@ -0,0 +1,38 @@
1
+ package sh.calaba.org.codehaus.jackson.map;
2
+
3
+ /**
4
+ * Add-on interface that {@link JsonSerializer}s can implement to get a callback
5
+ * that can be used to create contextual instances of serializer to use for
6
+ * handling properties of supported type. This can be useful
7
+ * for serializers that can be configured by annotations, or should otherwise
8
+ * have differing behavior depending on what kind of property is being serialized.
9
+ *
10
+ * @param <T> Type of serializer to contextualize
11
+ *
12
+ * @since 1.7
13
+ */
14
+ public interface ContextualSerializer<T>
15
+ {
16
+ /**
17
+ * Method called to see if a different (or differently configured) serializer
18
+ * is needed to serialize values of specified property.
19
+ * Note that instance that this method is called on is typically shared one and
20
+ * as a result method should <b>NOT</b> modify this instance but rather construct
21
+ * and return a new instance. This instance should only be returned as-is, in case
22
+ * it is already suitable for use.
23
+ *
24
+ * @param config Current serialization configuration
25
+ * @param property Method or field that represents the property
26
+ * (and is used to access value to serialize).
27
+ * Should be available; but there may be cases where caller can not provide it and
28
+ * null is passed instead (in which case impls usually pass 'this' serializer as is)
29
+ *
30
+ * @return Serializer to use for serializing values of specified property;
31
+ * may be this instance or a new instance.
32
+ *
33
+ * @throws JsonMappingException
34
+ */
35
+ public JsonSerializer<T> createContextual(SerializationConfig config,
36
+ BeanProperty property)
37
+ throws JsonMappingException;
38
+ }
@@ -0,0 +1,926 @@
1
+ package sh.calaba.org.codehaus.jackson.map;
2
+
3
+ import java.text.DateFormat;
4
+ import java.util.HashMap;
5
+
6
+ import sh.calaba.org.codehaus.jackson.Base64Variant;
7
+ import sh.calaba.org.codehaus.jackson.Base64Variants;
8
+ import sh.calaba.org.codehaus.jackson.annotate.JsonAutoDetect;
9
+ import sh.calaba.org.codehaus.jackson.annotate.JsonMethod;
10
+ import sh.calaba.org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
11
+ import sh.calaba.org.codehaus.jackson.map.deser.ValueInstantiator;
12
+ import sh.calaba.org.codehaus.jackson.map.introspect.Annotated;
13
+ import sh.calaba.org.codehaus.jackson.map.introspect.AnnotatedClass;
14
+ import sh.calaba.org.codehaus.jackson.map.introspect.NopAnnotationIntrospector;
15
+ import sh.calaba.org.codehaus.jackson.map.introspect.VisibilityChecker;
16
+ import sh.calaba.org.codehaus.jackson.map.jsontype.SubtypeResolver;
17
+ import sh.calaba.org.codehaus.jackson.map.jsontype.TypeResolverBuilder;
18
+ import sh.calaba.org.codehaus.jackson.map.type.ClassKey;
19
+ import sh.calaba.org.codehaus.jackson.map.type.TypeFactory;
20
+ import sh.calaba.org.codehaus.jackson.map.util.ClassUtil;
21
+ import sh.calaba.org.codehaus.jackson.map.util.LinkedNode;
22
+ import sh.calaba.org.codehaus.jackson.node.JsonNodeFactory;
23
+ import sh.calaba.org.codehaus.jackson.type.JavaType;
24
+
25
+ /**
26
+ * Object that contains baseline configuration for deserialization
27
+ * process. An instance is owned by {@link ObjectMapper}, which makes
28
+ * a copy that is passed during serialization process to
29
+ * {@link DeserializerProvider} and {@link DeserializerFactory}.
30
+ *<p>
31
+ * Note: although configuration settings can be changed at any time
32
+ * (for factories and instances), they are not guaranteed to have
33
+ * effect if called after constructing relevant mapper or deserializer
34
+ * instance. This because some objects may be configured, constructed and
35
+ * cached first time they are needed.
36
+ *<p>
37
+ * As of version 1.9, the goal is to make this class eventually immutable.
38
+ * Because of this, existing methods that allow changing state of this
39
+ * instance are deprecated in favor of methods that create new instances
40
+ * with different configuration ("fluent factories")
41
+ */
42
+ public class DeserializationConfig
43
+ extends MapperConfig.Impl<DeserializationConfig.Feature, DeserializationConfig>
44
+ {
45
+ /**
46
+ * Enumeration that defines togglable features that guide
47
+ * the serialization feature.
48
+ */
49
+ public enum Feature implements MapperConfig.ConfigFeature
50
+ {
51
+ /*
52
+ /******************************************************
53
+ * Introspection features
54
+ /******************************************************
55
+ */
56
+
57
+ /**
58
+ * Feature that determines whether annotation introspection
59
+ * is used for configuration; if enabled, configured
60
+ * {@link AnnotationIntrospector} will be used: if disabled,
61
+ * no annotations are considered.
62
+ *<P>
63
+ * Feature is enabled by default.
64
+ *
65
+ * @since 1.2
66
+ */
67
+ USE_ANNOTATIONS(true),
68
+
69
+ /**
70
+ * Feature that determines whether "setter" methods are
71
+ * automatically detected based on standard Bean naming convention
72
+ * or not. If yes, then all public one-argument methods that
73
+ * start with prefix "set"
74
+ * are considered setters. If disabled, only methods explicitly
75
+ * annotated are considered setters.
76
+ *<p>
77
+ * Note that this feature has lower precedence than per-class
78
+ * annotations, and is only used if there isn't more granular
79
+ * configuration available.
80
+ *<P>
81
+ * Feature is enabled by default.
82
+ */
83
+ AUTO_DETECT_SETTERS(true),
84
+
85
+ /**
86
+ * Feature that determines whether "creator" methods are
87
+ * automatically detected by consider public constructors,
88
+ * and static single argument methods with name "valueOf".
89
+ * If disabled, only methods explicitly annotated are considered
90
+ * creator methods (except for the no-arg default constructor which
91
+ * is always considered a factory method).
92
+ *<p>
93
+ * Note that this feature has lower precedence than per-class
94
+ * annotations, and is only used if there isn't more granular
95
+ * configuration available.
96
+ *<P>
97
+ * Feature is enabled by default.
98
+ */
99
+ AUTO_DETECT_CREATORS(true),
100
+
101
+ /**
102
+ * Feature that determines whether non-static fields are recognized as
103
+ * properties.
104
+ * If yes, then all public member fields
105
+ * are considered as properties. If disabled, only fields explicitly
106
+ * annotated are considered property fields.
107
+ *<p>
108
+ * Note that this feature has lower precedence than per-class
109
+ * annotations, and is only used if there isn't more granular
110
+ * configuration available.
111
+ *<P>
112
+ * Feature is enabled by default.
113
+ *
114
+ * @since 1.1
115
+ */
116
+ AUTO_DETECT_FIELDS(true),
117
+
118
+ /**
119
+ * Feature that determines whether otherwise regular "getter"
120
+ * methods (but only ones that handle Collections and Maps,
121
+ * not getters of other type)
122
+ * can be used for purpose of getting a reference to a Collection
123
+ * and Map to modify the property, without requiring a setter
124
+ * method.
125
+ * This is similar to how JAXB framework sets Collections and
126
+ * Maps: no setter is involved, just setter.
127
+ *<p>
128
+ * Note that such getters-as-setters methods have lower
129
+ * precedence than setters, so they are only used if no
130
+ * setter is found for the Map/Collection property.
131
+ *<p>
132
+ * Feature is enabled by default.
133
+ */
134
+ USE_GETTERS_AS_SETTERS(true),
135
+
136
+ /**
137
+ * Feature that determines whether method and field access
138
+ * modifier settings can be overridden when accessing
139
+ * properties. If enabled, method
140
+ * {@link java.lang.reflect.AccessibleObject#setAccessible}
141
+ * may be called to enable access to otherwise unaccessible
142
+ * objects.
143
+ */
144
+ CAN_OVERRIDE_ACCESS_MODIFIERS(true),
145
+
146
+ /*
147
+ /******************************************************
148
+ /* Type conversion features
149
+ /******************************************************
150
+ */
151
+
152
+ /**
153
+ * Feature that determines whether Json floating point numbers
154
+ * are to be deserialized into {@link java.math.BigDecimal}s
155
+ * if only generic type description (either {@link Object} or
156
+ * {@link Number}, or within untyped {@link java.util.Map}
157
+ * or {@link java.util.Collection} context) is available.
158
+ * If enabled such values will be deserialized as {@link java.math.BigDecimal}s;
159
+ * if disabled, will be deserialized as {@link Double}s.
160
+ * <p>
161
+ * Feature is disabled by default, meaning that "untyped" floating
162
+ * point numbers will by default be deserialized as {@link Double}s
163
+ * (choice is for performance reason -- BigDecimals are slower than
164
+ * Doubles)
165
+ */
166
+ USE_BIG_DECIMAL_FOR_FLOATS(false),
167
+
168
+ /**
169
+ * Feature that determines whether Json integral (non-floating-point)
170
+ * numbers are to be deserialized into {@link java.math.BigInteger}s
171
+ * if only generic type description (either {@link Object} or
172
+ * {@link Number}, or within untyped {@link java.util.Map}
173
+ * or {@link java.util.Collection} context) is available.
174
+ * If enabled such values will be deserialized as
175
+ * {@link java.math.BigInteger}s;
176
+ * if disabled, will be deserialized as "smallest" available type,
177
+ * which is either {@link Integer}, {@link Long} or
178
+ * {@link java.math.BigInteger}, depending on number of digits.
179
+ * <p>
180
+ * Feature is disabled by default, meaning that "untyped" floating
181
+ * point numbers will by default be deserialized using whatever
182
+ * is the most compact integral type, to optimize efficiency.
183
+ */
184
+ USE_BIG_INTEGER_FOR_INTS(false),
185
+
186
+ // [JACKSON-652]
187
+ /**
188
+ * Feature that determines whether JSON Array is mapped to
189
+ * <code>Object[]</code> or <code>List&lt;Object></code> when binding
190
+ * "untyped" objects (ones with nominal type of <code>java.lang.Object</code>).
191
+ * If true, binds as <code>Object[]</code>; if false, as <code>List&lt;Object></code>.
192
+ *<p>
193
+ * Feature is disabled by default, meaning that JSON arrays are bound as
194
+ * {@link java.util.List}s.
195
+ *
196
+ * @since 1.9
197
+ */
198
+ USE_JAVA_ARRAY_FOR_JSON_ARRAY(false),
199
+
200
+ /**
201
+ * Feature that determines standard deserialization mechanism used for
202
+ * Enum values: if enabled, Enums are assumed to have been serialized using
203
+ * return value of <code>Enum.toString()</code>;
204
+ * if disabled, return value of <code>Enum.name()</code> is assumed to have been used.
205
+ * Since pre-1.6 method was to use Enum name, this is the default.
206
+ *<p>
207
+ * Note: this feature should usually have same value
208
+ * as {@link SerializationConfig.Feature#WRITE_ENUMS_USING_TO_STRING}.
209
+ *<p>
210
+ * For further details, check out [JACKSON-212]
211
+ *
212
+ * @since 1.6
213
+ */
214
+ READ_ENUMS_USING_TO_STRING(false),
215
+
216
+ /*
217
+ /******************************************************
218
+ * Error handling features
219
+ /******************************************************
220
+ */
221
+
222
+ /**
223
+ * Feature that determines whether encountering of unknown
224
+ * properties (ones that do not map to a property, and there is
225
+ * no "any setter" or handler that can handle it)
226
+ * should result in a failure (by throwing a
227
+ * {@link JsonMappingException}) or not.
228
+ * This setting only takes effect after all other handling
229
+ * methods for unknown properties have been tried, and
230
+ * property remains unhandled.
231
+ *<p>
232
+ * Feature is enabled by default, meaning that
233
+ * {@link JsonMappingException} is thrown if an unknown property
234
+ * is encountered. This is the implicit default prior to
235
+ * introduction of the feature.
236
+ *
237
+ * @since 1.2
238
+ */
239
+ FAIL_ON_UNKNOWN_PROPERTIES(true),
240
+
241
+ /**
242
+ * Feature that determines whether encountering of JSON null
243
+ * is an error when deserializing into Java primitive types
244
+ * (like 'int' or 'double'). If it is, a JsonProcessingException
245
+ * is thrown to indicate this; if not, default value is used
246
+ * (0 for 'int', 0.0 for double, same defaulting as what JVM uses).
247
+ *<p>
248
+ * Feature is disabled by default (to be consistent with behavior
249
+ * of Jackson 1.6),
250
+ * i.e. to allow use of nulls for primitive properties.
251
+ *
252
+ * @since 1.7
253
+ */
254
+ FAIL_ON_NULL_FOR_PRIMITIVES(false),
255
+
256
+ /**
257
+ * Feature that determines whether JSON integer numbers are valid
258
+ * values to be used for deserializing Java enum values.
259
+ * If set to 'false' numbers are acceptable and are used to map to
260
+ * ordinal() of matching enumeration value; if 'true', numbers are
261
+ * not allowed and a {@link JsonMappingException} will be thrown.
262
+ * Latter behavior makes sense if there is concern that accidental
263
+ * mapping from integer values to enums might happen (and when enums
264
+ * are always serialized as JSON Strings)
265
+ *<p>
266
+ * Feature is disabled by default (to be consistent with behavior
267
+ * of Jackson 1.6),
268
+ * i.e. to allow use of JSON integers for Java enums.
269
+ *
270
+ * @since 1.7
271
+ */
272
+ FAIL_ON_NUMBERS_FOR_ENUMS(false),
273
+
274
+ /**
275
+ * Feature that determines whether Jackson code should catch
276
+ * and wrap {@link Exception}s (but never {@link Error}s!)
277
+ * to add additional information about
278
+ * location (within input) of problem or not. If enabled,
279
+ * most exceptions will be caught and re-thrown (exception
280
+ * specifically being that {@link java.io.IOException}s may be passed
281
+ * as is, since they are declared as throwable); this can be
282
+ * convenient both in that all exceptions will be checked and
283
+ * declared, and so there is more contextual information.
284
+ * However, sometimes calling application may just want "raw"
285
+ * unchecked exceptions passed as is.
286
+ *<p>
287
+ * Feature is enabled by default, and is similar in behavior
288
+ * to default prior to 1.7.
289
+ *
290
+ * @since 1.7
291
+ */
292
+ WRAP_EXCEPTIONS(true),
293
+
294
+ /*
295
+ /******************************************************
296
+ * Structural conversion features
297
+ /******************************************************
298
+ */
299
+
300
+ /**
301
+ * Feature that determines whether it is acceptable to coerce non-array
302
+ * (in JSON) values to work with Java collection (arrays, java.util.Collection)
303
+ * types. If enabled, collection deserializers will try to handle non-array
304
+ * values as if they had "implicit" surrounding JSON array.
305
+ * This feature is meant to be used for compatibility/interoperability reasons,
306
+ * to work with packages (such as XML-to-JSON converters) that leave out JSON
307
+ * array in cases where there is just a single element in array.
308
+ *
309
+ * @since 1.8
310
+ */
311
+ ACCEPT_SINGLE_VALUE_AS_ARRAY(false),
312
+
313
+ /**
314
+ * Feature to allow "unwrapping" root-level JSON value, to match setting of
315
+ * {@link SerializationConfig.Feature#WRAP_ROOT_VALUE} used for serialization.
316
+ * Will verify that the root JSON value is a JSON Object, and that it has
317
+ * a single property with expected root name. If not, a
318
+ * {@link JsonMappingException} is thrown; otherwise value of the wrapped property
319
+ * will be deserialized as if it was the root value.
320
+ *
321
+ * @since 1.9
322
+ */
323
+ UNWRAP_ROOT_VALUE(false),
324
+
325
+ /*
326
+ /******************************************************
327
+ * Value conversion features
328
+ /******************************************************
329
+ */
330
+
331
+ /**
332
+ * Feature that can be enabled to allow JSON empty String
333
+ * value ("") to be bound to POJOs as null.
334
+ * If disabled, standard POJOs can only be bound from JSON null or
335
+ * JSON Object (standard meaning that no custom deserializers or
336
+ * constructors are defined; both of which can add support for other
337
+ * kinds of JSON values); if enable, empty JSON String can be taken
338
+ * to be equivalent of JSON null.
339
+ *
340
+ * @since 1.8
341
+ */
342
+ ACCEPT_EMPTY_STRING_AS_NULL_OBJECT(false)
343
+
344
+ ;
345
+
346
+ final boolean _defaultState;
347
+
348
+ private Feature(boolean defaultState) {
349
+ _defaultState = defaultState;
350
+ }
351
+
352
+ @Override
353
+ public boolean enabledByDefault() { return _defaultState; }
354
+
355
+ @Override
356
+ public int getMask() { return (1 << ordinal()); }
357
+ }
358
+
359
+ /*
360
+ /**********************************************************
361
+ /* Configuration settings for deserialization
362
+ /**********************************************************
363
+ */
364
+
365
+ /**
366
+ * Linked list that contains all registered problem handlers.
367
+ * Implementation as front-added linked list allows for sharing
368
+ * of the list (tail) without copying the list.
369
+ */
370
+ protected LinkedNode<DeserializationProblemHandler> _problemHandlers;
371
+
372
+ /**
373
+ * Factory used for constructing {@link sh.calaba.org.codehaus.jackson.JsonNode} instances.
374
+ *
375
+ * @since 1.6
376
+ */
377
+ protected final JsonNodeFactory _nodeFactory;
378
+
379
+ /**
380
+ * Feature flag from {@link SerializationConfig} which is needed to
381
+ * know if serializer will by default sort properties in
382
+ * alphabetic order.
383
+ *<p>
384
+ * Note that although this property is not marked as final,
385
+ * it is handled like it was, except for the fact that it is
386
+ * assigned with a call to {@link #passSerializationFeatures}
387
+ * instead of constructor.
388
+ *
389
+ * @since 1.9
390
+ */
391
+ protected boolean _sortPropertiesAlphabetically;
392
+
393
+ /*
394
+ /**********************************************************
395
+ /* Life-cycle, constructors
396
+ /**********************************************************
397
+ */
398
+
399
+ /**
400
+ * Constructor used by ObjectMapper to create default configuration object instance.
401
+ */
402
+ public DeserializationConfig(ClassIntrospector<? extends BeanDescription> intr,
403
+ AnnotationIntrospector annIntr, VisibilityChecker<?> vc,
404
+ SubtypeResolver subtypeResolver, PropertyNamingStrategy propertyNamingStrategy,
405
+ TypeFactory typeFactory, HandlerInstantiator handlerInstantiator)
406
+ {
407
+ super(intr, annIntr, vc, subtypeResolver, propertyNamingStrategy, typeFactory, handlerInstantiator,
408
+ collectFeatureDefaults(DeserializationConfig.Feature.class));
409
+ _nodeFactory = JsonNodeFactory.instance;
410
+ }
411
+
412
+ /**
413
+ * @since 1.8
414
+ */
415
+ protected DeserializationConfig(DeserializationConfig src) {
416
+ this(src, src._base);
417
+ }
418
+
419
+ /**
420
+ * Copy constructor used to create a non-shared instance with given mix-in
421
+ * annotation definitions and subtype resolver.
422
+ *
423
+ * @since 1.8
424
+ */
425
+ private DeserializationConfig(DeserializationConfig src,
426
+ HashMap<ClassKey,Class<?>> mixins, SubtypeResolver str)
427
+ {
428
+ this(src, src._base);
429
+ _mixInAnnotations = mixins;
430
+ _subtypeResolver = str;
431
+ }
432
+
433
+ /**
434
+ * @since 1.8
435
+ */
436
+ protected DeserializationConfig(DeserializationConfig src, MapperConfig.Base base)
437
+ {
438
+ super(src, base, src._subtypeResolver);
439
+ _problemHandlers = src._problemHandlers;
440
+ _nodeFactory = src._nodeFactory;
441
+ _sortPropertiesAlphabetically = src._sortPropertiesAlphabetically;
442
+ }
443
+
444
+ /**
445
+ * @since 1.8
446
+ */
447
+ protected DeserializationConfig(DeserializationConfig src, JsonNodeFactory f)
448
+ {
449
+ super(src);
450
+ _problemHandlers = src._problemHandlers;
451
+ _nodeFactory = f;
452
+ _sortPropertiesAlphabetically = src._sortPropertiesAlphabetically;
453
+ }
454
+
455
+ /**
456
+ * @since 1.9
457
+ */
458
+ protected DeserializationConfig(DeserializationConfig src, int featureFlags)
459
+ {
460
+ super(src, featureFlags);
461
+ _problemHandlers = src._problemHandlers;
462
+ _nodeFactory = src._nodeFactory;
463
+ _sortPropertiesAlphabetically = src._sortPropertiesAlphabetically;
464
+ }
465
+
466
+ /**
467
+ * Helper method to be called right after creating a non-shared
468
+ * instance, needed to pass state of feature(s) shared with
469
+ * SerializationConfig.
470
+ *
471
+ * Since 1.9
472
+ */
473
+ protected DeserializationConfig passSerializationFeatures(int serializationFeatureFlags)
474
+ {
475
+ _sortPropertiesAlphabetically = (serializationFeatureFlags
476
+ & SerializationConfig.Feature.SORT_PROPERTIES_ALPHABETICALLY.getMask()) != 0;
477
+ return this;
478
+ }
479
+
480
+ /*
481
+ /**********************************************************
482
+ /* Life-cycle, factory methods from MapperConfig
483
+ /**********************************************************
484
+ */
485
+
486
+ @Override
487
+ public DeserializationConfig withClassIntrospector(ClassIntrospector<? extends BeanDescription> ci) {
488
+ return new DeserializationConfig(this, _base.withClassIntrospector(ci));
489
+ }
490
+
491
+ @Override
492
+ public DeserializationConfig withAnnotationIntrospector(AnnotationIntrospector ai) {
493
+ return new DeserializationConfig(this, _base.withAnnotationIntrospector(ai));
494
+ }
495
+
496
+ @Override
497
+ public DeserializationConfig withVisibilityChecker(VisibilityChecker<?> vc) {
498
+ return new DeserializationConfig(this, _base.withVisibilityChecker(vc));
499
+ }
500
+
501
+ @Override
502
+ public DeserializationConfig withVisibility(JsonMethod forMethod, JsonAutoDetect.Visibility visibility) {
503
+ return new DeserializationConfig(this, _base.withVisibility(forMethod, visibility));
504
+ }
505
+
506
+ @Override
507
+ public DeserializationConfig withTypeResolverBuilder(TypeResolverBuilder<?> trb) {
508
+ return new DeserializationConfig(this, _base.withTypeResolverBuilder(trb));
509
+ }
510
+
511
+ @Override
512
+ public DeserializationConfig withSubtypeResolver(SubtypeResolver str)
513
+ {
514
+ DeserializationConfig cfg = new DeserializationConfig(this);
515
+ cfg._subtypeResolver = str;
516
+ return cfg;
517
+ }
518
+
519
+ @Override
520
+ public DeserializationConfig withPropertyNamingStrategy(PropertyNamingStrategy pns) {
521
+ return new DeserializationConfig(this, _base.withPropertyNamingStrategy(pns));
522
+ }
523
+
524
+ @Override
525
+ public DeserializationConfig withTypeFactory(TypeFactory tf) {
526
+ return (tf == _base.getTypeFactory()) ? this : new DeserializationConfig(this, _base.withTypeFactory(tf));
527
+ }
528
+
529
+ @Override
530
+ public DeserializationConfig withDateFormat(DateFormat df) {
531
+ return (df == _base.getDateFormat()) ? this : new DeserializationConfig(this, _base.withDateFormat(df));
532
+ }
533
+
534
+ @Override
535
+ public DeserializationConfig withHandlerInstantiator(HandlerInstantiator hi) {
536
+ return (hi == _base.getHandlerInstantiator()) ? this : new DeserializationConfig(this, _base.withHandlerInstantiator(hi));
537
+ }
538
+
539
+ @Override
540
+ public DeserializationConfig withInsertedAnnotationIntrospector(AnnotationIntrospector ai) {
541
+ return new DeserializationConfig(this, _base.withInsertedAnnotationIntrospector(ai));
542
+ }
543
+
544
+ @Override
545
+ public DeserializationConfig withAppendedAnnotationIntrospector(AnnotationIntrospector ai) {
546
+ return new DeserializationConfig(this, _base.withAppendedAnnotationIntrospector(ai));
547
+ }
548
+
549
+ /*
550
+ /**********************************************************
551
+ /* Life-cycle, deserialization-specific factory methods
552
+ /**********************************************************
553
+ */
554
+
555
+ /**
556
+ * Fluent factory method that will construct a new instance with
557
+ * specified {@link JsonNodeFactory}
558
+ *
559
+ * @since 1.8
560
+ */
561
+ public DeserializationConfig withNodeFactory(JsonNodeFactory f) {
562
+ return new DeserializationConfig(this, f);
563
+ }
564
+
565
+ /**
566
+ * Fluent factory method that will construct and return a new configuration
567
+ * object instance with specified features enabled.
568
+ *
569
+ * @since 1.9
570
+ */
571
+ @Override
572
+ public DeserializationConfig with(DeserializationConfig.Feature... features)
573
+ {
574
+ int flags = _featureFlags;
575
+ for (Feature f : features) {
576
+ flags |= f.getMask();
577
+ }
578
+ return new DeserializationConfig(this, flags);
579
+ }
580
+
581
+ /**
582
+ * Fluent factory method that will construct and return a new configuration
583
+ * object instance with specified features disabled.
584
+ *
585
+ * @since 1.9
586
+ */
587
+ @Override
588
+ public DeserializationConfig without(DeserializationConfig.Feature... features)
589
+ {
590
+ int flags = _featureFlags;
591
+ for (Feature f : features) {
592
+ flags &= ~f.getMask();
593
+ }
594
+ return new DeserializationConfig(this, flags);
595
+ }
596
+
597
+ /*
598
+ /**********************************************************
599
+ /* MapperConfig implementation
600
+ /**********************************************************
601
+ */
602
+
603
+ /**
604
+ * Method that checks class annotations that the argument Object has,
605
+ * and modifies settings of this configuration object accordingly,
606
+ * similar to how those annotations would affect actual value classes
607
+ * annotated with them, but with global scope. Note that not all
608
+ * annotations have global significance, and thus only subset of
609
+ * Jackson annotations will have any effect.
610
+ *<p>
611
+ * Ones that are known to have effect are:
612
+ *<ul>
613
+ * <li>{@link JsonAutoDetect}</li>
614
+ *</ul>
615
+ *
616
+ * @param cls Class of which class annotations to use
617
+ * for changing configuration settings
618
+ *
619
+ * @deprecated Since 1.9, it is preferably to explicitly configure
620
+ * instances; this method also modifies existing instance which is
621
+ * against immutable design goals of this class.
622
+ */
623
+ @Deprecated
624
+ @Override
625
+ public void fromAnnotations(Class<?> cls)
626
+ {
627
+ /* no class annotation for:
628
+ *
629
+ * - CAN_OVERRIDE_ACCESS_MODIFIERS
630
+ * - USE_BIG_DECIMAL_FOR_FLOATS
631
+ * - USE_BIG_INTEGER_FOR_INTS
632
+ * - USE_GETTERS_AS_SETTERS
633
+ */
634
+
635
+ /* 10-Jul-2009, tatu: Should be able to just pass null as
636
+ * 'MixInResolver'; no mix-ins set at this point
637
+ */
638
+ AnnotationIntrospector ai = getAnnotationIntrospector();
639
+ AnnotatedClass ac = AnnotatedClass.construct(cls, ai, null);
640
+ // visibility checks handled via separate checker object...
641
+ VisibilityChecker<?> prevVc = getDefaultVisibilityChecker();
642
+ _base = _base.withVisibilityChecker(ai.findAutoDetectVisibility(ac, prevVc));
643
+ }
644
+
645
+ /**
646
+ * Method that is called to create a non-shared copy of the configuration
647
+ * to be used for a deserialization operation.
648
+ * Note that if sub-classing
649
+ * and sub-class has additional instance methods,
650
+ * this method <b>must</b> be overridden to produce proper sub-class
651
+ * instance.
652
+ */
653
+ @Override
654
+ public DeserializationConfig createUnshared(SubtypeResolver subtypeResolver)
655
+ {
656
+ HashMap<ClassKey,Class<?>> mixins = _mixInAnnotations;
657
+ // ensure that we assume sharing at this point:
658
+ _mixInAnnotationsShared = true;
659
+ return new DeserializationConfig(this, mixins, subtypeResolver);
660
+ }
661
+
662
+ /**
663
+ * Method for getting {@link AnnotationIntrospector} configured
664
+ * to introspect annotation values used for configuration.
665
+ */
666
+ @Override
667
+ public AnnotationIntrospector getAnnotationIntrospector()
668
+ {
669
+ /* 29-Jul-2009, tatu: it's now possible to disable use of
670
+ * annotations; can be done using "no-op" introspector
671
+ */
672
+ if (isEnabled(Feature.USE_ANNOTATIONS)) {
673
+ return super.getAnnotationIntrospector();
674
+ }
675
+ return NopAnnotationIntrospector.instance;
676
+ }
677
+
678
+ /**
679
+ * Accessor for getting bean description that only contains class
680
+ * annotations: useful if no getter/setter/creator information is needed.
681
+ *<p>
682
+ * Note: part of {@link MapperConfig} since 1.7
683
+ */
684
+ @SuppressWarnings("unchecked")
685
+ @Override
686
+ public <T extends BeanDescription> T introspectClassAnnotations(JavaType type) {
687
+ return (T) getClassIntrospector().forClassAnnotations(this, type, this);
688
+ }
689
+
690
+ /**
691
+ * Accessor for getting bean description that only contains immediate class
692
+ * annotations: ones from the class, and its direct mix-in, if any, but
693
+ * not from super types.
694
+ *<p>
695
+ * Note: part of {@link MapperConfig} since 1.7
696
+ */
697
+ @Override
698
+ @SuppressWarnings("unchecked")
699
+ public <T extends BeanDescription> T introspectDirectClassAnnotations(JavaType type) {
700
+ return (T) getClassIntrospector().forDirectClassAnnotations(this, type, this);
701
+ }
702
+
703
+ @Override
704
+ public boolean isAnnotationProcessingEnabled() {
705
+ return isEnabled(Feature.USE_ANNOTATIONS);
706
+ }
707
+
708
+ @Override
709
+ public boolean canOverrideAccessModifiers() {
710
+ return isEnabled(Feature.CAN_OVERRIDE_ACCESS_MODIFIERS);
711
+ }
712
+
713
+ @Override
714
+ public boolean shouldSortPropertiesAlphabetically() {
715
+ return _sortPropertiesAlphabetically;
716
+ }
717
+
718
+ @Override
719
+ public VisibilityChecker<?> getDefaultVisibilityChecker()
720
+ {
721
+ VisibilityChecker<?> vchecker = super.getDefaultVisibilityChecker();
722
+ if (!isEnabled(DeserializationConfig.Feature.AUTO_DETECT_SETTERS)) {
723
+ vchecker = vchecker.withSetterVisibility(Visibility.NONE);
724
+ }
725
+ if (!isEnabled(DeserializationConfig.Feature.AUTO_DETECT_CREATORS)) {
726
+ vchecker = vchecker.withCreatorVisibility(Visibility.NONE);
727
+ }
728
+ if (!isEnabled(DeserializationConfig.Feature.AUTO_DETECT_FIELDS)) {
729
+ vchecker = vchecker.withFieldVisibility(Visibility.NONE);
730
+ }
731
+ return vchecker;
732
+ }
733
+
734
+ /*
735
+ /**********************************************************
736
+ /* MapperConfig overrides for 1.8 backwards compatibility
737
+ /**********************************************************
738
+ */
739
+
740
+ /* NOTE: these are overloads we MUST have, but that were missing
741
+ * from 1.9.0 and 1.9.1. Type erasure can bite in the ass...
742
+ *<p>
743
+ * NOTE: will remove either these variants, or base class one, in 2.0.
744
+ */
745
+
746
+ /**
747
+ * An overload for {@link MapperConfig#isEnabled(MapperConfig.ConfigFeature)},
748
+ * needed for backwards-compatibility.
749
+ *<p>
750
+ * NOTE: will remove either this variant, or base class one, in 2.0./
751
+ *
752
+ * @since 1.0 However, note that version 1.9.0 and 1.9.1 accidentally missed
753
+ * this overloaded variant
754
+ */
755
+ public boolean isEnabled(DeserializationConfig.Feature f) {
756
+ return (_featureFlags & f.getMask()) != 0;
757
+ }
758
+
759
+ /**
760
+ * @deprecated Since 1.9, it is preferable to use {@link #with} instead;
761
+ * this method is deprecated as it modifies current instance instead of
762
+ * creating a new one (as the goal is to make this class immutable)
763
+ */
764
+ @Deprecated
765
+ @Override
766
+ public void enable(DeserializationConfig.Feature f) {
767
+ super.enable(f);
768
+ }
769
+
770
+ /**
771
+ * @deprecated Since 1.9, it is preferable to use {@link #without} instead;
772
+ * this method is deprecated as it modifies current instance instead of
773
+ * creating a new one (as the goal is to make this class immutable)
774
+ */
775
+ @Deprecated
776
+ @Override
777
+ public void disable(DeserializationConfig.Feature f) {
778
+ super.disable(f);
779
+ }
780
+
781
+ /**
782
+ * @deprecated Since 1.9, it is preferable to use {@link #without} and {@link #with} instead;
783
+ * this method is deprecated as it modifies current instance instead of
784
+ * creating a new one (as the goal is to make this class immutable)
785
+ */
786
+ @Deprecated
787
+ @Override
788
+ public void set(DeserializationConfig.Feature f, boolean state) {
789
+ super.set(f, state);
790
+ }
791
+
792
+ /*
793
+ /**********************************************************
794
+ /* Problem handlers
795
+ /**********************************************************
796
+ */
797
+
798
+ /**
799
+ * Method for getting head of the problem handler chain. May be null,
800
+ * if no handlers have been added.
801
+ */
802
+ public LinkedNode<DeserializationProblemHandler> getProblemHandlers()
803
+ {
804
+ return _problemHandlers;
805
+ }
806
+
807
+ /**
808
+ * Method that can be used to add a handler that can (try to)
809
+ * resolve non-fatal deserialization problems.
810
+ */
811
+ public void addHandler(DeserializationProblemHandler h)
812
+ {
813
+ /* Sanity check: let's prevent adding same handler multiple
814
+ * times
815
+ */
816
+ if (!LinkedNode.contains(_problemHandlers, h)) {
817
+ _problemHandlers = new LinkedNode<DeserializationProblemHandler>(h, _problemHandlers);
818
+ }
819
+ }
820
+
821
+ /**
822
+ * Method for removing all configured problem handlers; usually done to replace
823
+ * existing handler(s) with different one(s)
824
+ *
825
+ * @since 1.1
826
+ */
827
+ public void clearHandlers()
828
+ {
829
+ _problemHandlers = null;
830
+ }
831
+
832
+ /*
833
+ /**********************************************************
834
+ /* Other configuration
835
+ /**********************************************************
836
+ */
837
+
838
+ /**
839
+ * Method called during deserialization if Base64 encoded content
840
+ * needs to be decoded. Default version just returns default Jackson
841
+ * uses, which is modified-mime which does not add linefeeds (because
842
+ * those would have to be escaped in JSON strings).
843
+ */
844
+ public Base64Variant getBase64Variant() {
845
+ return Base64Variants.getDefaultVariant();
846
+ }
847
+
848
+ /**
849
+ * @since 1.6
850
+ */
851
+ public final JsonNodeFactory getNodeFactory() {
852
+ return _nodeFactory;
853
+ }
854
+
855
+ /*
856
+ /**********************************************************
857
+ /* Introspection methods
858
+ /**********************************************************
859
+ */
860
+
861
+ /**
862
+ * Method that will introspect full bean properties for the purpose
863
+ * of building a bean deserializer
864
+ *
865
+ * @param type Type of class to be introspected
866
+ */
867
+ @SuppressWarnings("unchecked")
868
+ public <T extends BeanDescription> T introspect(JavaType type) {
869
+ return (T) getClassIntrospector().forDeserialization(this, type, this);
870
+ }
871
+
872
+ /**
873
+ * Method that will introspect subset of bean properties needed to
874
+ * construct bean instance.
875
+ */
876
+ @SuppressWarnings("unchecked")
877
+ public <T extends BeanDescription> T introspectForCreation(JavaType type) {
878
+ return (T) getClassIntrospector().forCreation(this, type, this);
879
+ }
880
+
881
+ /*
882
+ /**********************************************************
883
+ /* Extended API: handler instantiation
884
+ /**********************************************************
885
+ */
886
+
887
+ @SuppressWarnings("unchecked")
888
+ public JsonDeserializer<Object> deserializerInstance(Annotated annotated,
889
+ Class<? extends JsonDeserializer<?>> deserClass)
890
+ {
891
+ HandlerInstantiator hi = getHandlerInstantiator();
892
+ if (hi != null) {
893
+ JsonDeserializer<?> deser = hi.deserializerInstance(this, annotated, deserClass);
894
+ if (deser != null) {
895
+ return (JsonDeserializer<Object>) deser;
896
+ }
897
+ }
898
+ return (JsonDeserializer<Object>) ClassUtil.createInstance(deserClass, canOverrideAccessModifiers());
899
+ }
900
+
901
+ public KeyDeserializer keyDeserializerInstance(Annotated annotated,
902
+ Class<? extends KeyDeserializer> keyDeserClass)
903
+ {
904
+ HandlerInstantiator hi = getHandlerInstantiator();
905
+ if (hi != null) {
906
+ KeyDeserializer keyDeser = hi.keyDeserializerInstance(this, annotated, keyDeserClass);
907
+ if (keyDeser != null) {
908
+ return (KeyDeserializer) keyDeser;
909
+ }
910
+ }
911
+ return (KeyDeserializer) ClassUtil.createInstance(keyDeserClass, canOverrideAccessModifiers());
912
+ }
913
+
914
+ public ValueInstantiator valueInstantiatorInstance(Annotated annotated,
915
+ Class<? extends ValueInstantiator> instClass)
916
+ {
917
+ HandlerInstantiator hi = getHandlerInstantiator();
918
+ if (hi != null) {
919
+ ValueInstantiator inst = hi.valueInstantiatorInstance(this, annotated, instClass);
920
+ if (inst != null) {
921
+ return (ValueInstantiator) inst;
922
+ }
923
+ }
924
+ return (ValueInstantiator) ClassUtil.createInstance(instClass, canOverrideAccessModifiers());
925
+ }
926
+ }