testautoa 0.4.0.pre16

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 (717) hide show
  1. data/.calabash_settings +1 -0
  2. data/CHANGES.txt +254 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE +8 -0
  5. data/Rakefile +51 -0
  6. data/bin/calabash-android +101 -0
  7. data/bin/calabash-android-build.rb +43 -0
  8. data/bin/calabash-android-console.rb +29 -0
  9. data/bin/calabash-android-generate.rb +20 -0
  10. data/bin/calabash-android-helpers.rb +46 -0
  11. data/bin/calabash-android-run.rb +41 -0
  12. data/bin/calabash-android-setup.rb +29 -0
  13. data/calabash-android.gemspec +25 -0
  14. data/doc/calabash-android-help.txt +25 -0
  15. data/epl-v10.html +261 -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 +36 -0
  19. data/features-skeleton/support/app_life_cycle_hooks.rb +14 -0
  20. data/features-skeleton/support/env.rb +1 -0
  21. data/features-skeleton/support/hooks.rb +0 -0
  22. data/irbrc +37 -0
  23. data/lib/calabash-android/calabash_steps.rb +19 -0
  24. data/lib/calabash-android/canned_steps.md +283 -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/helpers.rb +159 -0
  28. data/lib/calabash-android/lib/AXMLPrinter2.jar +0 -0
  29. data/lib/calabash-android/lib/TestServer.apk +0 -0
  30. data/lib/calabash-android/lib/manifest_extractor.jar +0 -0
  31. data/lib/calabash-android/lib/screenShotTaker.jar +0 -0
  32. data/lib/calabash-android/lib/unsign.jar +0 -0
  33. data/lib/calabash-android/management/adb.rb +0 -0
  34. data/lib/calabash-android/management/app_installation.rb +1 -0
  35. data/lib/calabash-android/operations.rb +611 -0
  36. data/lib/calabash-android/steps/additions_manual_steps.rb +11 -0
  37. data/lib/calabash-android/steps/app_steps.rb +10 -0
  38. data/lib/calabash-android/steps/assert_steps.rb +44 -0
  39. data/lib/calabash-android/steps/check_box_steps.rb +3 -0
  40. data/lib/calabash-android/steps/context_menu_steps.rb +12 -0
  41. data/lib/calabash-android/steps/date_picker_steps.rb +8 -0
  42. data/lib/calabash-android/steps/enter_text_steps.rb +27 -0
  43. data/lib/calabash-android/steps/l10n_steps.rb +19 -0
  44. data/lib/calabash-android/steps/list_steps.rb +40 -0
  45. data/lib/calabash-android/steps/location_steps.rb +19 -0
  46. data/lib/calabash-android/steps/map_steps.rb +61 -0
  47. data/lib/calabash-android/steps/navigation_steps.rb +46 -0
  48. data/lib/calabash-android/steps/press_button_steps.rb +35 -0
  49. data/lib/calabash-android/steps/progress_steps.rb +71 -0
  50. data/lib/calabash-android/steps/rotation_steps.rb +7 -0
  51. data/lib/calabash-android/steps/screenshot_steps.rb +11 -0
  52. data/lib/calabash-android/steps/search_steps.rb +7 -0
  53. data/lib/calabash-android/steps/spinner_steps.rb +3 -0
  54. data/lib/calabash-android/steps/time_picker_steps.rb +8 -0
  55. data/lib/calabash-android/version.rb +5 -0
  56. data/lib/calabash-android/wait_helpers.rb +93 -0
  57. data/lib/calabash-android.rb +2 -0
  58. data/test-server/AndroidManifest.xml +29 -0
  59. data/test-server/build.xml +144 -0
  60. data/test-server/calabash-js/src/calabash.js +125 -0
  61. data/test-server/calabash-js/src/set_text.js +133 -0
  62. data/test-server/instrumentation-backend/.classpath +10 -0
  63. data/test-server/instrumentation-backend/.gitignore +1 -0
  64. data/test-server/instrumentation-backend/.project +33 -0
  65. data/test-server/instrumentation-backend/.settings/org.eclipse.jdt.core.prefs +11 -0
  66. data/test-server/instrumentation-backend/AndroidManifest.xml +17 -0
  67. data/test-server/instrumentation-backend/antlr/UIQuery.g +113 -0
  68. data/test-server/instrumentation-backend/antlr/UIQuery.tokens +12 -0
  69. data/test-server/instrumentation-backend/antlr.sh +2 -0
  70. data/test-server/instrumentation-backend/assets/foo.bar +0 -0
  71. data/test-server/instrumentation-backend/build-libs/antlr-3.4-complete.jar +0 -0
  72. data/test-server/instrumentation-backend/build-libs/junit.jar +0 -0
  73. data/test-server/instrumentation-backend/build.xml +56 -0
  74. data/test-server/instrumentation-backend/libs/robotium-solo-3.6.jar +0 -0
  75. data/test-server/instrumentation-backend/project.properties +11 -0
  76. data/test-server/instrumentation-backend/res/drawable-hdpi/ic_launcher.png +0 -0
  77. data/test-server/instrumentation-backend/res/drawable-ldpi/ic_launcher.png +0 -0
  78. data/test-server/instrumentation-backend/res/drawable-mdpi/ic_launcher.png +0 -0
  79. data/test-server/instrumentation-backend/res/layout/main.xml +12 -0
  80. data/test-server/instrumentation-backend/res/values/strings.xml +7 -0
  81. data/test-server/instrumentation-backend/src/com/jayway/android/robotium/solo/MapViewUtils.java +328 -0
  82. data/test-server/instrumentation-backend/src/com/jayway/android/robotium/solo/PublicViewFetcher.java +11 -0
  83. data/test-server/instrumentation-backend/src/com/jayway/android/robotium/solo/SoloEnhanced.java +97 -0
  84. data/test-server/instrumentation-backend/src/org/antlr/runtime/ANTLRFileStream.java +78 -0
  85. data/test-server/instrumentation-backend/src/org/antlr/runtime/ANTLRInputStream.java +70 -0
  86. data/test-server/instrumentation-backend/src/org/antlr/runtime/ANTLRReaderStream.java +95 -0
  87. data/test-server/instrumentation-backend/src/org/antlr/runtime/ANTLRStringStream.java +230 -0
  88. data/test-server/instrumentation-backend/src/org/antlr/runtime/BaseRecognizer.java +894 -0
  89. data/test-server/instrumentation-backend/src/org/antlr/runtime/BitSet.java +325 -0
  90. data/test-server/instrumentation-backend/src/org/antlr/runtime/BufferedTokenStream.java +272 -0
  91. data/test-server/instrumentation-backend/src/org/antlr/runtime/CharStream.java +57 -0
  92. data/test-server/instrumentation-backend/src/org/antlr/runtime/CharStreamState.java +45 -0
  93. data/test-server/instrumentation-backend/src/org/antlr/runtime/ClassicToken.java +141 -0
  94. data/test-server/instrumentation-backend/src/org/antlr/runtime/CommonToken.java +191 -0
  95. data/test-server/instrumentation-backend/src/org/antlr/runtime/CommonTokenStream.java +153 -0
  96. data/test-server/instrumentation-backend/src/org/antlr/runtime/DFA.java +250 -0
  97. data/test-server/instrumentation-backend/src/org/antlr/runtime/EarlyExitException.java +41 -0
  98. data/test-server/instrumentation-backend/src/org/antlr/runtime/FailedPredicateException.java +54 -0
  99. data/test-server/instrumentation-backend/src/org/antlr/runtime/IntStream.java +122 -0
  100. data/test-server/instrumentation-backend/src/org/antlr/runtime/LegacyCommonTokenStream.java +394 -0
  101. data/test-server/instrumentation-backend/src/org/antlr/runtime/Lexer.java +340 -0
  102. data/test-server/instrumentation-backend/src/org/antlr/runtime/MismatchedNotSetException.java +41 -0
  103. data/test-server/instrumentation-backend/src/org/antlr/runtime/MismatchedRangeException.java +45 -0
  104. data/test-server/instrumentation-backend/src/org/antlr/runtime/MismatchedSetException.java +44 -0
  105. data/test-server/instrumentation-backend/src/org/antlr/runtime/MismatchedTokenException.java +45 -0
  106. data/test-server/instrumentation-backend/src/org/antlr/runtime/MismatchedTreeNodeException.java +49 -0
  107. data/test-server/instrumentation-backend/src/org/antlr/runtime/MissingTokenException.java +56 -0
  108. data/test-server/instrumentation-backend/src/org/antlr/runtime/NoViableAltException.java +57 -0
  109. data/test-server/instrumentation-backend/src/org/antlr/runtime/Parser.java +98 -0
  110. data/test-server/instrumentation-backend/src/org/antlr/runtime/ParserRuleReturnScope.java +52 -0
  111. data/test-server/instrumentation-backend/src/org/antlr/runtime/RecognitionException.java +180 -0
  112. data/test-server/instrumentation-backend/src/org/antlr/runtime/RecognizerSharedState.java +144 -0
  113. data/test-server/instrumentation-backend/src/org/antlr/runtime/RuleReturnScope.java +42 -0
  114. data/test-server/instrumentation-backend/src/org/antlr/runtime/SerializedGrammar.java +204 -0
  115. data/test-server/instrumentation-backend/src/org/antlr/runtime/Token.java +92 -0
  116. data/test-server/instrumentation-backend/src/org/antlr/runtime/TokenRewriteStream.java +569 -0
  117. data/test-server/instrumentation-backend/src/org/antlr/runtime/TokenSource.java +54 -0
  118. data/test-server/instrumentation-backend/src/org/antlr/runtime/TokenStream.java +75 -0
  119. data/test-server/instrumentation-backend/src/org/antlr/runtime/UnbufferedTokenStream.java +82 -0
  120. data/test-server/instrumentation-backend/src/org/antlr/runtime/UnwantedTokenException.java +53 -0
  121. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/BlankDebugEventListener.java +77 -0
  122. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugEventHub.java +292 -0
  123. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugEventListener.java +323 -0
  124. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugEventRepeater.java +88 -0
  125. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugEventSocketProxy.java +358 -0
  126. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugParser.java +101 -0
  127. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugTokenStream.java +156 -0
  128. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugTreeAdaptor.java +250 -0
  129. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugTreeNodeStream.java +155 -0
  130. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugTreeParser.java +112 -0
  131. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/ParseTreeBuilder.java +109 -0
  132. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/Profiler.java +772 -0
  133. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/RemoteDebugEventSocketListener.java +541 -0
  134. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/TraceDebugEventListener.java +108 -0
  135. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/Tracer.java +69 -0
  136. data/test-server/instrumentation-backend/src/org/antlr/runtime/misc/DoubleKeyMap.java +62 -0
  137. data/test-server/instrumentation-backend/src/org/antlr/runtime/misc/FastQueue.java +100 -0
  138. data/test-server/instrumentation-backend/src/org/antlr/runtime/misc/IntArray.java +87 -0
  139. data/test-server/instrumentation-backend/src/org/antlr/runtime/misc/LookaheadStream.java +161 -0
  140. data/test-server/instrumentation-backend/src/org/antlr/runtime/misc/Stats.java +189 -0
  141. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/BaseTree.java +349 -0
  142. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/BaseTreeAdaptor.java +279 -0
  143. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/BufferedTreeNodeStream.java +489 -0
  144. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/CommonErrorNode.java +108 -0
  145. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/CommonTree.java +185 -0
  146. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/CommonTreeAdaptor.java +168 -0
  147. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/CommonTreeNodeStream.java +171 -0
  148. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/ParseTree.java +119 -0
  149. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/RewriteCardinalityException.java +47 -0
  150. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/RewriteEarlyExitException.java +39 -0
  151. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/RewriteEmptyStreamException.java +35 -0
  152. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/RewriteRuleElementStream.java +210 -0
  153. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/RewriteRuleNodeStream.java +70 -0
  154. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/RewriteRuleSubtreeStream.java +86 -0
  155. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/RewriteRuleTokenStream.java +76 -0
  156. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/Tree.java +127 -0
  157. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeAdaptor.java +263 -0
  158. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeFilter.java +135 -0
  159. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeIterator.java +132 -0
  160. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeNodeStream.java +106 -0
  161. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeParser.java +169 -0
  162. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreePatternLexer.java +135 -0
  163. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreePatternParser.java +154 -0
  164. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeRewriter.java +124 -0
  165. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeRuleReturnScope.java +41 -0
  166. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeVisitor.java +69 -0
  167. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeVisitorAction.java +47 -0
  168. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeWizard.java +531 -0
  169. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/CalabashInstrumentationTestRunner.java +37 -0
  170. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/ClearAppData.java +63 -0
  171. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/Command.java +64 -0
  172. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/FranklyResult.java +95 -0
  173. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/InstrumentationBackend.java +90 -0
  174. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/Result.java +83 -0
  175. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/TestHelpers.java +130 -0
  176. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/WakeUp.java +30 -0
  177. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/Action.java +11 -0
  178. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/Actions.java +112 -0
  179. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/HttpServer.java +222 -0
  180. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/NanoHTTPD.java +1094 -0
  181. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/NullAction.java +23 -0
  182. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/activity/FinishOpenedActivities.java +19 -0
  183. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/activity/GetOpenedActivities.java +31 -0
  184. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/activity/GoBackToActivity.java +67 -0
  185. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/activity/SetActivityOrientation.java +41 -0
  186. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/button/PressButtonNumber.java +22 -0
  187. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/button/PressButtonText.java +27 -0
  188. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/button/PressImageButtonDescription.java +40 -0
  189. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/button/PressImageButtonNumber.java +22 -0
  190. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/button/WaitForButton.java +47 -0
  191. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/checkbox/ToggleCheckboxNumber.java +22 -0
  192. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/contextmenu/LongPressText.java +22 -0
  193. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/contextmenu/LongPressTextAndSelectFromMenuById.java +26 -0
  194. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/contextmenu/LongPressTextAndSelectFromMenuByIndex.java +22 -0
  195. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/contextmenu/LongPressTextAndSelectFromMenuByText.java +26 -0
  196. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/ClickOnScreen.java +31 -0
  197. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/Drag.java +40 -0
  198. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/DragCoordinates.java +28 -0
  199. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/Swipe.java +34 -0
  200. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/TouchCoordinates.java +28 -0
  201. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/helpers/InspectCurrentDialog.java +76 -0
  202. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/helpers/ListActions.java +26 -0
  203. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/l10n/L10nHelper.java +31 -0
  204. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/l10n/PressElement.java +48 -0
  205. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/l10n/WaitForElement.java +47 -0
  206. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/list/GetListData.java +85 -0
  207. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/list/GetListItemProperties.java +194 -0
  208. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/list/GetListItemText.java +136 -0
  209. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/list/LongPressListItems.java +22 -0
  210. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/list/PressListItems.java +22 -0
  211. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/location/FakeGPSLocation.java +138 -0
  212. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/GetMapBounds.java +27 -0
  213. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/GetMapCenter.java +27 -0
  214. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/GetMapMarker.java +31 -0
  215. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/GetMapMarkers.java +48 -0
  216. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/GetMapZoom.java +19 -0
  217. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/PanMapTo.java +23 -0
  218. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/SetMapCenter.java +23 -0
  219. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/SetMapZoom.java +34 -0
  220. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/TapAwayFromMarkers.java +28 -0
  221. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/TapMapMarker.java +29 -0
  222. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/scrolling/ScrollDown.java +22 -0
  223. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/scrolling/ScrollUp.java +22 -0
  224. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/search/EnterQueryByIndex.java +24 -0
  225. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/DownKey.java +24 -0
  226. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/EnterKey.java +24 -0
  227. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/GoBack.java +22 -0
  228. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/LeftKey.java +24 -0
  229. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/PressMenu.java +26 -0
  230. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/RightKey.java +24 -0
  231. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/SelectFromMenuByText.java +24 -0
  232. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/UpKey.java +24 -0
  233. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/spinner/GetSelectedSpinnerItemText.java +36 -0
  234. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/spinner/SelectSpinnerItemByContentDescription.java +43 -0
  235. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/AssertGridViewContainsNoDuplicates.java +72 -0
  236. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/AssertText.java +31 -0
  237. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/AssertTextOfSpecificTextViewByContentDescription.java +32 -0
  238. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/ClearTextById.java +30 -0
  239. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/ClearTextByIndex.java +22 -0
  240. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/ClearTextFieldByContentDescription.java +33 -0
  241. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/ClickOnText.java +22 -0
  242. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/EnterTextByContentDescription.java +32 -0
  243. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/EnterTextById.java +30 -0
  244. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/EnterTextByIndex.java +22 -0
  245. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/GetTextById.java +42 -0
  246. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/time/SetDateByContentDescription.java +33 -0
  247. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/time/SetDateByIndex.java +24 -0
  248. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/time/SetTimeByContentDescription.java +34 -0
  249. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/time/SetTimeByIndex.java +26 -0
  250. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/version/Version.java +31 -0
  251. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/AssertViewProperty.java +141 -0
  252. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/ClickOnViewByDescription.java +46 -0
  253. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/ClickOnViewById.java +56 -0
  254. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/GetActivityName.java +32 -0
  255. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/GetViewProperty.java +101 -0
  256. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/HasView.java +31 -0
  257. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/IsCurrentActivityFocused.java +40 -0
  258. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/IsEnabled.java +30 -0
  259. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/LongPressOnViewById.java +34 -0
  260. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/Press.java +89 -0
  261. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/SelectTab.java +110 -0
  262. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/Wait.java +24 -0
  263. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForDialogClose.java +21 -0
  264. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForProgress.java +47 -0
  265. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForScreen.java +54 -0
  266. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForTab.java +108 -0
  267. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForText.java +37 -0
  268. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForView.java +43 -0
  269. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForViewById.java +51 -0
  270. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/CalabashChromeClient.java +180 -0
  271. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/DumpBodyHtml.java +53 -0
  272. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/DumpHtml.java +55 -0
  273. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/EnterTextByCssSelector.java +121 -0
  274. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/ExecuteAsyncJavascript.java +77 -0
  275. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/ExecuteJavascript.java +75 -0
  276. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/GetLoadProgress.java +21 -0
  277. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/GetUrl.java +21 -0
  278. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/JavaScriptOperation.java +44 -0
  279. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/PressByCssSelector.java +70 -0
  280. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/QueryHelper.java +104 -0
  281. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/ScrollTo.java +87 -0
  282. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/SetPropertyByCssSelector.java +69 -0
  283. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/SetText.java +47 -0
  284. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/CompletedFuture.java +40 -0
  285. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/InvocationOperation.java +222 -0
  286. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/Operation.java +7 -0
  287. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/PropertyOperation.java +56 -0
  288. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/Query.java +181 -0
  289. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/QueryResult.java +27 -0
  290. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/UIQuery.tokens +19 -0
  291. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/UIQueryResultVoid.java +22 -0
  292. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ViewMapper.java +93 -0
  293. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/antlr/UIQueryLexer.java +1713 -0
  294. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/antlr/UIQueryParser.java +771 -0
  295. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/BeginsWithRelation.java +45 -0
  296. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/ComparisonOperator.java +54 -0
  297. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/ContainsRelation.java +41 -0
  298. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/EndsWithRelation.java +42 -0
  299. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/InvalidUIQueryException.java +10 -0
  300. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/LikeRelation.java +79 -0
  301. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/PartialFutureList.java +100 -0
  302. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryAST.java +8 -0
  303. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryASTClassName.java +142 -0
  304. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryASTPredicate.java +147 -0
  305. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryASTPredicateRelation.java +5 -0
  306. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryASTWith.java +202 -0
  307. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryDirection.java +15 -0
  308. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryEvaluator.java +99 -0
  309. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryUtils.java +271 -0
  310. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryVisibility.java +32 -0
  311. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Base64Variant.java +413 -0
  312. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Base64Variants.java +90 -0
  313. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/FormatSchema.java +29 -0
  314. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonEncoding.java +47 -0
  315. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonFactory.java +937 -0
  316. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonGenerationException.java +28 -0
  317. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonGenerator.java +1197 -0
  318. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonLocation.java +141 -0
  319. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonNode.java +879 -0
  320. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonParseException.java +23 -0
  321. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonParser.java +1434 -0
  322. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonProcessingException.java +80 -0
  323. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonStreamContext.java +122 -0
  324. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonToken.java +161 -0
  325. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/ObjectCodec.java +157 -0
  326. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/PrettyPrinter.java +166 -0
  327. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/SerializableString.java +54 -0
  328. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Version.java +90 -0
  329. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Versioned.java +20 -0
  330. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JacksonAnnotation.java +20 -0
  331. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonAnyGetter.java +25 -0
  332. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonAnySetter.java +24 -0
  333. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonAutoDetect.java +148 -0
  334. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonBackReference.java +41 -0
  335. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonCreator.java +19 -0
  336. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonGetter.java +35 -0
  337. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonIgnore.java +57 -0
  338. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonIgnoreProperties.java +48 -0
  339. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonIgnoreType.java +33 -0
  340. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonManagedReference.java +41 -0
  341. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonMethod.java +90 -0
  342. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonProperty.java +38 -0
  343. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonPropertyOrder.java +46 -0
  344. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonRawValue.java +33 -0
  345. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonSetter.java +33 -0
  346. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonSubTypes.java +44 -0
  347. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonTypeInfo.java +236 -0
  348. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonTypeName.java +28 -0
  349. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonUnwrapped.java +76 -0
  350. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonValue.java +46 -0
  351. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonWriteNullProperties.java +34 -0
  352. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/package-info.java +16 -0
  353. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/DataFormatDetector.java +176 -0
  354. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/DataFormatMatcher.java +117 -0
  355. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/InputAccessor.java +130 -0
  356. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/MatchStrength.java +64 -0
  357. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/package-info.java +8 -0
  358. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/ByteSourceBootstrapper.java +518 -0
  359. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/DefaultPrettyPrinter.java +13 -0
  360. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/Indenter.java +23 -0
  361. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonGeneratorBase.java +570 -0
  362. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonNumericParserBase.java +20 -0
  363. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonParserBase.java +1067 -0
  364. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonParserMinimalBase.java +539 -0
  365. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonReadContext.java +188 -0
  366. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonWriteContext.java +178 -0
  367. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/ReaderBasedParser.java +1815 -0
  368. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/ReaderBasedParserBase.java +228 -0
  369. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/StreamBasedParserBase.java +197 -0
  370. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/Utf8Generator.java +1757 -0
  371. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/Utf8StreamParser.java +2966 -0
  372. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/WriterBasedGenerator.java +1815 -0
  373. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/package-info.java +6 -0
  374. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/BaseReader.java +117 -0
  375. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/CharacterEscapes.java +73 -0
  376. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/IOContext.java +239 -0
  377. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/InputDecorator.java +67 -0
  378. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/JsonStringEncoder.java +408 -0
  379. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/MergedStream.java +145 -0
  380. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/NumberInput.java +303 -0
  381. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/NumberOutput.java +398 -0
  382. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/OutputDecorator.java +40 -0
  383. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/SegmentedStringWriter.java +104 -0
  384. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/SerializedString.java +114 -0
  385. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/UTF32Reader.java +214 -0
  386. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/UTF8Writer.java +387 -0
  387. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/package.html +4 -0
  388. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/AbstractTypeResolver.java +63 -0
  389. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/AnnotationIntrospector.java +1485 -0
  390. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/BeanDescription.java +171 -0
  391. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/BeanProperty.java +123 -0
  392. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/BeanPropertyDefinition.java +66 -0
  393. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ClassIntrospector.java +117 -0
  394. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ContextualDeserializer.java +38 -0
  395. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ContextualKeyDeserializer.java +33 -0
  396. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ContextualSerializer.java +38 -0
  397. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializationConfig.java +926 -0
  398. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializationContext.java +262 -0
  399. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializationProblemHandler.java +56 -0
  400. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializerFactory.java +356 -0
  401. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializerProvider.java +185 -0
  402. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/Deserializers.java +339 -0
  403. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/HandlerInstantiator.java +115 -0
  404. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/InjectableValues.java +85 -0
  405. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonDeserializer.java +166 -0
  406. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonMappingException.java +335 -0
  407. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonSerializable.java +34 -0
  408. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonSerializableWithType.java +22 -0
  409. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonSerializer.java +138 -0
  410. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/KeyDeserializer.java +31 -0
  411. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/KeyDeserializers.java +21 -0
  412. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/MapperConfig.java +1154 -0
  413. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/MappingIterator.java +190 -0
  414. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/MappingJsonFactory.java +81 -0
  415. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/Module.java +255 -0
  416. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ObjectMapper.java +2885 -0
  417. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ObjectReader.java +958 -0
  418. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ObjectWriter.java +554 -0
  419. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/PropertyNamingStrategy.java +258 -0
  420. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ResolvableDeserializer.java +23 -0
  421. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ResolvableSerializer.java +23 -0
  422. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/RuntimeJsonMappingException.java +21 -0
  423. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/SerializationConfig.java +1041 -0
  424. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/SerializerFactory.java +198 -0
  425. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/SerializerProvider.java +552 -0
  426. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/Serializers.java +137 -0
  427. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/TypeDeserializer.java +118 -0
  428. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/TypeSerializer.java +164 -0
  429. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JacksonInject.java +30 -0
  430. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JacksonStdImpl.java +25 -0
  431. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonCachable.java +32 -0
  432. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonDeserialize.java +109 -0
  433. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonFilter.java +31 -0
  434. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonRootName.java +29 -0
  435. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonSerialize.java +216 -0
  436. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonTypeIdResolver.java +35 -0
  437. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonTypeResolver.java +28 -0
  438. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonValueInstantiator.java +26 -0
  439. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonView.java +37 -0
  440. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/NoClass.java +19 -0
  441. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/package-info.java +5 -0
  442. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/AbstractDeserializer.java +102 -0
  443. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ArrayDeserializer.java +28 -0
  444. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ArrayDeserializers.java +11 -0
  445. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BasicDeserializerFactory.java +894 -0
  446. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializer.java +1537 -0
  447. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializerBuilder.java +277 -0
  448. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializerFactory.java +1474 -0
  449. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializerModifier.java +58 -0
  450. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/CollectionDeserializer.java +47 -0
  451. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ContainerDeserializer.java +14 -0
  452. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/CustomDeserializerFactory.java +227 -0
  453. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/DateDeserializer.java +9 -0
  454. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/EnumDeserializer.java +15 -0
  455. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/EnumResolver.java +17 -0
  456. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/FromStringDeserializer.java +13 -0
  457. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/JsonNodeDeserializer.java +54 -0
  458. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/MapDeserializer.java +44 -0
  459. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/SettableAnyProperty.java +177 -0
  460. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/SettableBeanProperty.java +827 -0
  461. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializationContext.java +326 -0
  462. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializer.java +94 -0
  463. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializerProvider.java +494 -0
  464. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializers.java +119 -0
  465. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdKeyDeserializer.java +12 -0
  466. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdKeyDeserializers.java +11 -0
  467. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdScalarDeserializer.java +13 -0
  468. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ThrowableDeserializer.java +13 -0
  469. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/UntypedObjectDeserializer.java +9 -0
  470. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ValueInstantiator.java +280 -0
  471. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ValueInstantiators.java +52 -0
  472. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/BeanPropertyMap.java +257 -0
  473. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/CreatorCollector.java +141 -0
  474. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/CreatorProperty.java +152 -0
  475. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/ExternalTypeHandler.java +173 -0
  476. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/PropertyBasedCreator.java +117 -0
  477. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/PropertyValue.java +117 -0
  478. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/PropertyValueBuffer.java +102 -0
  479. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/UnwrappedPropertyHandler.java +41 -0
  480. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/ValueInjector.java +45 -0
  481. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/package-info.java +9 -0
  482. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/package-info.java +5 -0
  483. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/AtomicBooleanDeserializer.java +22 -0
  484. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/AtomicReferenceDeserializer.java +47 -0
  485. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/CalendarDeserializer.java +47 -0
  486. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ClassDeserializer.java +49 -0
  487. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/CollectionDeserializer.java +265 -0
  488. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ContainerDeserializerBase.java +37 -0
  489. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/DateDeserializer.java +30 -0
  490. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/EnumDeserializer.java +139 -0
  491. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/EnumMapDeserializer.java +90 -0
  492. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/EnumSetDeserializer.java +89 -0
  493. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/FromStringDeserializer.java +265 -0
  494. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/JavaTypeDeserializer.java +38 -0
  495. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/JsonNodeDeserializer.java +314 -0
  496. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/MapDeserializer.java +412 -0
  497. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ObjectArrayDeserializer.java +201 -0
  498. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/PrimitiveArrayDeserializers.java +583 -0
  499. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdDeserializer.java +1136 -0
  500. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdKeyDeserializer.java +340 -0
  501. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdKeyDeserializers.java +108 -0
  502. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdScalarDeserializer.java +34 -0
  503. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdValueInstantiator.java +392 -0
  504. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StringCollectionDeserializer.java +227 -0
  505. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StringDeserializer.java +55 -0
  506. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ThrowableDeserializer.java +164 -0
  507. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/TimestampDeserializer.java +30 -0
  508. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/TokenBufferDeserializer.java +36 -0
  509. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/UntypedObjectDeserializer.java +248 -0
  510. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/package-info.java +15 -0
  511. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/exc/UnrecognizedPropertyException.java +75 -0
  512. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/DOMDeserializer.java +65 -0
  513. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/OptionalHandlerFactory.java +217 -0
  514. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/package-info.java +23 -0
  515. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/Annotated.java +85 -0
  516. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedClass.java +980 -0
  517. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedConstructor.java +143 -0
  518. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedField.java +119 -0
  519. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedMember.java +56 -0
  520. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedMethod.java +188 -0
  521. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedMethodMap.java +85 -0
  522. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedParameter.java +191 -0
  523. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedWithParams.java +195 -0
  524. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotationMap.java +101 -0
  525. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/BasicBeanDescription.java +615 -0
  526. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/BasicClassIntrospector.java +364 -0
  527. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/JacksonAnnotationIntrospector.java +813 -0
  528. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/MemberKey.java +83 -0
  529. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/MethodFilter.java +12 -0
  530. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/NopAnnotationIntrospector.java +209 -0
  531. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/POJOPropertiesCollector.java +713 -0
  532. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/POJOPropertyBuilder.java +648 -0
  533. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/VisibilityChecker.java +424 -0
  534. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/package-info.java +12 -0
  535. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/NamedType.java +53 -0
  536. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/SubtypeResolver.java +39 -0
  537. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/TypeIdResolver.java +74 -0
  538. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/TypeResolverBuilder.java +151 -0
  539. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsArrayTypeDeserializer.java +126 -0
  540. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsArrayTypeSerializer.java +110 -0
  541. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsExternalTypeDeserializer.java +37 -0
  542. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsExternalTypeSerializer.java +129 -0
  543. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsPropertyTypeDeserializer.java +191 -0
  544. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsPropertyTypeSerializer.java +69 -0
  545. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsWrapperTypeDeserializer.java +103 -0
  546. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsWrapperTypeSerializer.java +121 -0
  547. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/ClassNameIdResolver.java +138 -0
  548. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/MinimalClassNameIdResolver.java +66 -0
  549. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/StdSubtypeResolver.java +151 -0
  550. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/StdTypeResolverBuilder.java +202 -0
  551. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeDeserializerBase.java +154 -0
  552. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeIdResolverBase.java +37 -0
  553. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeNameIdResolver.java +154 -0
  554. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeSerializerBase.java +31 -0
  555. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/package-info.java +9 -0
  556. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/package-info.java +10 -0
  557. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleAbstractTypeResolver.java +86 -0
  558. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleDeserializers.java +130 -0
  559. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleKeyDeserializers.java +59 -0
  560. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleModule.java +265 -0
  561. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleSerializers.java +206 -0
  562. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleValueInstantiators.java +45 -0
  563. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/package-info.java +16 -0
  564. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/package-info.java +34 -0
  565. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/AnyGetterWriter.java +48 -0
  566. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ArraySerializers.java +7 -0
  567. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BasicSerializerFactory.java +806 -0
  568. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanPropertyFilter.java +30 -0
  569. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanPropertyWriter.java +512 -0
  570. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializer.java +126 -0
  571. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializerBuilder.java +140 -0
  572. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializerFactory.java +780 -0
  573. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializerModifier.java +95 -0
  574. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ContainerSerializers.java +8 -0
  575. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/CustomSerializerFactory.java +293 -0
  576. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/EnumSerializer.java +17 -0
  577. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/FilterProvider.java +23 -0
  578. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/FilteredBeanPropertyWriter.java +96 -0
  579. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/JdkSerializers.java +11 -0
  580. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/MapSerializer.java +58 -0
  581. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/PropertyBuilder.java +372 -0
  582. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ScalarSerializerBase.java +18 -0
  583. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/SerializerBase.java +23 -0
  584. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/StdKeySerializer.java +10 -0
  585. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/StdSerializerProvider.java +852 -0
  586. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/StdSerializers.java +372 -0
  587. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ToStringSerializer.java +14 -0
  588. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/FailingSerializer.java +43 -0
  589. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/JsonSerializerMap.java +93 -0
  590. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/PropertySerializerMap.java +231 -0
  591. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/ReadOnlyClassToSerializerMap.java +73 -0
  592. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/SerializerCache.java +304 -0
  593. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/SimpleBeanPropertyFilter.java +109 -0
  594. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/SimpleFilterProvider.java +114 -0
  595. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/UnknownSerializer.java +54 -0
  596. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/UnwrappingBeanPropertyWriter.java +99 -0
  597. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/UnwrappingBeanSerializer.java +76 -0
  598. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/package-info.java +5 -0
  599. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/package-info.java +5 -0
  600. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/AsArraySerializerBase.java +185 -0
  601. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/BeanSerializerBase.java +340 -0
  602. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/CalendarSerializer.java +43 -0
  603. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/CollectionSerializer.java +113 -0
  604. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ContainerSerializerBase.java +51 -0
  605. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/DateSerializer.java +42 -0
  606. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/EnumMapSerializer.java +218 -0
  607. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/EnumSerializer.java +84 -0
  608. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/EnumSetSerializer.java +47 -0
  609. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/IndexedStringListSerializer.java +116 -0
  610. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/InetAddressSerializer.java +51 -0
  611. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/IterableSerializer.java +63 -0
  612. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/JsonValueSerializer.java +233 -0
  613. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/MapSerializer.java +422 -0
  614. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/NonTypedScalarSerializerBase.java +34 -0
  615. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/NullSerializer.java +38 -0
  616. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ObjectArraySerializer.java +281 -0
  617. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/RawSerializer.java +52 -0
  618. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ScalarSerializerBase.java +52 -0
  619. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/SerializableSerializer.java +99 -0
  620. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/SerializableWithTypeSerializer.java +90 -0
  621. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/SerializerBase.java +184 -0
  622. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StaticListSerializerBase.java +46 -0
  623. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdArraySerializers.java +476 -0
  624. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdContainerSerializers.java +249 -0
  625. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdJdkSerializers.java +195 -0
  626. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdKeySerializer.java +43 -0
  627. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdKeySerializers.java +95 -0
  628. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StringCollectionSerializer.java +119 -0
  629. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StringSerializer.java +36 -0
  630. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/TimeZoneSerializer.java +38 -0
  631. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ToStringSerializer.java +73 -0
  632. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/TokenBufferSerializer.java +66 -0
  633. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/ArrayType.java +260 -0
  634. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/ClassKey.java +94 -0
  635. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/CollectionLikeType.java +204 -0
  636. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/CollectionType.java +94 -0
  637. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/HierarchicType.java +88 -0
  638. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/MapLikeType.java +265 -0
  639. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/MapType.java +146 -0
  640. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/SimpleType.java +250 -0
  641. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeBase.java +148 -0
  642. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeBindings.java +351 -0
  643. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeFactory.java +1165 -0
  644. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeModifier.java +38 -0
  645. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeParser.java +134 -0
  646. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/package-info.java +10 -0
  647. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Annotations.java +23 -0
  648. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ArrayBuilders.java +293 -0
  649. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/BeanUtil.java +260 -0
  650. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ClassUtil.java +645 -0
  651. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Comparators.java +48 -0
  652. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/EnumResolver.java +108 -0
  653. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/EnumValues.java +82 -0
  654. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ISO8601DateFormat.java +52 -0
  655. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ISO8601Utils.java +230 -0
  656. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/JSONPObject.java +105 -0
  657. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/JSONWrappedObject.java +117 -0
  658. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/LRUMap.java +28 -0
  659. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/LinkedNode.java +45 -0
  660. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Named.java +10 -0
  661. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ObjectBuffer.java +257 -0
  662. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/PrimitiveArrayBuilder.java +180 -0
  663. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Provider.java +21 -0
  664. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/RootNameLookup.java +54 -0
  665. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/StdDateFormat.java +348 -0
  666. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/package-info.java +4 -0
  667. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ArrayNode.java +758 -0
  668. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BaseJsonNode.java +122 -0
  669. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BigIntegerNode.java +104 -0
  670. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BinaryNode.java +136 -0
  671. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BooleanNode.java +84 -0
  672. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ContainerNode.java +185 -0
  673. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/DecimalNode.java +96 -0
  674. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/DoubleNode.java +106 -0
  675. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/IntNode.java +122 -0
  676. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/JsonNodeFactory.java +222 -0
  677. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/LongNode.java +99 -0
  678. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/MissingNode.java +97 -0
  679. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/NodeCursor.java +222 -0
  680. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/NullNode.java +58 -0
  681. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/NumericNode.java +72 -0
  682. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ObjectNode.java +696 -0
  683. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/POJONode.java +145 -0
  684. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/TextNode.java +299 -0
  685. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/TreeTraversingParser.java +383 -0
  686. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ValueNode.java +58 -0
  687. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/package-info.java +8 -0
  688. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/package-info.java +30 -0
  689. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/JsonSchema.java +82 -0
  690. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/JsonSerializableSchema.java +46 -0
  691. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/SchemaAware.java +25 -0
  692. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/package-info.java +5 -0
  693. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/BytesToNameCanonicalizer.java +969 -0
  694. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/CharsToNameCanonicalizer.java +578 -0
  695. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name.java +50 -0
  696. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name1.java +44 -0
  697. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name2.java +40 -0
  698. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name3.java +39 -0
  699. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/NameN.java +68 -0
  700. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/package-info.java +5 -0
  701. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/type/JavaType.java +503 -0
  702. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/type/TypeReference.java +60 -0
  703. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/type/package-info.java +8 -0
  704. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/BufferRecycler.java +109 -0
  705. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/ByteArrayBuilder.java +294 -0
  706. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/CharTypes.java +237 -0
  707. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/DefaultPrettyPrinter.java +282 -0
  708. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/InternCache.java +49 -0
  709. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/JsonGeneratorDelegate.java +273 -0
  710. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/JsonParserDelegate.java +251 -0
  711. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/JsonParserSequence.java +150 -0
  712. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/MinimalPrettyPrinter.java +152 -0
  713. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/TextBuffer.java +707 -0
  714. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/TokenBuffer.java +1233 -0
  715. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/VersionUtil.java +79 -0
  716. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/package-info.java +4 -0
  717. metadata +868 -0
