calabash-android 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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,258 @@
1
+ package sh.calaba.org.codehaus.jackson.map;
2
+
3
+ import sh.calaba.org.codehaus.jackson.map.introspect.AnnotatedField;
4
+ import sh.calaba.org.codehaus.jackson.map.introspect.AnnotatedMethod;
5
+ import sh.calaba.org.codehaus.jackson.map.introspect.AnnotatedParameter;
6
+
7
+ /**
8
+ * Class that defines how names of JSON properties ("external names")
9
+ * are derived from names of POJO methods and fields ("internal names"),
10
+ * in cases where they are not
11
+ * auto-detected and no explicit annotations exist for naming.
12
+ * Methods are passed information about POJO member for which name is needed,
13
+ * as well as default name that would be used if no custom strategy was used.
14
+ *<p>
15
+ * Default implementation returns suggested ("default") name unmodified.
16
+ *<p>
17
+ * Note that the strategy is guaranteed to be called once per logical property
18
+ * (which may be represented by multiple members; such as pair of a getter and
19
+ * a setter), but may be called for each: implementations should not count on
20
+ * exact number of times, and should work for any member that represent a
21
+ * property.
22
+ *<p>
23
+ * In absence of a registered custom strategy, default Java property naming strategy
24
+ * is used, which leaves field names as is, and removes set/get/is prefix
25
+ * from methods (as well as lower-cases initial sequence of capitalized
26
+ * characters).
27
+ *
28
+ * @since 1.8
29
+ */
30
+ public abstract class PropertyNamingStrategy
31
+ {
32
+ /*
33
+ /**********************************************************
34
+ /* API
35
+ /**********************************************************
36
+ */
37
+
38
+ /**
39
+ * Method called to find external name (name used in JSON) for given logical
40
+ * POJO property,
41
+ * as defined by given field.
42
+ *
43
+ * @param config Configuration in used: either <code>SerializationConfig</code>
44
+ * or <code>DeserializationConfig</code>, depending on whether method is called
45
+ * during serialization or deserialization
46
+ * @param field Field used to access property
47
+ * @param defaultName Default name that would be used for property in absence of custom strategy
48
+ *
49
+ * @return Logical name to use for property that the field represents
50
+ */
51
+ public String nameForField(MapperConfig<?> config, AnnotatedField field,
52
+ String defaultName)
53
+ {
54
+ return defaultName;
55
+ }
56
+
57
+ /**
58
+ * Method called to find external name (name used in JSON) for given logical
59
+ * POJO property,
60
+ * as defined by given getter method; typically called when building a serializer.
61
+ * (but not always -- when using "getter-as-setter", may be called during
62
+ * deserialization)
63
+ *
64
+ * @param config Configuration in used: either <code>SerializationConfig</code>
65
+ * or <code>DeserializationConfig</code>, depending on whether method is called
66
+ * during serialization or deserialization
67
+ * @param method Method used to access property.
68
+ * @param defaultName Default name that would be used for property in absence of custom strategy
69
+ *
70
+ * @return Logical name to use for property that the method represents
71
+ */
72
+ public String nameForGetterMethod(MapperConfig<?> config, AnnotatedMethod method,
73
+ String defaultName)
74
+ {
75
+ return defaultName;
76
+ }
77
+
78
+ /**
79
+ * Method called to find external name (name used in JSON) for given logical
80
+ * POJO property,
81
+ * as defined by given setter method; typically called when building a deserializer
82
+ * (but not necessarily only then).
83
+ *
84
+ * @param config Configuration in used: either <code>SerializationConfig</code>
85
+ * or <code>DeserializationConfig</code>, depending on whether method is called
86
+ * during serialization or deserialization
87
+ * @param method Method used to access property.
88
+ * @param defaultName Default name that would be used for property in absence of custom strategy
89
+ *
90
+ * @return Logical name to use for property that the method represents
91
+ */
92
+ public String nameForSetterMethod(MapperConfig<?> config, AnnotatedMethod method,
93
+ String defaultName)
94
+ {
95
+ return defaultName;
96
+ }
97
+
98
+ /**
99
+ * Method called to find external name (name used in JSON) for given logical
100
+ * POJO property,
101
+ * as defined by given constructor parameter; typically called when building a deserializer
102
+ * (but not necessarily only then).
103
+ *
104
+ * @param config Configuration in used: either <code>SerializationConfig</code>
105
+ * or <code>DeserializationConfig</code>, depending on whether method is called
106
+ * during serialization or deserialization
107
+ * @param ctorParam Constructor parameter used to pass property.
108
+ * @param defaultName Default name that would be used for property in absence of custom strategy
109
+ * @since 1.9
110
+ */
111
+ public String nameForConstructorParameter(MapperConfig<?> config, AnnotatedParameter ctorParam,
112
+ String defaultName)
113
+ {
114
+ return defaultName;
115
+ }
116
+
117
+ /*
118
+ /**********************************************************
119
+ /* Standard implementations
120
+ /**********************************************************
121
+ */
122
+
123
+ /**
124
+ * @since 1.9
125
+ */
126
+ public static abstract class PropertyNamingStrategyBase extends PropertyNamingStrategy
127
+ {
128
+ @Override
129
+ public String nameForField(MapperConfig<?> config, AnnotatedField field, String defaultName)
130
+ {
131
+ return translate(defaultName);
132
+ }
133
+
134
+ @Override
135
+ public String nameForGetterMethod(MapperConfig<?> config, AnnotatedMethod method, String defaultName)
136
+ {
137
+ return translate(defaultName);
138
+ }
139
+
140
+ @Override
141
+ public String nameForSetterMethod(MapperConfig<?> config, AnnotatedMethod method, String defaultName)
142
+ {
143
+ return translate(defaultName);
144
+ }
145
+
146
+ @Override
147
+ public String nameForConstructorParameter(MapperConfig<?> config, AnnotatedParameter ctorParam,
148
+ String defaultName)
149
+ {
150
+ return translate(defaultName);
151
+ }
152
+
153
+ public abstract String translate(String propertyName);
154
+ }
155
+
156
+
157
+ /*
158
+ /**********************************************************
159
+ /* Standard implementations
160
+ /**********************************************************
161
+ */
162
+
163
+ /**
164
+ * See {@link LowerCaseWithUnderscoresStrategy} for details.
165
+ *
166
+ * @since 1.9
167
+ */
168
+ public static final PropertyNamingStrategy CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES =
169
+ new LowerCaseWithUnderscoresStrategy();
170
+
171
+ /**
172
+ * A {@link PropertyNamingStrategy} that translates typical camel case Java
173
+ * property names to lower case JSON element names, separated by
174
+ * underscores. This implementation is somewhat lenient, in that it
175
+ * provides some additional translations beyond strictly translating from
176
+ * camel case only. In particular, the following translations are applied
177
+ * by this PropertyNamingStrategy.
178
+ *
179
+ * <ul><li>Every upper case letter in the Java property name is translated
180
+ * into two characters, an underscore and the lower case equivalent of the
181
+ * target character, with three exceptions.
182
+ * <ol><li>For contiguous sequences of upper case letters, characters after
183
+ * the first character are replaced only by their lower case equivalent,
184
+ * and are not preceded by an underscore.
185
+ * <ul><li>This provides for reasonable translations of upper case acronyms,
186
+ * e.g., &quot;theWWW&quot; is translated to &quot;the_www&quot;.</li></ul></li>
187
+ * <li>An upper case character in the first position of the Java property
188
+ * name is not preceded by an underscore character, and is translated only
189
+ * to its lower case equivalent.
190
+ * <ul><li>For example, &quot;Results&quot; is translated to &quot;results&quot;,
191
+ * and not to &quot;_results&quot;.</li></ul></li>
192
+ * <li>An upper case character in the Java property name that is already
193
+ * preceded by an underscore character is translated only to its lower case
194
+ * equivalent, and is not preceded by an additional underscore.
195
+ * <ul><li>For example, &quot;user_Name&quot; is translated to
196
+ * &quot;user_name&quot;, and not to &quot;user__name&quot; (with two
197
+ * underscore characters).</li></ul></li></ol></li>
198
+ * <li>If the Java property name starts with an underscore, then that
199
+ * underscore is not included in the translated name, unless the Java
200
+ * property name is just one character in length, i.e., it is the
201
+ * underscore character. This applies only to the first character of the
202
+ * Java property name.</li></ul>
203
+ *
204
+ * These rules result in the following additional example translations from
205
+ * Java property names to JSON element names.
206
+ * <ul><li>&quot;userName&quot; is translated to &quot;user_name&quot;</li>
207
+ * <li>&quot;UserName&quot; is translated to &quot;user_name&quot;</li>
208
+ * <li>&quot;USER_NAME&quot; is translated to &quot;user_name&quot;</li>
209
+ * <li>&quot;user_name&quot; is translated to &quot;user_name&quot; (unchanged)</li>
210
+ * <li>&quot;user&quot; is translated to &quot;user&quot; (unchanged)</li>
211
+ * <li>&quot;User&quot; is translated to &quot;user&quot;</li>
212
+ * <li>&quot;USER&quot; is translated to &quot;user&quot;</li>
213
+ * <li>&quot;_user&quot; is translated to &quot;user&quot;</li>
214
+ * <li>&quot;_User&quot; is translated to &quot;user&quot;</li>
215
+ * <li>&quot;__user&quot; is translated to &quot;_user&quot;
216
+ * (the first of two underscores was removed)</li>
217
+ * <li>&quot;user__name&quot; is translated to &quot;user__name&quot;
218
+ * (unchanged, with two underscores)</li></ul>
219
+ *
220
+ * @since 1.9
221
+ */
222
+ public static class LowerCaseWithUnderscoresStrategy extends PropertyNamingStrategyBase
223
+ {
224
+ @Override
225
+ public String translate(String input)
226
+ {
227
+ if (input == null) return input; // garbage in, garbage out
228
+ int length = input.length();
229
+ StringBuilder result = new StringBuilder(length * 2);
230
+ int resultLength = 0;
231
+ boolean wasPrevTranslated = false;
232
+ for (int i = 0; i < length; i++)
233
+ {
234
+ char c = input.charAt(i);
235
+ if (i > 0 || c != '_') // skip first starting underscore
236
+ {
237
+ if (Character.isUpperCase(c))
238
+ {
239
+ if (!wasPrevTranslated && resultLength > 0 && result.charAt(resultLength - 1) != '_')
240
+ {
241
+ result.append('_');
242
+ resultLength++;
243
+ }
244
+ c = Character.toLowerCase(c);
245
+ wasPrevTranslated = true;
246
+ }
247
+ else
248
+ {
249
+ wasPrevTranslated = false;
250
+ }
251
+ result.append(c);
252
+ resultLength++;
253
+ }
254
+ }
255
+ return resultLength > 0 ? result.toString() : input;
256
+ }
257
+ }
258
+ }
@@ -0,0 +1,23 @@
1
+ package sh.calaba.org.codehaus.jackson.map;
2
+
3
+ /**
4
+ * Interface used to indicate deserializers that want to do post-processing
5
+ * after construction and being added to {@link DeserializerProvider},
6
+ * but before being used. This is typically used to resolve references
7
+ * to other contained types; for example, bean deserializers use this
8
+ * to eagerly find deserializers for contained field types.
9
+ */
10
+ public interface ResolvableDeserializer
11
+ {
12
+ /**
13
+ * Method called after {@link DeserializerProvider} has registered
14
+ * the deserializer, but before it has returned it to the caller.
15
+ * Called object can then resolve its dependencies to other types,
16
+ * including self-references (direct or indirect).
17
+ *
18
+ * @param provider Provider that has constructed deserializer this method
19
+ * is called on.
20
+ */
21
+ public abstract void resolve(DeserializationConfig config, DeserializerProvider provider)
22
+ throws JsonMappingException;
23
+ }
@@ -0,0 +1,23 @@
1
+ package sh.calaba.org.codehaus.jackson.map;
2
+
3
+ /**
4
+ * Interface used to indicate serializers that want to do post-processing
5
+ * after construction and being added to {@link SerializerProvider},
6
+ * but before being used. This is typically used to resolve references
7
+ * to other contained types; for example, bean serializers use this
8
+ * to eagerly find serializers for contained field types.
9
+ */
10
+ public interface ResolvableSerializer
11
+ {
12
+ /**
13
+ * Method called after {@link SerializerProvider} has registered
14
+ * the serializer, but before it has returned it to the caller.
15
+ * Called object can then resolve its dependencies to other types,
16
+ * including self-references (direct or indirect).
17
+ *
18
+ * @param provider Provider that has constructed serializer this method
19
+ * is called on.
20
+ */
21
+ public abstract void resolve(SerializerProvider provider)
22
+ throws JsonMappingException;
23
+ }
@@ -0,0 +1,21 @@
1
+ package sh.calaba.org.codehaus.jackson.map;
2
+
3
+ /**
4
+ * Wrapper used when interface does not allow throwing a checked
5
+ * {@link JsonMappingException}
6
+ */
7
+ @SuppressWarnings("serial")
8
+ public class RuntimeJsonMappingException extends RuntimeException
9
+ {
10
+ public RuntimeJsonMappingException(JsonMappingException cause) {
11
+ super(cause);
12
+ }
13
+
14
+ public RuntimeJsonMappingException(String message) {
15
+ super(message);
16
+ }
17
+
18
+ public RuntimeJsonMappingException(String message, JsonMappingException cause) {
19
+ super(message, cause);
20
+ }
21
+ }
@@ -0,0 +1,1041 @@
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.annotate.JsonAutoDetect;
7
+ import sh.calaba.org.codehaus.jackson.annotate.JsonMethod;
8
+ import sh.calaba.org.codehaus.jackson.annotate.JsonWriteNullProperties;
9
+ import sh.calaba.org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
10
+ import sh.calaba.org.codehaus.jackson.map.annotate.JsonSerialize;
11
+ import sh.calaba.org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;
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.VisibilityChecker;
15
+ import sh.calaba.org.codehaus.jackson.map.jsontype.SubtypeResolver;
16
+ import sh.calaba.org.codehaus.jackson.map.jsontype.TypeResolverBuilder;
17
+ import sh.calaba.org.codehaus.jackson.map.ser.FilterProvider;
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.type.JavaType;
22
+
23
+ /**
24
+ * Object that contains baseline configuration for serialization
25
+ * process. An instance is owned by {@link ObjectMapper}, which makes
26
+ * a copy that is passed during serialization process to
27
+ * {@link SerializerProvider} and {@link SerializerFactory}.
28
+ *<p>
29
+ * Note: although configuration settings can be changed at any time
30
+ * (for factories and instances), they are not guaranteed to have
31
+ * effect if called after constructing relevant mapper or serializer
32
+ * instance. This because some objects may be configured, constructed and
33
+ * cached first time they are needed.
34
+ *<p>
35
+ * As of version 1.9, the goal is to make this class eventually immutable.
36
+ * Because of this, existing methods that allow changing state of this
37
+ * instance are deprecated in favor of methods that create new instances
38
+ * with different configuration ("fluent factories")
39
+ */
40
+ public class SerializationConfig
41
+ extends MapperConfig.Impl<SerializationConfig.Feature, SerializationConfig>
42
+ {
43
+ /**
44
+ * Enumeration that defines togglable features that guide
45
+ * the serialization feature.
46
+ */
47
+ public enum Feature implements MapperConfig.ConfigFeature
48
+ {
49
+ /*
50
+ /******************************************************
51
+ /* Introspection features
52
+ /******************************************************
53
+ */
54
+
55
+ /**
56
+ * Feature that determines whether annotation introspection
57
+ * is used for configuration; if enabled, configured
58
+ * {@link AnnotationIntrospector} will be used: if disabled,
59
+ * no annotations are considered.
60
+ *<P>
61
+ * Feature is enabled by default.
62
+ *
63
+ * @since 1.2
64
+ */
65
+ USE_ANNOTATIONS(true),
66
+
67
+ /**
68
+ * Feature that determines whether regualr "getter" methods are
69
+ * automatically detected based on standard Bean naming convention
70
+ * or not. If yes, then all public zero-argument methods that
71
+ * start with prefix "get"
72
+ * are considered as getters.
73
+ * If disabled, only methods explicitly annotated are considered getters.
74
+ *<p>
75
+ * Note that since version 1.3, this does <b>NOT</b> include
76
+ * "is getters" (see {@link #AUTO_DETECT_IS_GETTERS} for details)
77
+ *<p>
78
+ * Note that this feature has lower precedence than per-class
79
+ * annotations, and is only used if there isn't more granular
80
+ * configuration available.
81
+ *<P>
82
+ * Feature is enabled by default.
83
+ */
84
+ AUTO_DETECT_GETTERS(true),
85
+
86
+ /**
87
+ * Feature that determines whether "is getter" methods are
88
+ * automatically detected based on standard Bean naming convention
89
+ * or not. If yes, then all public zero-argument methods that
90
+ * start with prefix "is", and whose return type is boolean
91
+ * are considered as "is getters".
92
+ * If disabled, only methods explicitly annotated are considered getters.
93
+ *<p>
94
+ * Note that this feature has lower precedence than per-class
95
+ * annotations, and is only used if there isn't more granular
96
+ * configuration available.
97
+ *<P>
98
+ * Feature is enabled by default.
99
+ */
100
+ AUTO_DETECT_IS_GETTERS(true),
101
+
102
+ /**
103
+ * Feature that determines whether non-static fields are recognized as
104
+ * properties.
105
+ * If yes, then all public member fields
106
+ * are considered as properties. If disabled, only fields explicitly
107
+ * annotated are considered property fields.
108
+ *<p>
109
+ * Note that this feature has lower precedence than per-class
110
+ * annotations, and is only used if there isn't more granular
111
+ * configuration available.
112
+ *<p>
113
+ * Feature is enabled by default.
114
+ *
115
+ * @since 1.1
116
+ */
117
+ AUTO_DETECT_FIELDS(true),
118
+
119
+ /**
120
+ * Feature that determines whether method and field access
121
+ * modifier settings can be overridden when accessing
122
+ * properties. If enabled, method
123
+ * {@link java.lang.reflect.AccessibleObject#setAccessible}
124
+ * may be called to enable access to otherwise unaccessible
125
+ * objects.
126
+ *<p>
127
+ * Feature is enabled by default.
128
+ */
129
+ CAN_OVERRIDE_ACCESS_MODIFIERS(true),
130
+
131
+ /**
132
+ * Feature that determines whether getters (getter methods)
133
+ * can be auto-detected if there is no matching mutator (setter,
134
+ * constructor parameter or field) or not: if set to true,
135
+ * only getters that match a mutator are auto-discovered; if
136
+ * false, all auto-detectable getters can be discovered.
137
+ *<p>
138
+ * Feature is disabled by default for backwards compatibility
139
+ * reasons.
140
+ *
141
+ * @since 1.9
142
+ */
143
+ REQUIRE_SETTERS_FOR_GETTERS(false),
144
+
145
+ /*
146
+ /******************************************************
147
+ /* Generic output features
148
+ /******************************************************
149
+ */
150
+
151
+ /**
152
+ * Feature that determines the default settings of whether Bean
153
+ * properties with null values are to be written out.
154
+ *<p>
155
+ * Feature is enabled by default (null properties written).
156
+ *<p>
157
+ * Note too that there is annotation
158
+ * {@link sh.calaba.org.codehaus.jackson.annotate.JsonWriteNullProperties}
159
+ * that can be used for more granular control (annotates bean
160
+ * classes or individual property access methods).
161
+ *
162
+ * @deprecated As of 1.1, use {@link SerializationConfig#setSerializationInclusion}
163
+ * instead
164
+ */
165
+ @Deprecated
166
+ WRITE_NULL_PROPERTIES(true),
167
+
168
+ /**
169
+ * Feature that determines whether the type detection for
170
+ * serialization should be using actual dynamic runtime type,
171
+ * or declared static type.
172
+ * Default value is false, to use dynamic runtime type.
173
+ *<p>
174
+ * This global default value can be overridden at class, method
175
+ * or field level by using {@link JsonSerialize#typing} annotation
176
+ * property
177
+ */
178
+ USE_STATIC_TYPING(false),
179
+
180
+ /**
181
+ * Feature that determines whether properties that have no view
182
+ * annotations are included in JSON serialization views (see
183
+ * {@link sh.calaba.org.codehaus.jackson.map.annotate.JsonView} for more
184
+ * details on JSON Views).
185
+ * If enabled, non-annotated properties will be included;
186
+ * when disabled, they will be excluded. So this feature
187
+ * changes between "opt-in" (feature disabled) and
188
+ * "opt-out" (feature enabled) modes.
189
+ *<p>
190
+ * Default value is enabled, meaning that non-annotated
191
+ * properties are included in all views if there is no
192
+ * {@link sh.calaba.org.codehaus.jackson.map.annotate.JsonView} annotation.
193
+ *
194
+ * @since 1.5
195
+ */
196
+ DEFAULT_VIEW_INCLUSION(true),
197
+
198
+ /**
199
+ * Feature that can be enabled to make root value (usually JSON
200
+ * Object but can be any type) wrapped within a single property
201
+ * JSON object, where key as the "root name", as determined by
202
+ * annotation introspector (esp. for JAXB that uses
203
+ * <code>@XmlRootElement.name</code>) or fallback (non-qualified
204
+ * class name).
205
+ * Feature is mostly intended for JAXB compatibility.
206
+ *<p>
207
+ * Default setting is false, meaning root value is not wrapped.
208
+ *
209
+ * @since 1.7
210
+ */
211
+ WRAP_ROOT_VALUE(false),
212
+
213
+ /**
214
+ * Feature that allows enabling (or disabling) indentation
215
+ * for the underlying generator, using the default pretty
216
+ * printer (see
217
+ * {@link sh.calaba.org.codehaus.jackson.JsonGenerator#useDefaultPrettyPrinter}
218
+ * for details).
219
+ *<p>
220
+ * Note that this only affects cases where
221
+ * {@link sh.calaba.org.codehaus.jackson.JsonGenerator}
222
+ * is constructed implicitly by ObjectMapper: if explicit
223
+ * generator is passed, its configuration is not changed.
224
+ *<p>
225
+ * Also note that if you want to configure details of indentation,
226
+ * you need to directly configure the generator: there is a
227
+ * method to use any <code>PrettyPrinter</code> instance.
228
+ * This feature will only allow using the default implementation.
229
+ */
230
+ INDENT_OUTPUT(false),
231
+
232
+ /**
233
+ * Feature that defines default property serialization order used
234
+ * for POJO fields (note: does <b>not</b> apply to {@link java.util.Map}
235
+ * serialization!):
236
+ * if enabled, default ordering is alphabetic (similar to
237
+ * how {@link sh.calaba.org.codehaus.jackson.annotate.JsonPropertyOrder#alphabetic()}
238
+ * works); if disabled, order is unspecified (based on what JDK gives
239
+ * us, which may be declaration order, but not guaranteed).
240
+ *<p>
241
+ * Note that this is just the default behavior, and can be overridden by
242
+ * explicit overrides in classes.
243
+ *
244
+ * @since 1.8
245
+ */
246
+ SORT_PROPERTIES_ALPHABETICALLY(false),
247
+
248
+ /*
249
+ /******************************************************
250
+ /* Error handling features
251
+ /******************************************************
252
+ */
253
+
254
+ /**
255
+ * Feature that determines what happens when no accessors are
256
+ * found for a type (and there are no annotations to indicate
257
+ * it is meant to be serialized). If enabled (default), an
258
+ * exception is thrown to indicate these as non-serializable
259
+ * types; if disabled, they are serialized as empty Objects,
260
+ * i.e. without any properties.
261
+ *<p>
262
+ * Note that empty types that this feature has only effect on
263
+ * those "empty" beans that do not have any recognized annotations
264
+ * (like <code>@JsonSerialize</code>): ones that do have annotations
265
+ * do not result in an exception being thrown.
266
+ *
267
+ * @since 1.4
268
+ */
269
+ FAIL_ON_EMPTY_BEANS(true),
270
+
271
+ /**
272
+ * Feature that determines whether Jackson code should catch
273
+ * and wrap {@link Exception}s (but never {@link Error}s!)
274
+ * to add additional information about
275
+ * location (within input) of problem or not. If enabled,
276
+ * most exceptions will be caught and re-thrown (exception
277
+ * specifically being that {@link java.io.IOException}s may be passed
278
+ * as is, since they are declared as throwable); this can be
279
+ * convenient both in that all exceptions will be checked and
280
+ * declared, and so there is more contextual information.
281
+ * However, sometimes calling application may just want "raw"
282
+ * unchecked exceptions passed as is.
283
+ *<p>
284
+ * Feature is enabled by default, and is similar in behavior
285
+ * to default prior to 1.7.
286
+ *
287
+ * @since 1.7
288
+ */
289
+ WRAP_EXCEPTIONS(true),
290
+
291
+ /*
292
+ /******************************************************
293
+ /* Output life cycle features
294
+ /******************************************************
295
+ */
296
+
297
+ /**
298
+ * Feature that determines whether <code>close</code> method of
299
+ * serialized <b>root level</b> objects (ones for which <code>ObjectMapper</code>'s
300
+ * writeValue() (or equivalent) method is called)
301
+ * that implement {@link java.io.Closeable}
302
+ * is called after serialization or not. If enabled, <b>close()</b> will
303
+ * be called after serialization completes (whether succesfully, or
304
+ * due to an error manifested by an exception being thrown). You can
305
+ * think of this as sort of "finally" processing.
306
+ *<p>
307
+ * NOTE: only affects behavior with <b>root</b> objects, and not other
308
+ * objects reachable from the root object. Put another way, only one
309
+ * call will be made for each 'writeValue' call.
310
+ *
311
+ * @since 1.6 (see [JACKSON-282 for details])
312
+ */
313
+ CLOSE_CLOSEABLE(false),
314
+
315
+ /**
316
+ * Feature that determines whether <code>JsonGenerator.flush()</code> is
317
+ * called after <code>writeValue()</code> method <b>that takes JsonGenerator
318
+ * as an argument</b> completes (i.e. does NOT affect methods
319
+ * that use other destinations); same for methods in {@link ObjectWriter}.
320
+ * This usually makes sense; but there are cases where flushing
321
+ * should not be forced: for example when underlying stream is
322
+ * compressing and flush() causes compression state to be flushed
323
+ * (which occurs with some compression codecs).
324
+ *
325
+ * @since 1.6 (see [JACKSON-401 for details])
326
+ */
327
+ FLUSH_AFTER_WRITE_VALUE(true),
328
+
329
+ /*
330
+ /******************************************************
331
+ /* Data type - specific serialization configuration
332
+ /******************************************************
333
+ */
334
+
335
+ /**
336
+ * Feature that determines whether {@link java.util.Date} values
337
+ * (and Date-based things like {@link java.util.Calendar}s) are to be
338
+ * serialized as numeric timestamps (true; the default),
339
+ * or as something else (usually textual representation).
340
+ * If textual representation is used, the actual format is
341
+ * one returned by a call to {@link #getDateFormat}.
342
+ *<p>
343
+ * Note: whether this feature affects handling of other date-related
344
+ * types depend on handlers of those types, although ideally they
345
+ * should use this feature
346
+ *<p>
347
+ * Note: whether {@link java.util.Map} keys are serialized as Strings
348
+ * or not is controlled using {@link #WRITE_DATE_KEYS_AS_TIMESTAMPS}.
349
+ */
350
+ WRITE_DATES_AS_TIMESTAMPS(true),
351
+
352
+ /**
353
+ * Feature that determines whether {@link java.util.Date}s
354
+ * (and sub-types) used as {@link java.util.Map} keys are serialized
355
+ * as timestamps or not (if not, will be serialized as textual
356
+ * values).
357
+ *<p>
358
+ * Default value is 'false', meaning that Date-valued Map keys are serialized
359
+ * as textual (ISO-8601) values.
360
+ *
361
+ * @since 1.9
362
+ */
363
+ WRITE_DATE_KEYS_AS_TIMESTAMPS(false),
364
+
365
+ /**
366
+ * Feature that determines how type <code>char[]</code> is serialized:
367
+ * when enabled, will be serialized as an explict JSON array (with
368
+ * single-character Strings as values); when disabled, defaults to
369
+ * serializing them as Strings (which is more compact).
370
+ *
371
+ * @since 1.6 (see [JACKSON-289 for details])
372
+ */
373
+ WRITE_CHAR_ARRAYS_AS_JSON_ARRAYS(false),
374
+
375
+ /**
376
+ * Feature that determines standard serialization mechanism used for
377
+ * Enum values: if enabled, return value of <code>Enum.toString()</code>
378
+ * is used; if disabled, return value of <code>Enum.name()</code> is used.
379
+ * Since pre-1.6 method was to use Enum name, this is the default.
380
+ *<p>
381
+ * Note: this feature should usually have same value
382
+ * as {@link DeserializationConfig.Feature#READ_ENUMS_USING_TO_STRING}.
383
+ *<p>
384
+ * For further details, check out [JACKSON-212]
385
+ *
386
+ * @since 1.6
387
+ */
388
+ WRITE_ENUMS_USING_TO_STRING(false),
389
+
390
+ /**
391
+ * Feature that determines whethere Java Enum values are serialized
392
+ * as numbers (true), or textual values (false). If textual values are
393
+ * used, other settings are also considered.
394
+ * If this feature is enabled,
395
+ * return value of <code>Enum.ordinal()</code>
396
+ * (an integer) will be used as the serialization.
397
+ *<p>
398
+ * Note that this feature has precedence over {@link #WRITE_ENUMS_USING_TO_STRING},
399
+ * which is only considered if this feature is set to false.
400
+ *
401
+ * @since 1.9
402
+ */
403
+ WRITE_ENUMS_USING_INDEX(false),
404
+
405
+ /**
406
+ * Feature that determines whether Map entries with null values are
407
+ * to be serialized (true) or not (false).
408
+ *<p>
409
+ * For further details, check out [JACKSON-314]
410
+ *
411
+ * @since 1.6
412
+ */
413
+ WRITE_NULL_MAP_VALUES(true),
414
+
415
+ /**
416
+ * Feature that determines whether Container properties (POJO properties
417
+ * with declared value of Collection or array; i.e. things that produce JSON
418
+ * arrays) that are empty (have no elements)
419
+ * will be serialized as empty JSON arrays (true), or suppressed from output (false).
420
+ *<p>
421
+ * Note that this does not change behavior of {@link java.util.Map}s, or
422
+ * "Collection-like" types.
423
+ *
424
+ * @since 1.9
425
+ */
426
+ WRITE_EMPTY_JSON_ARRAYS(true)
427
+
428
+ ;
429
+
430
+ final boolean _defaultState;
431
+
432
+ private Feature(boolean defaultState) {
433
+ _defaultState = defaultState;
434
+ }
435
+
436
+ @Override
437
+ public boolean enabledByDefault() { return _defaultState; }
438
+
439
+ @Override
440
+ public int getMask() { return (1 << ordinal()); }
441
+ }
442
+
443
+ /*
444
+ /**********************************************************
445
+ /* Configuration settings
446
+ /**********************************************************
447
+ */
448
+
449
+ /**
450
+ * Which Bean/Map properties are to be included in serialization?
451
+ * Default settings is to include all regardless of value; can be
452
+ * changed to only include non-null properties, or properties
453
+ * with non-default values.
454
+ *<p>
455
+ * Defaults to null for backwards compatibility; if left as null,
456
+ * will check
457
+ * deprecated {@link Feature#WRITE_NULL_PROPERTIES}
458
+ * to choose between {@link Inclusion#ALWAYS}
459
+ * and {@link Inclusion#NON_NULL}.
460
+ */
461
+ protected JsonSerialize.Inclusion _serializationInclusion = null;
462
+
463
+ /**
464
+ * View to use for filtering out properties to serialize.
465
+ * Null if none (will also be assigned null if <code>Object.class</code>
466
+ * is defined), meaning that all properties are to be included.
467
+ */
468
+ protected Class<?> _serializationView;
469
+
470
+ /**
471
+ * Object used for resolving filter ids to filter instances.
472
+ * Non-null if explicitly defined; null by default.
473
+ *
474
+ * @since 1.7
475
+ */
476
+ protected FilterProvider _filterProvider;
477
+
478
+ /*
479
+ /**********************************************************
480
+ /* Life-cycle, constructors
481
+ /**********************************************************
482
+ */
483
+
484
+ /**
485
+ * Constructor used by ObjectMapper to create default configuration object instance.
486
+ */
487
+ public SerializationConfig(ClassIntrospector<? extends BeanDescription> intr,
488
+ AnnotationIntrospector annIntr, VisibilityChecker<?> vc,
489
+ SubtypeResolver subtypeResolver, PropertyNamingStrategy propertyNamingStrategy,
490
+ TypeFactory typeFactory, HandlerInstantiator handlerInstantiator)
491
+ {
492
+ super(intr, annIntr, vc, subtypeResolver, propertyNamingStrategy, typeFactory, handlerInstantiator,
493
+ collectFeatureDefaults(SerializationConfig.Feature.class));
494
+ _filterProvider = null;
495
+ }
496
+
497
+ /**
498
+ * @since 1.8
499
+ */
500
+ protected SerializationConfig(SerializationConfig src) {
501
+ this(src, src._base);
502
+ }
503
+
504
+ /**
505
+ * Constructor used to make a private copy of specific mix-in definitions.
506
+ *
507
+ * @since 1.8
508
+ */
509
+ protected SerializationConfig(SerializationConfig src,
510
+ HashMap<ClassKey,Class<?>> mixins, SubtypeResolver str)
511
+ {
512
+ this(src, src._base);
513
+ _mixInAnnotations = mixins;
514
+ _subtypeResolver = str;
515
+ }
516
+
517
+ /**
518
+ * @since 1.8
519
+ */
520
+ protected SerializationConfig(SerializationConfig src, MapperConfig.Base base)
521
+ {
522
+ super(src, base, src._subtypeResolver);
523
+ _serializationInclusion = src._serializationInclusion;
524
+ _serializationView = src._serializationView;
525
+ _filterProvider = src._filterProvider;
526
+ }
527
+
528
+ /**
529
+ * @since 1.8
530
+ */
531
+ protected SerializationConfig(SerializationConfig src, FilterProvider filters)
532
+ {
533
+ super(src);
534
+ _serializationInclusion = src._serializationInclusion;
535
+ _serializationView = src._serializationView;
536
+ _filterProvider = filters;
537
+ }
538
+
539
+ /**
540
+ * @since 1.8
541
+ */
542
+ protected SerializationConfig(SerializationConfig src, Class<?> view)
543
+ {
544
+ super(src);
545
+ _serializationInclusion = src._serializationInclusion;
546
+ _serializationView = view;
547
+ _filterProvider = src._filterProvider;
548
+ }
549
+
550
+ /**
551
+ * @since 1.9
552
+ */
553
+ protected SerializationConfig(SerializationConfig src, JsonSerialize.Inclusion incl)
554
+ {
555
+ super(src);
556
+ _serializationInclusion = incl;
557
+ // And for some level of backwards compatibility, also...
558
+ if (incl == JsonSerialize.Inclusion.NON_NULL) {
559
+ _featureFlags &= ~Feature.WRITE_NULL_PROPERTIES.getMask();
560
+ } else {
561
+ _featureFlags |= Feature.WRITE_NULL_PROPERTIES.getMask();
562
+ }
563
+ _serializationView = src._serializationView;
564
+ _filterProvider = src._filterProvider;
565
+ }
566
+
567
+ /**
568
+ * @since 1.9
569
+ */
570
+ protected SerializationConfig(SerializationConfig src, int features)
571
+ {
572
+ super(src, features);
573
+ _serializationInclusion = src._serializationInclusion;
574
+ _serializationView = src._serializationView;
575
+ _filterProvider = src._filterProvider;
576
+ }
577
+
578
+ /*
579
+ /**********************************************************
580
+ /* Life-cycle, factory methods from MapperConfig
581
+ /**********************************************************
582
+ */
583
+
584
+ @Override
585
+ public SerializationConfig withClassIntrospector(ClassIntrospector<? extends BeanDescription> ci) {
586
+ return new SerializationConfig(this, _base.withClassIntrospector(ci));
587
+ }
588
+
589
+ @Override
590
+ public SerializationConfig withAnnotationIntrospector(AnnotationIntrospector ai) {
591
+ return new SerializationConfig(this, _base.withAnnotationIntrospector(ai));
592
+ }
593
+
594
+ @Override
595
+ public SerializationConfig withInsertedAnnotationIntrospector(AnnotationIntrospector ai) {
596
+ return new SerializationConfig(this, _base.withInsertedAnnotationIntrospector(ai));
597
+ }
598
+
599
+ @Override
600
+ public SerializationConfig withAppendedAnnotationIntrospector(AnnotationIntrospector ai) {
601
+ return new SerializationConfig(this, _base.withAppendedAnnotationIntrospector(ai));
602
+ }
603
+
604
+ @Override
605
+ public SerializationConfig withVisibilityChecker(VisibilityChecker<?> vc) {
606
+ return new SerializationConfig(this, _base.withVisibilityChecker(vc));
607
+ }
608
+
609
+ @Override
610
+ public SerializationConfig withVisibility(JsonMethod forMethod, JsonAutoDetect.Visibility visibility) {
611
+ return new SerializationConfig(this, _base.withVisibility(forMethod, visibility));
612
+ }
613
+
614
+ @Override
615
+ public SerializationConfig withTypeResolverBuilder(TypeResolverBuilder<?> trb) {
616
+ return new SerializationConfig(this, _base.withTypeResolverBuilder(trb));
617
+ }
618
+
619
+ @Override
620
+ public SerializationConfig withSubtypeResolver(SubtypeResolver str) {
621
+ SerializationConfig cfg = new SerializationConfig(this);
622
+ cfg._subtypeResolver = str;
623
+ return cfg;
624
+ }
625
+
626
+ @Override
627
+ public SerializationConfig withPropertyNamingStrategy(PropertyNamingStrategy pns) {
628
+ return new SerializationConfig(this, _base.withPropertyNamingStrategy(pns));
629
+ }
630
+
631
+ @Override
632
+ public SerializationConfig withTypeFactory(TypeFactory tf) {
633
+ return new SerializationConfig(this, _base.withTypeFactory(tf));
634
+ }
635
+
636
+ /**
637
+ * In addition to constructing instance with specified date format,
638
+ * will enable or disable <code>Feature.WRITE_DATES_AS_TIMESTAMPS</code>
639
+ * (enable if format set as null; disable if non-null)
640
+ */
641
+ @Override
642
+ public SerializationConfig withDateFormat(DateFormat df) {
643
+ SerializationConfig cfg = new SerializationConfig(this, _base.withDateFormat(df));
644
+ // Also need to toggle this feature based on existence of date format:
645
+ if (df == null) {
646
+ cfg = cfg.with(Feature.WRITE_DATES_AS_TIMESTAMPS);
647
+ } else {
648
+ cfg = cfg.without(Feature.WRITE_DATES_AS_TIMESTAMPS);
649
+ }
650
+ return cfg;
651
+ }
652
+
653
+ @Override
654
+ public SerializationConfig withHandlerInstantiator(HandlerInstantiator hi) {
655
+ return new SerializationConfig(this, _base.withHandlerInstantiator(hi));
656
+ }
657
+
658
+ /*
659
+ /**********************************************************
660
+ /* Life-cycle, SerializationConfig specific factory methods
661
+ /**********************************************************
662
+ */
663
+
664
+ /**
665
+ * @since 1.7
666
+ */
667
+ public SerializationConfig withFilters(FilterProvider filterProvider) {
668
+ return new SerializationConfig(this, filterProvider);
669
+ }
670
+
671
+ /**
672
+ * @since 1.8
673
+ */
674
+ public SerializationConfig withView(Class<?> view) {
675
+ return new SerializationConfig(this, view);
676
+ }
677
+
678
+ /**
679
+ * @since 1.9
680
+ */
681
+ public SerializationConfig withSerializationInclusion(JsonSerialize.Inclusion incl) {
682
+ return new SerializationConfig(this, incl);
683
+ }
684
+
685
+ /**
686
+ * Fluent factory method that will construct and return a new configuration
687
+ * object instance with specified features enabled.
688
+ *
689
+ * @since 1.9
690
+ */
691
+ @Override
692
+ public SerializationConfig with(Feature... features)
693
+ {
694
+ int flags = _featureFlags;
695
+ for (Feature f : features) {
696
+ flags |= f.getMask();
697
+ }
698
+ return new SerializationConfig(this, flags);
699
+ }
700
+
701
+ /**
702
+ * Fluent factory method that will construct and return a new configuration
703
+ * object instance with specified features disabled.
704
+ *
705
+ * @since 1.9
706
+ */
707
+ @Override
708
+ public SerializationConfig without(Feature... features)
709
+ {
710
+ int flags = _featureFlags;
711
+ for (Feature f : features) {
712
+ flags &= ~f.getMask();
713
+ }
714
+ return new SerializationConfig(this, flags);
715
+ }
716
+
717
+ /*
718
+ /**********************************************************
719
+ /* MapperConfig implementation/overrides
720
+ /**********************************************************
721
+ */
722
+
723
+ /**
724
+ * Method that checks class annotations that the argument Object has,
725
+ * and modifies settings of this configuration object accordingly,
726
+ * similar to how those annotations would affect actual value classes
727
+ * annotated with them, but with global scope. Note that not all
728
+ * annotations have global significance, and thus only subset of
729
+ * Jackson annotations will have any effect.
730
+ *<p>
731
+ * Serialization annotations that are known to have effect are:
732
+ *<ul>
733
+ * <li>{@link JsonWriteNullProperties}</li>
734
+ * <li>{@link JsonAutoDetect}</li>
735
+ * <li>{@link JsonSerialize#typing}</li>
736
+ *</ul>
737
+ *
738
+ * @param cls Class of which class annotations to use
739
+ * for changing configuration settings
740
+ *
741
+ * @deprecated Since 1.9, it is preferably to explicitly configure
742
+ * instances; this method also modifies existing instance which is
743
+ * against immutable design goals of this class.
744
+ */
745
+ @SuppressWarnings("deprecation")
746
+ @Deprecated
747
+ @Override
748
+ public void fromAnnotations(Class<?> cls)
749
+ {
750
+ /* 10-Jul-2009, tatu: Should be able to just pass null as
751
+ * 'MixInResolver'; no mix-ins set at this point
752
+ * 29-Jul-2009, tatu: Also, we do NOT ignore annotations here, even
753
+ * if Feature.USE_ANNOTATIONS was disabled, since caller
754
+ * specifically requested annotations to be added with this call
755
+ */
756
+ AnnotationIntrospector ai = getAnnotationIntrospector();
757
+ AnnotatedClass ac = AnnotatedClass.construct(cls, ai, null);
758
+ _base = _base.withVisibilityChecker(ai.findAutoDetectVisibility(ac,
759
+ getDefaultVisibilityChecker()));
760
+
761
+ // How about writing null property values?
762
+ JsonSerialize.Inclusion incl = ai.findSerializationInclusion(ac, null);
763
+ if (incl != _serializationInclusion) {
764
+ setSerializationInclusion(incl);
765
+ }
766
+
767
+ JsonSerialize.Typing typing = ai.findSerializationTyping(ac);
768
+ if (typing != null) {
769
+ set(Feature.USE_STATIC_TYPING, (typing == JsonSerialize.Typing.STATIC));
770
+ }
771
+ }
772
+
773
+ @Override
774
+ public SerializationConfig createUnshared(SubtypeResolver subtypeResolver)
775
+ {
776
+ HashMap<ClassKey,Class<?>> mixins = _mixInAnnotations;
777
+ _mixInAnnotationsShared = true;
778
+ return new SerializationConfig(this, mixins, subtypeResolver);
779
+ }
780
+
781
+ @Override
782
+ public AnnotationIntrospector getAnnotationIntrospector()
783
+ {
784
+ /* 29-Jul-2009, tatu: it's now possible to disable use of
785
+ * annotations; can be done using "no-op" introspector
786
+ */
787
+ if (isEnabled(Feature.USE_ANNOTATIONS)) {
788
+ return super.getAnnotationIntrospector();
789
+ }
790
+ return AnnotationIntrospector.nopInstance();
791
+ }
792
+
793
+ /**
794
+ * Accessor for getting bean description that only contains class
795
+ * annotations: useful if no getter/setter/creator information is needed.
796
+ *<p>
797
+ * Note: part of {@link MapperConfig} since 1.7
798
+ */
799
+ @SuppressWarnings("unchecked")
800
+ @Override
801
+ public <T extends BeanDescription> T introspectClassAnnotations(JavaType type) {
802
+ return (T) getClassIntrospector().forClassAnnotations(this, type, this);
803
+ }
804
+
805
+ /**
806
+ * Accessor for getting bean description that only contains immediate class
807
+ * annotations: ones from the class, and its direct mix-in, if any, but
808
+ * not from super types.
809
+ *<p>
810
+ * Note: part of {@link MapperConfig} since 1.7
811
+ */
812
+ @SuppressWarnings("unchecked")
813
+ @Override
814
+ public <T extends BeanDescription> T introspectDirectClassAnnotations(JavaType type) {
815
+ return (T) getClassIntrospector().forDirectClassAnnotations(this, type, this);
816
+ }
817
+
818
+ @Override
819
+ public boolean isAnnotationProcessingEnabled() {
820
+ return isEnabled(SerializationConfig.Feature.USE_ANNOTATIONS);
821
+ }
822
+
823
+ @Override
824
+ public boolean canOverrideAccessModifiers() {
825
+ return isEnabled(Feature.CAN_OVERRIDE_ACCESS_MODIFIERS);
826
+ }
827
+
828
+ @Override
829
+ public boolean shouldSortPropertiesAlphabetically() {
830
+ return isEnabled(Feature.SORT_PROPERTIES_ALPHABETICALLY);
831
+ }
832
+
833
+ @Override
834
+ public VisibilityChecker<?> getDefaultVisibilityChecker()
835
+ {
836
+ VisibilityChecker<?> vchecker = super.getDefaultVisibilityChecker();
837
+ if (!isEnabled(SerializationConfig.Feature.AUTO_DETECT_GETTERS)) {
838
+ vchecker = vchecker.withGetterVisibility(Visibility.NONE);
839
+ }
840
+ // then global overrides (disabling)
841
+ if (!isEnabled(SerializationConfig.Feature.AUTO_DETECT_IS_GETTERS)) {
842
+ vchecker = vchecker.withIsGetterVisibility(Visibility.NONE);
843
+ }
844
+ if (!isEnabled(SerializationConfig.Feature.AUTO_DETECT_FIELDS)) {
845
+ vchecker = vchecker.withFieldVisibility(Visibility.NONE);
846
+ }
847
+ return vchecker;
848
+ }
849
+
850
+ /*
851
+ /**********************************************************
852
+ /* MapperConfig overrides for 1.8 backwards compatibility
853
+ /**********************************************************
854
+ */
855
+
856
+ /* NOTE: these are overloads we MUST have, but that were missing
857
+ * from 1.9.0 and 1.9.1. Type erasure can bite in the ass...
858
+ *<p>
859
+ * NOTE: will remove either these variants, or base class one, in 2.0.
860
+ */
861
+
862
+ /**
863
+ * Alias for {@link MapperConfig#isEnabled(sh.calaba.org.codehaus.jackson.map.MapperConfig.ConfigFeature)}.
864
+ *
865
+ * @since 1.0 However, note that version 1.9.0 and 1.9.1 accidentally missed
866
+ * this overloaded variant
867
+ */
868
+ public boolean isEnabled(SerializationConfig.Feature f) {
869
+ return (_featureFlags & f.getMask()) != 0;
870
+ }
871
+
872
+ /**
873
+ * @deprecated Since 1.9, it is preferable to use {@link #with} instead;
874
+ * this method is deprecated as it modifies current instance instead of
875
+ * creating a new one (as the goal is to make this class immutable)
876
+ */
877
+ @Deprecated
878
+ @Override
879
+ public void enable(SerializationConfig.Feature f) {
880
+ super.enable(f);
881
+ }
882
+
883
+ /**
884
+ * @deprecated Since 1.9, it is preferable to use {@link #without} instead;
885
+ * this method is deprecated as it modifies current instance instead of
886
+ * creating a new one (as the goal is to make this class immutable)
887
+ */
888
+ @Deprecated
889
+ @Override
890
+ public void disable(SerializationConfig.Feature f) {
891
+ super.disable(f);
892
+ }
893
+
894
+ /**
895
+ * @deprecated Since 1.9, it is preferable to use {@link #without} and {@link #with} instead;
896
+ * this method is deprecated as it modifies current instance instead of
897
+ * creating a new one (as the goal is to make this class immutable)
898
+ */
899
+ @Deprecated
900
+ @Override
901
+ public void set(SerializationConfig.Feature f, boolean state) {
902
+ super.set(f, state);
903
+ }
904
+
905
+ /*
906
+ /**********************************************************
907
+ /* Configuration: other
908
+ /**********************************************************
909
+ */
910
+
911
+ /**
912
+ * Method for checking which serialization view is being used,
913
+ * if any; null if none.
914
+ *
915
+ * @since 1.4
916
+ */
917
+ public Class<?> getSerializationView() { return _serializationView; }
918
+
919
+ public JsonSerialize.Inclusion getSerializationInclusion()
920
+ {
921
+ if (_serializationInclusion != null) {
922
+ return _serializationInclusion;
923
+ }
924
+ return isEnabled(Feature.WRITE_NULL_PROPERTIES) ?
925
+ JsonSerialize.Inclusion.ALWAYS : JsonSerialize.Inclusion.NON_NULL;
926
+ }
927
+
928
+ /**
929
+ * Method that will define global setting of which
930
+ * bean/map properties are to be included in serialization.
931
+ * Can be overridden by class annotations (overriding
932
+ * settings to use for instances of that class) and
933
+ * method/field annotations (overriding settings for the value
934
+ * bean for that getter method or field)
935
+ *
936
+ * @deprecated since 1.9 should either use {@link #withSerializationInclusion}
937
+ * to construct new instance, or configure through {@link ObjectMapper}
938
+ */
939
+ @Deprecated
940
+ public void setSerializationInclusion(JsonSerialize.Inclusion props)
941
+ {
942
+ _serializationInclusion = props;
943
+ // And for some level of backwards compatibility, also...
944
+ if (props == JsonSerialize.Inclusion.NON_NULL) {
945
+ disable(Feature.WRITE_NULL_PROPERTIES);
946
+ } else {
947
+ enable(Feature.WRITE_NULL_PROPERTIES);
948
+ }
949
+ }
950
+
951
+ /**
952
+ * Method for getting provider used for locating filters given
953
+ * id (which is usually provided with filter annotations).
954
+ * Will be null if no provided was set for {@link ObjectWriter}
955
+ * (or if serialization directly called from {@link ObjectMapper})
956
+ *
957
+ * @since 1.7
958
+ */
959
+ public FilterProvider getFilterProvider() {
960
+ return _filterProvider;
961
+ }
962
+
963
+ /*
964
+ /**********************************************************
965
+ /* Introspection methods
966
+ /**********************************************************
967
+ */
968
+
969
+ /**
970
+ * Method that will introspect full bean properties for the purpose
971
+ * of building a bean serializer
972
+ */
973
+ @SuppressWarnings("unchecked")
974
+ public <T extends BeanDescription> T introspect(JavaType type) {
975
+ return (T) getClassIntrospector().forSerialization(this, type, this);
976
+ }
977
+
978
+ /*
979
+ /**********************************************************
980
+ /* Extended API: serializer instantiation
981
+ /**********************************************************
982
+ */
983
+
984
+ @SuppressWarnings("unchecked")
985
+ public JsonSerializer<Object> serializerInstance(Annotated annotated, Class<? extends JsonSerializer<?>> serClass)
986
+ {
987
+ HandlerInstantiator hi = getHandlerInstantiator();
988
+ if (hi != null) {
989
+ JsonSerializer<?> ser = hi.serializerInstance(this, annotated, serClass);
990
+ if (ser != null) {
991
+ return (JsonSerializer<Object>) ser;
992
+ }
993
+ }
994
+ return (JsonSerializer<Object>) ClassUtil.createInstance(serClass, canOverrideAccessModifiers());
995
+ }
996
+
997
+ /*
998
+ /**********************************************************
999
+ /* Deprecated methods
1000
+ /**********************************************************
1001
+ */
1002
+
1003
+ /**
1004
+ * One thing to note is that this will set {@link Feature#WRITE_DATES_AS_TIMESTAMPS}
1005
+ * to false (if null format set), or true (if non-null format)
1006
+ *
1007
+ * @deprecated Since 1.8, use {@link #withDateFormat} instead.
1008
+ */
1009
+ @SuppressWarnings("deprecation")
1010
+ @Override
1011
+ @Deprecated
1012
+ public final void setDateFormat(DateFormat df) {
1013
+ super.setDateFormat(df);
1014
+ set(Feature.WRITE_DATES_AS_TIMESTAMPS, (df == null));
1015
+ }
1016
+
1017
+ /**
1018
+ * Method for checking which serialization view is being used,
1019
+ * if any; null if none.
1020
+ *
1021
+ * @since 1.4
1022
+ *
1023
+ * @deprecated Since 1.8, use {@link #withView} instead
1024
+ */
1025
+ @Deprecated
1026
+ public void setSerializationView(Class<?> view)
1027
+ {
1028
+ _serializationView = view;
1029
+ }
1030
+
1031
+ /*
1032
+ /**********************************************************
1033
+ /* Debug support
1034
+ /**********************************************************
1035
+ */
1036
+
1037
+ @Override public String toString()
1038
+ {
1039
+ return "[SerializationConfig: flags=0x"+Integer.toHexString(_featureFlags)+"]";
1040
+ }
1041
+ }