@@ -0,0 +1,1154 @@
1
+ package sh.calaba.org.codehaus.jackson.map;
2
+
3
+ import java.text.DateFormat;
4
+ import java.util.HashMap;
5
+ import java.util.Map;
6
+
7
+ import sh.calaba.org.codehaus.jackson.annotate.JsonAutoDetect;
8
+ import sh.calaba.org.codehaus.jackson.annotate.JsonMethod;
9
+ import sh.calaba.org.codehaus.jackson.map.introspect.Annotated;
10
+ import sh.calaba.org.codehaus.jackson.map.introspect.VisibilityChecker;
11
+ import sh.calaba.org.codehaus.jackson.map.jsontype.SubtypeResolver;
12
+ import sh.calaba.org.codehaus.jackson.map.jsontype.TypeIdResolver;
13
+ import sh.calaba.org.codehaus.jackson.map.jsontype.TypeResolverBuilder;
14
+ import sh.calaba.org.codehaus.jackson.map.jsontype.impl.StdSubtypeResolver;
15
+ import sh.calaba.org.codehaus.jackson.map.type.ClassKey;
16
+ import sh.calaba.org.codehaus.jackson.map.type.TypeBindings;
17
+ import sh.calaba.org.codehaus.jackson.map.type.TypeFactory;
18
+ import sh.calaba.org.codehaus.jackson.map.util.ClassUtil;
19
+ import sh.calaba.org.codehaus.jackson.map.util.StdDateFormat;
20
+ import sh.calaba.org.codehaus.jackson.type.JavaType;
21
+ import sh.calaba.org.codehaus.jackson.type.TypeReference;
22
+
23
+ /**
24
+ * Interface that defines functionality accessible through both
25
+ * serialization and deserialization configuration objects;
26
+ * accessors to mode-independent configuration settings
27
+ * and such.
28
+ *<p>
29
+ * As of version 1.9, the goal is to make this class eventually immutable.
30
+ * Because of this, existing methods that allow changing state of this
31
+ * instance are deprecated in favor of methods that create new instances
32
+ * with different configuration ("fluent factories").
33
+ * One major remaining issue is that of handling mix-in annotations, which
34
+ * still represent a bit of mutable state; may need to implement a
35
+ * functional-style immutable map for storing those.
36
+ *
37
+ * @since 1.2 -- major change in 1.8, changed from interface to
38
+ * abstract class
39
+ */
40
+ public abstract class MapperConfig<T extends MapperConfig<T>>
41
+ implements ClassIntrospector.MixInResolver
42
+ {
43
+ /*
44
+ /**********************************************************
45
+ /* Constants, default values
46
+ /**********************************************************
47
+ */
48
+
49
+ /**
50
+ * This is the default {@link DateFormat} used unless overridden by
51
+ * custom implementation.
52
+ */
53
+ protected final static DateFormat DEFAULT_DATE_FORMAT = StdDateFormat.instance;
54
+
55
+ /*
56
+ /**********************************************************
57
+ /* Simple immutable basic settings
58
+ /**********************************************************
59
+ */
60
+
61
+ /**
62
+ * Immutable container object for simple configuration settings.
63
+ *<p>
64
+ * Note: ideally this would be final, but until we can eliminate
65
+ * mutators, must keep it mutable.
66
+ */
67
+ protected Base _base;
68
+
69
+ /*
70
+ /**********************************************************
71
+ /* Mix-in annotations
72
+ /**********************************************************
73
+ */
74
+
75
+ /**
76
+ * Mapping that defines how to apply mix-in annotations: key is
77
+ * the type to received additional annotations, and value is the
78
+ * type that has annotations to "mix in".
79
+ *<p>
80
+ * Annotations associated with the value classes will be used to
81
+ * override annotations of the key class, associated with the
82
+ * same field or method. They can be further masked by sub-classes:
83
+ * you can think of it as injecting annotations between the target
84
+ * class and its sub-classes (or interfaces)
85
+ *
86
+ * @since 1.2
87
+ */
88
+ protected HashMap<ClassKey,Class<?>> _mixInAnnotations;
89
+
90
+ /**
91
+ * Flag used to detect when a copy if mix-in annotations is
92
+ * needed: set when current copy is shared, cleared when a
93
+ * fresh copy is made
94
+ *
95
+ * @since 1.2
96
+ */
97
+ protected boolean _mixInAnnotationsShared;
98
+
99
+ /*
100
+ /**********************************************************
101
+ /* "Late bound" settings
102
+ /**********************************************************
103
+ */
104
+
105
+ /**
106
+ * Registered concrete subtypes that can be used instead of (or
107
+ * in addition to) ones declared using annotations.
108
+ * Unlike most other settings, it is not configured as early
109
+ * as it is set, but rather only when a non-shared instance
110
+ * is constructed by <code>ObjectMapper</code> (or -Reader
111
+ * or -Writer)
112
+ *<p>
113
+ * Note: this is the only property left as non-final, to allow
114
+ * lazy construction of the instance as necessary.
115
+ *
116
+ * @since 1.6
117
+ */
118
+ protected SubtypeResolver _subtypeResolver;
119
+
120
+ /*
121
+ /**********************************************************
122
+ /* Life-cycle: constructors
123
+ /**********************************************************
124
+ */
125
+
126
+ protected MapperConfig(ClassIntrospector<? extends BeanDescription> ci, AnnotationIntrospector ai,
127
+ VisibilityChecker<?> vc, SubtypeResolver str, PropertyNamingStrategy pns, TypeFactory tf,
128
+ HandlerInstantiator hi)
129
+ {
130
+ _base = new Base(ci, ai, vc, pns, tf, null, DEFAULT_DATE_FORMAT, hi);
131
+ _subtypeResolver = str;
132
+ // by default, assumed to be shared; only cleared when explicit copy is made
133
+ _mixInAnnotationsShared = true;
134
+ }
135
+
136
+ /**
137
+ * Simple copy constructor
138
+ *
139
+ * @since 1.8
140
+ */
141
+ protected MapperConfig(MapperConfig<T> src) {
142
+ this(src, src._base, src._subtypeResolver);
143
+ }
144
+
145
+ /**
146
+ * @since 1.8
147
+ */
148
+ protected MapperConfig(MapperConfig<T> src, MapperConfig.Base base, SubtypeResolver str)
149
+ {
150
+ _base = base;
151
+ _subtypeResolver = str;
152
+ // by default, assumed to be shared; only cleared when explicit copy is made
153
+ _mixInAnnotationsShared = true;
154
+ _mixInAnnotations = src._mixInAnnotations;
155
+ }
156
+
157
+ /*
158
+ /**********************************************************
159
+ /* Life-cycle: factory methods
160
+ /**********************************************************
161
+ */
162
+
163
+ /**
164
+ * Method that checks class annotations that the argument Object has,
165
+ * and modifies settings of this configuration object accordingly,
166
+ * similar to how those annotations would affect actual value classes
167
+ * annotated with them, but with global scope. Note that not all
168
+ * annotations have global significance, and thus only subset of
169
+ * Jackson annotations will have any effect.
170
+ *
171
+ * @deprecated Since 1.9, it is preferably to explicitly configure
172
+ * instances; this method also modifies existing instance which is
173
+ * against immutable design goals of this class.
174
+ */
175
+ @Deprecated
176
+ public abstract void fromAnnotations(Class<?> cls);
177
+
178
+ /**
179
+ * Method to use for constructing an instance that is not shared
180
+ * between multiple operations but only used for a single one
181
+ * (which may be this instance, if it is immutable; if not, a copy
182
+ * is constructed with same settings)
183
+ *
184
+ * @since 1.8
185
+ */
186
+ public abstract T createUnshared(SubtypeResolver subtypeResolver);
187
+
188
+ /**
189
+ * Method for constructing and returning a new instance with different
190
+ * {@link ClassIntrospector}
191
+ * to use.
192
+ *<p>
193
+ * NOTE: make sure to register new instance with <code>ObjectMapper</code>
194
+ * if directly calling this method.
195
+ *
196
+ * @since 1.8
197
+ */
198
+ public abstract T withClassIntrospector(ClassIntrospector<? extends BeanDescription> ci);
199
+
200
+ /**
201
+ * Method for constructing and returning a new instance with different
202
+ * {@link AnnotationIntrospector} to use (replacing old one).
203
+ *<p>
204
+ * NOTE: make sure to register new instance with <code>ObjectMapper</code>
205
+ * if directly calling this method.
206
+ *
207
+ * @since 1.8
208
+ */
209
+ public abstract T withAnnotationIntrospector(AnnotationIntrospector ai);
210
+
211
+ /**
212
+ * Method for constructing and returning a new instance with different
213
+ * {@link VisibilityChecker}
214
+ * to use.
215
+ *<p>
216
+ * NOTE: make sure to register new instance with <code>ObjectMapper</code>
217
+ * if directly calling this method.
218
+ *
219
+ * @since 1.8
220
+ */
221
+ public abstract T withVisibilityChecker(VisibilityChecker<?> vc);
222
+
223
+ /**
224
+ * Method for constructing and returning a new instance with different
225
+ * minimal visibility level for specified property type
226
+ *<p>
227
+ * NOTE: make sure to register new instance with <code>ObjectMapper</code>
228
+ * if directly calling this method.
229
+ *
230
+ * @since 1.9
231
+ */
232
+ public abstract T withVisibility(JsonMethod forMethod, JsonAutoDetect.Visibility visibility);
233
+
234
+ /**
235
+ * Method for constructing and returning a new instance with different
236
+ * {@link TypeResolverBuilder}
237
+ * to use.
238
+ *<p>
239
+ * NOTE: make sure to register new instance with <code>ObjectMapper</code>
240
+ * if directly calling this method.
241
+ *
242
+ * @since 1.8
243
+ */
244
+ public abstract T withTypeResolverBuilder(TypeResolverBuilder<?> trb);
245
+
246
+ /**
247
+ * Method for constructing and returning a new instance with different
248
+ * {@link SubtypeResolver}
249
+ * to use.
250
+ *<p>
251
+ * NOTE: make sure to register new instance with <code>ObjectMapper</code>
252
+ * if directly calling this method.
253
+ *
254
+ * @since 1.8
255
+ */
256
+ public abstract T withSubtypeResolver(SubtypeResolver str);
257
+
258
+ /**
259
+ * Method for constructing and returning a new instance with different
260
+ * {@link PropertyNamingStrategy}
261
+ * to use.
262
+ *<p>
263
+ * NOTE: make sure to register new instance with <code>ObjectMapper</code>
264
+ * if directly calling this method.
265
+ *
266
+ * @since 1.8
267
+ */
268
+ public abstract T withPropertyNamingStrategy(PropertyNamingStrategy strategy);
269
+
270
+ /**
271
+ * Method for constructing and returning a new instance with different
272
+ * {@link TypeFactory}
273
+ * to use.
274
+ *<p>
275
+ * NOTE: make sure to register new instance with <code>ObjectMapper</code>
276
+ * if directly calling this method.
277
+ *
278
+ * @since 1.8
279
+ */
280
+ public abstract T withTypeFactory(TypeFactory typeFactory);
281
+
282
+ /**
283
+ * Method for constructing and returning a new instance with different
284
+ * {@link DateFormat}
285
+ * to use.
286
+ *<p>
287
+ * NOTE: make sure to register new instance with <code>ObjectMapper</code>
288
+ * if directly calling this method.
289
+ *
290
+ * @since 1.8
291
+ */
292
+ public abstract T withDateFormat(DateFormat df);
293
+
294
+ /**
295
+ * Method for constructing and returning a new instance with different
296
+ * {@link HandlerInstantiator}
297
+ * to use.
298
+ *<p>
299
+ * NOTE: make sure to register new instance with <code>ObjectMapper</code>
300
+ * if directly calling this method.
301
+ *
302
+ * @since 1.8
303
+ */
304
+ public abstract T withHandlerInstantiator(HandlerInstantiator hi);
305
+
306
+ /**
307
+ * Method for constructing and returning a new instance with additional
308
+ * {@link AnnotationIntrospector} inserted (as the highest priority one)
309
+ *
310
+ * @since 1.9
311
+ */
312
+ public abstract T withInsertedAnnotationIntrospector(AnnotationIntrospector introspector);
313
+
314
+ /**
315
+ * Method for constructing and returning a new instance with additional
316
+ * {@link AnnotationIntrospector} appended (as the lowest priority one)
317
+ *
318
+ * @since 1.9
319
+ */
320
+ public abstract T withAppendedAnnotationIntrospector(AnnotationIntrospector introspector);
321
+
322
+ /*
323
+ /**********************************************************
324
+ /* Configuration: simple features
325
+ /**********************************************************
326
+ */
327
+
328
+ /**
329
+ * Method for checking whether given feature is enabled or not
330
+ */
331
+ public abstract boolean isEnabled(ConfigFeature f);
332
+
333
+ /**
334
+ * Method for determining whether annotation processing is enabled or not
335
+ * (default settings are typically that it is enabled; must explicitly disable).
336
+ *
337
+ * @return True if annotation processing is enabled; false if not
338
+ *
339
+ * @since 1.8
340
+ */
341
+ public abstract boolean isAnnotationProcessingEnabled();
342
+
343
+ /**
344
+ * Accessor for determining whether it is ok to try to force override of access
345
+ * modifiers to be able to get or set values of non-public Methods, Fields;
346
+ * to invoke non-public Constructors, Methods; or to instantiate non-public
347
+ * Classes. By default this is enabled, but on some platforms it needs to be
348
+ * prevented since if this would violate security constraints and cause failures.
349
+ *
350
+ * @return True if access modifier overriding is allowed (and may be done for
351
+ * any Field, Method, Constructor or Class); false to prevent any attempts
352
+ * to override.
353
+ *
354
+ * @since 1.8
355
+ */
356
+ public abstract boolean canOverrideAccessModifiers();
357
+
358
+ /**
359
+ * Accessor for checking whether default settings for property handling
360
+ * indicate that properties should be alphabetically ordered or not.
361
+ *
362
+ * @since 1.9
363
+ */
364
+ public abstract boolean shouldSortPropertiesAlphabetically();
365
+
366
+ /*
367
+ /**********************************************************
368
+ /* Configuration: introspectors, mix-ins
369
+ /**********************************************************
370
+ */
371
+
372
+ public ClassIntrospector<? extends BeanDescription> getClassIntrospector() {
373
+ return _base.getClassIntrospector();
374
+ }
375
+
376
+ /**
377
+ * Method for getting {@link AnnotationIntrospector} configured
378
+ * to introspect annotation values used for configuration.
379
+ *<p>
380
+ * Non-final since it is actually overridden by sub-classes (for now?)
381
+ */
382
+ public AnnotationIntrospector getAnnotationIntrospector() {
383
+ return _base.getAnnotationIntrospector();
384
+ }
385
+
386
+ /**
387
+ * Method for registering specified {@link AnnotationIntrospector} as the highest
388
+ * priority introspector (will be chained with existing introspector(s) which
389
+ * will be used as fallbacks for cases this introspector does not handle)
390
+ *
391
+ * @param introspector Annotation introspector to register.
392
+ *
393
+ * @since 1.7
394
+ *
395
+ * @deprecated Since 1.9 use {@link #withInsertedAnnotationIntrospector(AnnotationIntrospector)} instead;
396
+ * this method is deprecated as it changes state, preventing immutability of instances
397
+ */
398
+ @Deprecated
399
+ public final void insertAnnotationIntrospector(AnnotationIntrospector introspector) {
400
+ _base = _base.withAnnotationIntrospector(AnnotationIntrospector.Pair.create(introspector,
401
+ getAnnotationIntrospector()));
402
+ }
403
+
404
+ /**
405
+ * Method for registering specified {@link AnnotationIntrospector} as the lowest
406
+ * priority introspector, chained with existing introspector(s) and called
407
+ * as fallback for cases not otherwise handled.
408
+ *
409
+ * @param introspector Annotation introspector to register.
410
+ *
411
+ * @since 1.7
412
+ *
413
+ * @deprecated Since 1.9 use {@link #withAppendedAnnotationIntrospector(AnnotationIntrospector)} instead;
414
+ * this method is deprecated as it changes state, preventing immutability of instances
415
+ */
416
+ @Deprecated
417
+ public final void appendAnnotationIntrospector(AnnotationIntrospector introspector) {
418
+ _base = _base.withAnnotationIntrospector(AnnotationIntrospector.Pair.create(getAnnotationIntrospector(),
419
+ introspector));
420
+ }
421
+
422
+ /**
423
+ * Accessor for object used for determining whether specific property elements
424
+ * (method, constructors, fields) can be auto-detected based on
425
+ * their visibility (access modifiers). Can be changed to allow
426
+ * different minimum visibility levels for auto-detection. Note
427
+ * that this is the global handler; individual types (classes)
428
+ * can further override active checker used (using
429
+ * {@link JsonAutoDetect} annotation)
430
+ *
431
+ * @since 1.5
432
+ */
433
+ public VisibilityChecker<?> getDefaultVisibilityChecker() {
434
+ return _base.getVisibilityChecker();
435
+ }
436
+
437
+ /**
438
+ * @since 1.8
439
+ */
440
+ public final PropertyNamingStrategy getPropertyNamingStrategy() {
441
+ return _base.getPropertyNamingStrategy();
442
+ }
443
+
444
+ /**
445
+ * @since 1.8
446
+ */
447
+ public final HandlerInstantiator getHandlerInstantiator() {
448
+ return _base.getHandlerInstantiator();
449
+ }
450
+
451
+ /*
452
+ /**********************************************************
453
+ /* Configuration: mix-in annotations
454
+ /**********************************************************
455
+ */
456
+
457
+ /**
458
+ * Method to use for defining mix-in annotations to use for augmenting
459
+ * annotations that processable (serializable / deserializable)
460
+ * classes have.
461
+ * Mixing in is done when introspecting class annotations and properties.
462
+ * Map passed contains keys that are target classes (ones to augment
463
+ * with new annotation overrides), and values that are source classes
464
+ * (have annotations to use for augmentation).
465
+ * Annotations from source classes (and their supertypes)
466
+ * will <b>override</b>
467
+ * annotations that target classes (and their super-types) have.
468
+ *
469
+ * @since 1.2
470
+ */
471
+ public final void setMixInAnnotations(Map<Class<?>, Class<?>> sourceMixins)
472
+ {
473
+ HashMap<ClassKey,Class<?>> mixins = null;
474
+ if (sourceMixins != null && sourceMixins.size() > 0) {
475
+ mixins = new HashMap<ClassKey,Class<?>>(sourceMixins.size());
476
+ for (Map.Entry<Class<?>,Class<?>> en : sourceMixins.entrySet()) {
477
+ mixins.put(new ClassKey(en.getKey()), en.getValue());
478
+ }
479
+ }
480
+ _mixInAnnotationsShared = false;
481
+ _mixInAnnotations = mixins;
482
+ }
483
+
484
+ /**
485
+ * Method to use for adding mix-in annotations to use for augmenting
486
+ * specified class or interface. All annotations from
487
+ * <code>mixinSource</code> are taken to override annotations
488
+ * that <code>target</code> (or its supertypes) has.
489
+ *
490
+ * @since 1.2
491
+ *
492
+ * @param target Class (or interface) whose annotations to effectively override
493
+ * @param mixinSource Class (or interface) whose annotations are to
494
+ * be "added" to target's annotations, overriding as necessary
495
+ */
496
+ public final void addMixInAnnotations(Class<?> target, Class<?> mixinSource)
497
+ {
498
+ if (_mixInAnnotations == null) {
499
+ _mixInAnnotationsShared = false;
500
+ _mixInAnnotations = new HashMap<ClassKey,Class<?>>();
501
+ } else if (_mixInAnnotationsShared) {
502
+ _mixInAnnotationsShared = false;
503
+ _mixInAnnotations = new HashMap<ClassKey,Class<?>>(_mixInAnnotations);
504
+ }
505
+ _mixInAnnotations.put(new ClassKey(target), mixinSource);
506
+ }
507
+
508
+ // ClassIntrospector.MixInResolver impl:
509
+
510
+ /**
511
+ * Method that will check if there are "mix-in" classes (with mix-in
512
+ * annotations) for given class
513
+ *
514
+ * @since 1.2
515
+ */
516
+ @Override
517
+ public final Class<?> findMixInClassFor(Class<?> cls) {
518
+ return (_mixInAnnotations == null) ? null : _mixInAnnotations.get(new ClassKey(cls));
519
+ }
520
+
521
+ /**
522
+ * @since 1.8.1
523
+ */
524
+ public final int mixInCount() {
525
+ return (_mixInAnnotations == null) ? 0 : _mixInAnnotations.size();
526
+ }
527
+
528
+ /*
529
+ /**********************************************************
530
+ /* Configuration: type and subtype handling
531
+ /**********************************************************
532
+ */
533
+
534
+ /**
535
+ * Method called to locate a type info handler for types that do not have
536
+ * one explicitly declared via annotations (or other configuration).
537
+ * If such default handler is configured, it is returned; otherwise
538
+ * null is returned.
539
+ *
540
+ * @since 1.5
541
+ */
542
+ public final TypeResolverBuilder<?> getDefaultTyper(JavaType baseType) {
543
+ return _base.getTypeResolverBuilder();
544
+ }
545
+
546
+ /**
547
+ * Accessor for object used for finding out all reachable subtypes
548
+ * for supertypes; needed when a logical type name is used instead
549
+ * of class name (or custom scheme).
550
+ *
551
+ * @since 1.6
552
+ */
553
+ public final SubtypeResolver getSubtypeResolver() {
554
+ if (_subtypeResolver == null) {
555
+ _subtypeResolver = new StdSubtypeResolver();
556
+ }
557
+ return _subtypeResolver;
558
+ }
559
+
560
+ /**
561
+ * @since 1.8
562
+ */
563
+ public final TypeFactory getTypeFactory() {
564
+ return _base.getTypeFactory();
565
+ }
566
+
567
+ /**
568
+ * Helper method that will construct {@link JavaType} for given
569
+ * raw class.
570
+ * This is a simple short-cut for:
571
+ *<pre>
572
+ * getTypeFactory().constructType(cls);
573
+ *</pre>
574
+ *
575
+ * @since 1.8
576
+ */
577
+ public final JavaType constructType(Class<?> cls) {
578
+ return getTypeFactory().constructType(cls, (TypeBindings) null);
579
+ }
580
+
581
+ /**
582
+ * Helper method that will construct {@link JavaType} for given
583
+ * type reference
584
+ * This is a simple short-cut for:
585
+ *<pre>
586
+ * getTypeFactory().constructType(valueTypeRef);
587
+ *</pre>
588
+ *
589
+ * @since 1.9
590
+ */
591
+ public final JavaType constructType(TypeReference<?> valueTypeRef) {
592
+ return getTypeFactory().constructType(valueTypeRef.getType(), (TypeBindings) null);
593
+ }
594
+
595
+ /**
596
+ * @since 1.9.1
597
+ */
598
+ public JavaType constructSpecializedType(JavaType baseType, Class<?> subclass) {
599
+ return getTypeFactory().constructSpecializedType(baseType, subclass);
600
+ }
601
+
602
+ /*
603
+ /**********************************************************
604
+ /* Configuration: other
605
+ /**********************************************************
606
+ */
607
+
608
+ /**
609
+ * Method for accessing currently configured (textual) date format
610
+ * that will be used for reading or writing date values (in case
611
+ * of writing, only if textual output is configured; not if dates
612
+ * are to be serialized as time stamps).
613
+ *<p>
614
+ * Note that typically {@link DateFormat} instances are <b>not thread-safe</b>
615
+ * (at least ones provided by JDK):
616
+ * this means that calling code should clone format instance before
617
+ * using it.
618
+ *<p>
619
+ * This method is usually only called by framework itself, since there
620
+ * are convenience methods available via
621
+ * {@link DeserializationContext} and {@link SerializerProvider} that
622
+ * take care of cloning and thread-safe reuse.
623
+ */
624
+ public final DateFormat getDateFormat() { return _base.getDateFormat(); }
625
+
626
+ /**
627
+ * Accessor for getting bean description that only contains class
628
+ * annotations: useful if no getter/setter/creator information is needed.
629
+ *
630
+ * @since 1.7
631
+ */
632
+ @SuppressWarnings("unchecked")
633
+ public <DESC extends BeanDescription> DESC introspectClassAnnotations(Class<?> cls) {
634
+ return (DESC) introspectClassAnnotations(constructType(cls));
635
+ }
636
+
637
+ /**
638
+ * Accessor for getting bean description that only contains class
639
+ * annotations: useful if no getter/setter/creator information is needed.
640
+ *
641
+ * @since 1.9
642
+ */
643
+ public abstract <DESC extends BeanDescription> DESC introspectClassAnnotations(JavaType type);
644
+
645
+ /**
646
+ * Accessor for getting bean description that only contains immediate class
647
+ * annotations: ones from the class, and its direct mix-in, if any, but
648
+ * not from super types.
649
+ *
650
+ * @since 1.7
651
+ */
652
+ @SuppressWarnings("unchecked")
653
+ public <DESC extends BeanDescription> DESC introspectDirectClassAnnotations(Class<?> cls) {
654
+ return (DESC) introspectDirectClassAnnotations(constructType(cls));
655
+ }
656
+ /**
657
+ * Accessor for getting bean description that only contains immediate class
658
+ * annotations: ones from the class, and its direct mix-in, if any, but
659
+ * not from super types.
660
+ */
661
+ public abstract <DESC extends BeanDescription> DESC introspectDirectClassAnnotations(JavaType type);
662
+
663
+ /*
664
+ /**********************************************************
665
+ /* Methods for instantiating handlers
666
+ /**********************************************************
667
+ */
668
+
669
+ /**
670
+ * Method that can be called to obtain an instance of <code>TypeIdResolver</code> of
671
+ * specified type.
672
+ *
673
+ * @since 1.8
674
+ */
675
+ public TypeResolverBuilder<?> typeResolverBuilderInstance(Annotated annotated,
676
+ Class<? extends TypeResolverBuilder<?>> builderClass)
677
+ {
678
+ HandlerInstantiator hi = getHandlerInstantiator();
679
+ if (hi != null) {
680
+ TypeResolverBuilder<?> builder = hi.typeResolverBuilderInstance(this, annotated, builderClass);
681
+ if (builder != null) {
682
+ return builder;
683
+ }
684
+ }
685
+ return (TypeResolverBuilder<?>) ClassUtil.createInstance(builderClass, canOverrideAccessModifiers());
686
+ }
687
+
688
+ /**
689
+ * Method that can be called to obtain an instance of <code>TypeIdResolver</code> of
690
+ * specified type.
691
+ *
692
+ * @since 1.8
693
+ */
694
+ public TypeIdResolver typeIdResolverInstance(Annotated annotated,
695
+ Class<? extends TypeIdResolver> resolverClass)
696
+ {
697
+ HandlerInstantiator hi = getHandlerInstantiator();
698
+ if (hi != null) {
699
+ TypeIdResolver builder = hi.typeIdResolverInstance(this, annotated, resolverClass);
700
+ if (builder != null) {
701
+ return builder;
702
+ }
703
+ }
704
+ return (TypeIdResolver) ClassUtil.createInstance(resolverClass, canOverrideAccessModifiers());
705
+ }
706
+
707
+ /*
708
+ /**********************************************************
709
+ /* Deprecated methods
710
+ /**********************************************************
711
+ */
712
+
713
+ /**
714
+ * Method for replacing existing annotation introspector(s) with specified
715
+ * introspector.
716
+ * Since this method modifies state of configuration object directly, its use
717
+ * is not recommended.
718
+ *
719
+ * @deprecated Since 1.8, use either
720
+ * {@link #withAnnotationIntrospector(AnnotationIntrospector)} or
721
+ * Module API instead
722
+ */
723
+ @Deprecated
724
+ public final void setAnnotationIntrospector(AnnotationIntrospector ai) {
725
+ _base = _base.withAnnotationIntrospector(ai);
726
+ }
727
+
728
+ /**
729
+ * Method that will define specific date format to use for reading/writing
730
+ * Date and Calendar values.
731
+ * If null is passed, will use {@link StdDateFormat}.
732
+ * Instance is used as is, without creating a clone.
733
+ * Format object in use can be accessed using {@link #getDateFormat}.
734
+ *
735
+ * @param df Date format to use, if not null; if null, the default format
736
+ * will be used
737
+ *
738
+ * @deprecated As of version 1.8, it is preferable to call method in
739
+ * {@link ObjectMapper} instead; or construct new instance with
740
+ * {@link #withDateFormat(DateFormat)}
741
+ */
742
+ @Deprecated
743
+ public void setDateFormat(DateFormat df) {
744
+ if (df == null) {
745
+ df = DEFAULT_DATE_FORMAT;
746
+ }
747
+ _base = _base.withDateFormat(df);
748
+ }
749
+
750
+ /*
751
+ /**********************************************************
752
+ /* Helper interface used with simple on/off features
753
+ /**********************************************************
754
+ */
755
+
756
+ /**
757
+ * Interface that actual Feature enumerations used by
758
+ * {@link MapperConfig} implementations must implement.
759
+ * Necessary since enums can not be extended using normal
760
+ * inheritance, but can implement interfaces
761
+ *
762
+ * @since 1.9
763
+ */
764
+ public interface ConfigFeature
765
+ {
766
+ /**
767
+ * Accessor for checking whether this feature is enabled by default.
768
+ */
769
+ public boolean enabledByDefault();
770
+
771
+ /**
772
+ * Returns bit mask for this feature instance
773
+ */
774
+ public int getMask();
775
+ }
776
+
777
+ /*
778
+ /**********************************************************
779
+ /* Helper class to contain basic state needed to implement
780
+ /* MapperConfig.
781
+ /**********************************************************
782
+ */
783
+
784
+ /**
785
+ * Immutable container class used to store simple configuration
786
+ * settings. Since instances are fully immutable, instances can
787
+ * be freely shared and used without synchronization.
788
+ */
789
+ public static class Base
790
+ {
791
+ /*
792
+ /**********************************************************
793
+ /* Configuration settings; introspection, related
794
+ /**********************************************************
795
+ */
796
+
797
+ /**
798
+ * Introspector used to figure out Bean properties needed for bean serialization
799
+ * and deserialization. Overridable so that it is possible to change low-level
800
+ * details of introspection, like adding new annotation types.
801
+ */
802
+ protected final ClassIntrospector<? extends BeanDescription> _classIntrospector;
803
+
804
+ /**
805
+ * Introspector used for accessing annotation value based configuration.
806
+ */
807
+ protected final AnnotationIntrospector _annotationIntrospector;
808
+
809
+ /**
810
+ * Object used for determining whether specific property elements
811
+ * (method, constructors, fields) can be auto-detected based on
812
+ * their visibility (access modifiers). Can be changed to allow
813
+ * different minimum visibility levels for auto-detection. Note
814
+ * that this is the global handler; individual types (classes)
815
+ * can further override active checker used (using
816
+ * {@link JsonAutoDetect} annotation)
817
+ *
818
+ * @since 1.5
819
+ */
820
+ protected final VisibilityChecker<?> _visibilityChecker;
821
+
822
+ /**
823
+ * Custom property naming strategy in use, if any.
824
+ *
825
+ * @since 1.8
826
+ */
827
+ protected final PropertyNamingStrategy _propertyNamingStrategy;
828
+
829
+ /**
830
+ * Specific factory used for creating {@link JavaType} instances;
831
+ * needed to allow modules to add more custom type handling
832
+ * (mostly to support types of non-Java JVM languages)
833
+ */
834
+ protected final TypeFactory _typeFactory;
835
+
836
+ /*
837
+ /**********************************************************
838
+ /* Configuration settings; type resolution
839
+ /**********************************************************
840
+ */
841
+
842
+ /**
843
+ * Type information handler used for "untyped" values (ones declared
844
+ * to have type <code>Object.class</code>)
845
+ *
846
+ * @since 1.5
847
+ */
848
+ protected final TypeResolverBuilder<?> _typeResolverBuilder;
849
+
850
+ /*
851
+ /**********************************************************
852
+ /* Configuration settings; other
853
+ /**********************************************************
854
+ */
855
+
856
+ /**
857
+ * Custom date format to use for de-serialization. If specified, will be
858
+ * used instead of {@link sh.calaba.org.codehaus.jackson.map.util.StdDateFormat}.
859
+ *<p>
860
+ * Note that the configured format object will be cloned once per
861
+ * deserialization process (first time it is needed)
862
+ */
863
+ protected final DateFormat _dateFormat;
864
+
865
+ /**
866
+ * Object used for creating instances of handlers (serializers, deserializers,
867
+ * type and type id resolvers), given class to instantiate. This is typically
868
+ * used to do additional configuration (with dependency injection, for example)
869
+ * beyond simply construction of instances; or to use alternative constructors.
870
+ */
871
+ protected final HandlerInstantiator _handlerInstantiator;
872
+
873
+ /*
874
+ /**********************************************************
875
+ /* Construction
876
+ /**********************************************************
877
+ */
878
+
879
+ public Base(ClassIntrospector<? extends BeanDescription> ci, AnnotationIntrospector ai,
880
+ VisibilityChecker<?> vc, PropertyNamingStrategy pns, TypeFactory tf,
881
+ TypeResolverBuilder<?> typer, DateFormat dateFormat, HandlerInstantiator hi)
882
+ {
883
+ _classIntrospector = ci;
884
+ _annotationIntrospector = ai;
885
+ _visibilityChecker = vc;
886
+ _propertyNamingStrategy = pns;
887
+ _typeFactory = tf;
888
+ _typeResolverBuilder = typer;
889
+ _dateFormat = dateFormat;
890
+ _handlerInstantiator = hi;
891
+ }
892
+
893
+ /*
894
+ /**********************************************************
895
+ /* Factory methods
896
+ /**********************************************************
897
+ */
898
+
899
+ public Base withClassIntrospector(ClassIntrospector<? extends BeanDescription> ci) {
900
+ return new Base(ci, _annotationIntrospector, _visibilityChecker, _propertyNamingStrategy, _typeFactory,
901
+ _typeResolverBuilder, _dateFormat, _handlerInstantiator);
902
+ }
903
+
904
+ public Base withAnnotationIntrospector(AnnotationIntrospector ai) {
905
+ return new Base(_classIntrospector, ai, _visibilityChecker, _propertyNamingStrategy, _typeFactory,
906
+ _typeResolverBuilder, _dateFormat, _handlerInstantiator);
907
+ }
908
+
909
+ public Base withInsertedAnnotationIntrospector(AnnotationIntrospector ai) {
910
+ return withAnnotationIntrospector(AnnotationIntrospector.Pair.create(ai, _annotationIntrospector));
911
+ }
912
+
913
+ public Base withAppendedAnnotationIntrospector(AnnotationIntrospector ai) {
914
+ return withAnnotationIntrospector(AnnotationIntrospector.Pair.create(_annotationIntrospector, ai));
915
+ }
916
+
917
+ public Base withVisibilityChecker(VisibilityChecker<?> vc) {
918
+ return new Base(_classIntrospector, _annotationIntrospector, vc, _propertyNamingStrategy, _typeFactory,
919
+ _typeResolverBuilder, _dateFormat, _handlerInstantiator);
920
+ }
921
+
922
+ public Base withVisibility(JsonMethod forMethod, JsonAutoDetect.Visibility visibility) {
923
+ return new Base(_classIntrospector, _annotationIntrospector,
924
+ _visibilityChecker.withVisibility(forMethod, visibility),
925
+ _propertyNamingStrategy, _typeFactory,
926
+ _typeResolverBuilder, _dateFormat, _handlerInstantiator);
927
+ }
928
+
929
+ public Base withPropertyNamingStrategy(PropertyNamingStrategy pns) {
930
+ return new Base(_classIntrospector, _annotationIntrospector, _visibilityChecker, pns, _typeFactory,
931
+ _typeResolverBuilder, _dateFormat, _handlerInstantiator);
932
+ }
933
+
934
+ public Base withTypeFactory(TypeFactory tf) {
935
+ return new Base(_classIntrospector, _annotationIntrospector, _visibilityChecker, _propertyNamingStrategy, tf,
936
+ _typeResolverBuilder, _dateFormat, _handlerInstantiator);
937
+ }
938
+
939
+ public Base withTypeResolverBuilder(TypeResolverBuilder<?> typer) {
940
+ return new Base(_classIntrospector, _annotationIntrospector, _visibilityChecker, _propertyNamingStrategy, _typeFactory,
941
+ typer, _dateFormat, _handlerInstantiator);
942
+ }
943
+
944
+ public Base withDateFormat(DateFormat df) {
945
+ return new Base(_classIntrospector, _annotationIntrospector, _visibilityChecker, _propertyNamingStrategy, _typeFactory,
946
+ _typeResolverBuilder, df, _handlerInstantiator);
947
+ }
948
+
949
+ public Base withHandlerInstantiator(HandlerInstantiator hi) {
950
+ return new Base(_classIntrospector, _annotationIntrospector, _visibilityChecker, _propertyNamingStrategy, _typeFactory,
951
+ _typeResolverBuilder, _dateFormat, hi);
952
+ }
953
+
954
+ /*
955
+ /**********************************************************
956
+ /* API
957
+ /**********************************************************
958
+ */
959
+
960
+ public ClassIntrospector<? extends BeanDescription> getClassIntrospector() {
961
+ return _classIntrospector;
962
+ }
963
+
964
+ public AnnotationIntrospector getAnnotationIntrospector() {
965
+ return _annotationIntrospector;
966
+ }
967
+
968
+
969
+ public VisibilityChecker<?> getVisibilityChecker() {
970
+ return _visibilityChecker;
971
+ }
972
+
973
+ public PropertyNamingStrategy getPropertyNamingStrategy() {
974
+ return _propertyNamingStrategy;
975
+ }
976
+
977
+ public TypeFactory getTypeFactory() {
978
+ return _typeFactory;
979
+ }
980
+
981
+ public TypeResolverBuilder<?> getTypeResolverBuilder() {
982
+ return _typeResolverBuilder;
983
+ }
984
+
985
+ public DateFormat getDateFormat() {
986
+ return _dateFormat;
987
+ }
988
+
989
+ public HandlerInstantiator getHandlerInstantiator() {
990
+ return _handlerInstantiator;
991
+ }
992
+ }
993
+
994
+ /*
995
+ /**********************************************************
996
+ /* Basic extension; added to avoid having to change generic
997
+ /* signature of MapperConfig
998
+ /*
999
+ /* NOTE: May be merge in MapperConfig for 2.0, depending
1000
+ /* on how much we value backwards compatibility
1001
+ /**********************************************************
1002
+ */
1003
+
1004
+ static abstract class Impl<CFG extends MapperConfig.ConfigFeature,
1005
+ T extends Impl<CFG,T>>
1006
+ extends MapperConfig<T>
1007
+ {
1008
+ /**
1009
+ *<p>
1010
+ * Note: moved to base class in 1.9; was stored by sub-class earlier
1011
+ */
1012
+ protected int _featureFlags;
1013
+
1014
+ /*
1015
+ /**********************************************************
1016
+ /* Construction
1017
+ /**********************************************************
1018
+ */
1019
+
1020
+ protected Impl(ClassIntrospector<? extends BeanDescription> ci, AnnotationIntrospector ai,
1021
+ VisibilityChecker<?> vc, SubtypeResolver str, PropertyNamingStrategy pns, TypeFactory tf,
1022
+ HandlerInstantiator hi,
1023
+ int defaultFeatures)
1024
+ {
1025
+ super(ci, ai, vc, str, pns, tf, hi);
1026
+ _featureFlags = defaultFeatures;
1027
+ }
1028
+
1029
+ protected Impl(Impl<CFG,T> src) {
1030
+ super(src);
1031
+ _featureFlags = src._featureFlags;
1032
+ }
1033
+
1034
+ protected Impl(Impl<CFG,T> src, int features) {
1035
+ super(src);
1036
+ _featureFlags = features;
1037
+ }
1038
+
1039
+ /**
1040
+ * @since 1.8
1041
+ */
1042
+ protected Impl(Impl<CFG,T> src, MapperConfig.Base base, SubtypeResolver str)
1043
+ {
1044
+ super(src, base, str);
1045
+ _featureFlags = src._featureFlags;
1046
+ }
1047
+
1048
+ /**
1049
+ * Method that calculates bit set (flags) of all features that
1050
+ * are enabled by default.
1051
+ */
1052
+ static <F extends Enum<F> & MapperConfig.ConfigFeature> int collectFeatureDefaults(Class<F> enumClass)
1053
+ {
1054
+ int flags = 0;
1055
+ for (F value : enumClass.getEnumConstants()) {
1056
+ if (value.enabledByDefault()) {
1057
+ flags |= value.getMask();
1058
+ }
1059
+ }
1060
+ return flags;
1061
+ }
1062
+
1063
+ /*
1064
+ /**********************************************************
1065
+ /* Additional fluent-factory methods
1066
+ /**********************************************************
1067
+ */
1068
+
1069
+ /**
1070
+ * Fluent factory method that will construct and return a new configuration
1071
+ * object instance with specified features enabled.
1072
+ *
1073
+ * @since 1.9
1074
+ */
1075
+ public abstract T with(CFG... features);
1076
+
1077
+ /**
1078
+ * Fluent factory method that will construct and return a new configuration
1079
+ * object instance with specified features disabled.
1080
+ *
1081
+ * @since 1.9
1082
+ */
1083
+ public abstract T without(CFG... features);
1084
+
1085
+ /*
1086
+ /**********************************************************
1087
+ /* Configuration: simple features
1088
+ /**********************************************************
1089
+ */
1090
+
1091
+ /* NOTE: this method was added in 1.9, but should be
1092
+ * removed from 2.0 -- overloads do not work nicely with
1093
+ * enums, so we better not try
1094
+ *<p>
1095
+ * Also note that we can NOT use type variable CFG here, because
1096
+ * non-generic base class had to use base type.
1097
+ *
1098
+ * @Deprecated
1099
+ */
1100
+ @Override
1101
+ public boolean isEnabled(MapperConfig.ConfigFeature f) {
1102
+ return (_featureFlags & f.getMask()) != 0;
1103
+ }
1104
+
1105
+ /*
1106
+ /**********************************************************
1107
+ /* Configuration: deprecated methods
1108
+ /**********************************************************
1109
+ */
1110
+
1111
+ /**
1112
+ * Method for enabling specified feature.
1113
+ *
1114
+ * @deprecated Since 1.9, it is preferable to use {@link #with} instead;
1115
+ * this method is deprecated as it modifies current instance instead of
1116
+ * creating a new one (as the goal is to make this class immutable)
1117
+ */
1118
+ @Deprecated
1119
+ public void enable(CFG f) {
1120
+ _featureFlags |= f.getMask();
1121
+ }
1122
+
1123
+ /**
1124
+ * Method for disabling specified feature.
1125
+ *
1126
+ * @deprecated Since 1.9, it is preferable to use {@link #without} instead;
1127
+ * this method is deprecated as it modifies current instance instead of
1128
+ * creating a new one (as the goal is to make this class immutable)
1129
+ */
1130
+ @Deprecated
1131
+ public void disable(CFG f) {
1132
+ _featureFlags &= ~f.getMask();
1133
+ }
1134
+
1135
+ /**
1136
+ * Method for enabling or disabling specified feature.
1137
+ *
1138
+ * @deprecated Since 1.9, it is preferable to use {@link #with} and
1139
+ * {@link #without} methods instead;
1140
+ * this method is deprecated as it modifies current instance instead of
1141
+ * creating a new one (as the goal is to make this class immutable)
1142
+ */
1143
+ @SuppressWarnings("deprecation")
1144
+ @Deprecated
1145
+ public void set(CFG f, boolean state)
1146
+ {
1147
+ if (state) {
1148
+ enable(f);
1149
+ } else {
1150
+ disable(f);
1151
+ }
1152
+ }
1153
+ }
1154
+ }