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,1434 @@
1
+ /* Jackson JSON-processor.
2
+ *
3
+ * Copyright (c) 2007- Tatu Saloranta, tatu.saloranta@iki.fi
4
+ *
5
+ * Licensed under the License specified in file LICENSE, included with
6
+ * the source code and binary code bundles.
7
+ * You may not use this file except in compliance with the License.
8
+ *
9
+ * Unless required by applicable law or agreed to in writing, software
10
+ * distributed under the License is distributed on an "AS IS" BASIS,
11
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ * See the License for the specific language governing permissions and
13
+ * limitations under the License.
14
+ */
15
+
16
+ package sh.calaba.org.codehaus.jackson;
17
+
18
+ import java.io.*;
19
+ import java.math.BigDecimal;
20
+ import java.math.BigInteger;
21
+ import java.util.Iterator;
22
+
23
+ import sh.calaba.org.codehaus.jackson.type.TypeReference;
24
+
25
+ /**
26
+ * Base class that defines public API for reading JSON content.
27
+ * Instances are created using factory methods of
28
+ * a {@link JsonFactory} instance.
29
+ *
30
+ * @author Tatu Saloranta
31
+ */
32
+ public abstract class JsonParser
33
+ implements Closeable, Versioned
34
+ {
35
+ private final static int MIN_BYTE_I = (int) Byte.MIN_VALUE;
36
+ private final static int MAX_BYTE_I = (int) Byte.MAX_VALUE;
37
+
38
+ private final static int MIN_SHORT_I = (int) Short.MIN_VALUE;
39
+ private final static int MAX_SHORT_I = (int) Short.MAX_VALUE;
40
+
41
+ /**
42
+ * Enumeration of possible "native" (optimal) types that can be
43
+ * used for numbers.
44
+ */
45
+ public enum NumberType {
46
+ INT, LONG, BIG_INTEGER, FLOAT, DOUBLE, BIG_DECIMAL
47
+ };
48
+
49
+ /**
50
+ * Enumeration that defines all togglable features for parsers.
51
+ */
52
+ public enum Feature {
53
+
54
+ // // // Low-level I/O handling features:
55
+
56
+ /**
57
+ * Feature that determines whether parser will automatically
58
+ * close underlying input source that is NOT owned by the
59
+ * parser. If disabled, calling application has to separately
60
+ * close the underlying {@link InputStream} and {@link Reader}
61
+ * instances used to create the parser. If enabled, parser
62
+ * will handle closing, as long as parser itself gets closed:
63
+ * this happens when end-of-input is encountered, or parser
64
+ * is closed by a call to {@link JsonParser#close}.
65
+ *<p>
66
+ * Feature is enabled by default.
67
+ */
68
+ AUTO_CLOSE_SOURCE(true),
69
+
70
+ // // // Support for non-standard data format constructs
71
+
72
+ /**
73
+ * Feature that determines whether parser will allow use
74
+ * of Java/C++ style comments (both '/'+'*' and
75
+ * '//' varieties) within parsed content or not.
76
+ *<p>
77
+ * Since JSON specification does not mention comments as legal
78
+ * construct,
79
+ * this is a non-standard feature; however, in the wild
80
+ * this is extensively used. As such, feature is
81
+ * <b>disabled by default</b> for parsers and must be
82
+ * explicitly enabled (via factory or parser instance).
83
+ *<p>
84
+ * This feature can be changed for parser instances.
85
+ */
86
+ ALLOW_COMMENTS(false),
87
+
88
+ /**
89
+ * Feature that determines whether parser will allow use
90
+ * of unquoted field names (which is allowed by Javascript,
91
+ * but not by JSON specification).
92
+ *<p>
93
+ * Since JSON specification requires use of double quotes for
94
+ * field names,
95
+ * this is a non-standard feature, and as such disabled by
96
+ * default.
97
+ *<p>
98
+ * This feature can be changed for parser instances.
99
+ *
100
+ * @since 1.2
101
+ */
102
+ ALLOW_UNQUOTED_FIELD_NAMES(false),
103
+
104
+ /**
105
+ * Feature that determines whether parser will allow use
106
+ * of single quotes (apostrophe, character '\'') for
107
+ * quoting Strings (names and String values). If so,
108
+ * this is in addition to other acceptabl markers.
109
+ * but not by JSON specification).
110
+ *<p>
111
+ * Since JSON specification requires use of double quotes for
112
+ * field names,
113
+ * this is a non-standard feature, and as such disabled by
114
+ * default.
115
+ *<p>
116
+ * This feature can be changed for parser instances.
117
+ *
118
+ * @since 1.3
119
+ */
120
+ ALLOW_SINGLE_QUOTES(false),
121
+
122
+ /**
123
+ * Feature that determines whether parser will allow
124
+ * JSON Strings to contain unquoted control characters
125
+ * (ASCII characters with value less than 32, including
126
+ * tab and line feed characters) or not.
127
+ * If feature is set false, an exception is thrown if such a
128
+ * character is encountered.
129
+ *<p>
130
+ * Since JSON specification requires quoting for all control characters,
131
+ * this is a non-standard feature, and as such disabled by default.
132
+ *<p>
133
+ * This feature can be changed for parser instances.
134
+ *
135
+ * @since 1.4
136
+ */
137
+ ALLOW_UNQUOTED_CONTROL_CHARS(false),
138
+
139
+ /**
140
+ * Feature that can be enabled to accept quoting of all character
141
+ * using backslash qooting mechanism: if not enabled, only characters
142
+ * that are explicitly listed by JSON specification can be thus
143
+ * escaped (see JSON spec for small list of these characters)
144
+ *<p>
145
+ * Since JSON specification requires quoting for all control characters,
146
+ * this is a non-standard feature, and as such disabled by default.
147
+ *<p>
148
+ * This feature can be changed for parser instances.
149
+ *
150
+ * @since 1.6
151
+ */
152
+ ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER(false),
153
+
154
+ /**
155
+ * Feature that determines whether parser will allow
156
+ * JSON integral numbers to start with additional (ignorable)
157
+ * zeroes (like: 000001). If enabled, no exception is thrown, and extra
158
+ * nulls are silently ignored (and not included in textual representation
159
+ * exposed via {@link JsonParser#getText}).
160
+ *<p>
161
+ * Since JSON specification does not allow leading zeroes,
162
+ * this is a non-standard feature, and as such disabled by default.
163
+ *<p>
164
+ * This feature can be changed for parser instances.
165
+ *
166
+ * @since 1.8
167
+ */
168
+ ALLOW_NUMERIC_LEADING_ZEROS(false),
169
+
170
+ /**
171
+ * Feature that allows parser to recognize set of
172
+ * "Not-a-Number" (NaN) tokens as legal floating number
173
+ * values (similar to how many other data formats and
174
+ * programming language source code allows it).
175
+ * Specific subset contains values that
176
+ * <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema</a>
177
+ * (see section 3.2.4.1, Lexical Representation)
178
+ * allows (tokens are quoted contents, not including quotes):
179
+ *<ul>
180
+ * <li>"INF" (for positive infinity), as well as alias of "Infinity"
181
+ * <li>"-INF" (for negative infinity), alias "-Infinity"
182
+ * <li>"NaN" (for other not-a-numbers, like result of division by zero)
183
+ *</ul>
184
+ */
185
+
186
+ ALLOW_NON_NUMERIC_NUMBERS(false),
187
+
188
+ // // // Controlling canonicalization (interning etc)
189
+
190
+ /**
191
+ * Feature that determines whether JSON object field names are
192
+ * to be canonicalized using {@link String#intern} or not:
193
+ * if enabled, all field names will be intern()ed (and caller
194
+ * can count on this being true for all such names); if disabled,
195
+ * no intern()ing is done. There may still be basic
196
+ * canonicalization (that is, same String will be used to represent
197
+ * all identical object property names for a single document).
198
+ *<p>
199
+ * Note: this setting only has effect if
200
+ * {@link #CANONICALIZE_FIELD_NAMES} is true -- otherwise no
201
+ * canonicalization of any sort is done.
202
+ *
203
+ * @since 1.3
204
+ */
205
+ INTERN_FIELD_NAMES(true),
206
+
207
+ /**
208
+ * Feature that determines whether JSON object field names are
209
+ * to be canonicalized (details of how canonicalization is done
210
+ * then further specified by
211
+ * {@link #INTERN_FIELD_NAMES}).
212
+ *
213
+ * @since 1.5
214
+ */
215
+ CANONICALIZE_FIELD_NAMES(true),
216
+
217
+
218
+ ;
219
+
220
+ final boolean _defaultState;
221
+
222
+ /**
223
+ * Method that calculates bit set (flags) of all features that
224
+ * are enabled by default.
225
+ */
226
+ public static int collectDefaults()
227
+ {
228
+ int flags = 0;
229
+ for (Feature f : values()) {
230
+ if (f.enabledByDefault()) {
231
+ flags |= f.getMask();
232
+ }
233
+ }
234
+ return flags;
235
+ }
236
+
237
+ private Feature(boolean defaultState) {
238
+ _defaultState = defaultState;
239
+ }
240
+
241
+ public boolean enabledByDefault() { return _defaultState; }
242
+
243
+ public boolean enabledIn(int flags) { return (flags & getMask()) != 0; }
244
+
245
+ public int getMask() { return (1 << ordinal()); }
246
+ };
247
+
248
+ /*
249
+ /**********************************************************
250
+ /* Minimal configuration state
251
+ /**********************************************************
252
+ */
253
+
254
+ /**
255
+ * Bit flag composed of bits that indicate which
256
+ * {@link sh.calaba.org.codehaus.jackson.JsonParser.Feature}s
257
+ * are enabled.
258
+ */
259
+ protected int _features;
260
+
261
+ /*
262
+ /**********************************************************
263
+ /* Minimal generic state
264
+ /**********************************************************
265
+ */
266
+
267
+ /**
268
+ * Last token retrieved via {@link #nextToken}, if any.
269
+ * Null before the first call to <code>nextToken()</code>,
270
+ * as well as if token has been explicitly cleared
271
+ * (by call to {@link #clearCurrentToken})
272
+ */
273
+ protected JsonToken _currToken;
274
+
275
+ /**
276
+ * Last cleared token, if any: that is, value that was in
277
+ * effect when {@link #clearCurrentToken} was called.
278
+ */
279
+ protected JsonToken _lastClearedToken;
280
+
281
+ /*
282
+ /**********************************************************
283
+ /* Construction, configuration, initialization
284
+ /**********************************************************
285
+ */
286
+
287
+ protected JsonParser() { }
288
+ protected JsonParser(int features) {
289
+ _features = features;
290
+ }
291
+
292
+ /**
293
+ * Accessor for {@link ObjectCodec} associated with this
294
+ * parser, if any. Codec is used by {@link #readValueAs(Class)}
295
+ * method (and its variants).
296
+ *
297
+ * @since 1.3
298
+ */
299
+ public abstract ObjectCodec getCodec();
300
+
301
+ /**
302
+ * Setter that allows defining {@link ObjectCodec} associated with this
303
+ * parser, if any. Codec is used by {@link #readValueAs(Class)}
304
+ * method (and its variants).
305
+ *
306
+ * @since 1.3
307
+ */
308
+ public abstract void setCodec(ObjectCodec c);
309
+
310
+ /**
311
+ * Method to call to make this parser use specified schema. Method must
312
+ * be called before trying to parse any content, right after parser instance
313
+ * has been created.
314
+ * Note that not all parsers support schemas; and those that do usually only
315
+ * accept specific types of schemas: ones defined for data format parser can read.
316
+ *<p>
317
+ * If parser does not support specified schema, {@link UnsupportedOperationException}
318
+ * is thrown.
319
+ *
320
+ * @param schema Schema to use
321
+ *
322
+ * @throws UnsupportedOperationException if parser does not support schema
323
+ *
324
+ * @since 1.8
325
+ */
326
+ public void setSchema(FormatSchema schema)
327
+ {
328
+ throw new UnsupportedOperationException("Parser of type "+getClass().getName()+" does not support schema of type '"
329
+ +schema.getSchemaType()+"'");
330
+ }
331
+
332
+ /**
333
+ * Method that can be used to verify that given schema can be used with
334
+ * this parser (using {@link #setSchema}).
335
+ *
336
+ * @param schema Schema to check
337
+ *
338
+ * @return True if this parser can use given schema; false if not
339
+ *
340
+ * @since 1.8
341
+ */
342
+ public boolean canUseSchema(FormatSchema schema) {
343
+ return false;
344
+ }
345
+
346
+ /**
347
+ * @since 1.6
348
+ */
349
+ @Override
350
+ public Version version() {
351
+ return Version.unknownVersion();
352
+ }
353
+
354
+ /**
355
+ * Method that can be used to get access to object that is used
356
+ * to access input being parsed; this is usually either
357
+ * {@link InputStream} or {@link Reader}, depending on what
358
+ * parser was constructed with.
359
+ * Note that returned value may be null in some cases; including
360
+ * case where parser implementation does not want to exposed raw
361
+ * source to caller.
362
+ * In cases where input has been decorated, object returned here
363
+ * is the decorated version; this allows some level of interaction
364
+ * between users of parser and decorator object.
365
+ *<p>
366
+ * In general use of this accessor should be considered as
367
+ * "last effort", i.e. only used if no other mechanism is applicable.
368
+ *
369
+ * @since 1.8
370
+ */
371
+ public Object getInputSource() {
372
+ return null;
373
+ }
374
+
375
+ /*
376
+ /**********************************************************
377
+ /* Closeable implementation
378
+ /**********************************************************
379
+ */
380
+
381
+ /**
382
+ * Closes the parser so that no further iteration or data access
383
+ * can be made; will also close the underlying input source
384
+ * if parser either <b>owns</b> the input source, or feature
385
+ * {@link Feature#AUTO_CLOSE_SOURCE} is enabled.
386
+ * Whether parser owns the input source depends on factory
387
+ * method that was used to construct instance (so check
388
+ * {@link sh.calaba.org.codehaus.jackson.JsonFactory} for details,
389
+ * but the general
390
+ * idea is that if caller passes in closable resource (such
391
+ * as {@link InputStream} or {@link Reader}) parser does NOT
392
+ * own the source; but if it passes a reference (such as
393
+ * {@link java.io.File} or {@link java.net.URL} and creates
394
+ * stream or reader it does own them.
395
+ */
396
+ @Override
397
+ public abstract void close() throws IOException;
398
+
399
+ /*
400
+ /**********************************************************
401
+ /* Buffer handling
402
+ /**********************************************************
403
+ */
404
+
405
+ /**
406
+ * Method that can be called to push back any content that
407
+ * has been read but not consumed by the parser. This is usually
408
+ * done after reading all content of interest using parser.
409
+ * Content is released by writing it to given stream if possible;
410
+ * if underlying input is byte-based it can released, if not (char-based)
411
+ * it can not.
412
+ *
413
+ * @return -1 if the underlying content source is not byte based
414
+ * (that is, input can not be sent to {@link OutputStream};
415
+ * otherwise number of bytes released (0 if there was nothing to release)
416
+ *
417
+ * @throws IOException if write to stream threw exception
418
+ *
419
+ * @since 1.6
420
+ */
421
+ public int releaseBuffered(OutputStream out) throws IOException
422
+ {
423
+ return -1;
424
+ }
425
+
426
+ /**
427
+ * Method that can be called to push back any content that
428
+ * has been read but not consumed by the parser.
429
+ * This is usually
430
+ * done after reading all content of interest using parser.
431
+ * Content is released by writing it to given writer if possible;
432
+ * if underlying input is char-based it can released, if not (byte-based)
433
+ * it can not.
434
+ *
435
+ * @return -1 if the underlying content source is not char-based
436
+ * (that is, input can not be sent to {@link Writer};
437
+ * otherwise number of chars released (0 if there was nothing to release)
438
+ *
439
+ * @throws IOException if write using Writer threw exception
440
+ *
441
+ * @since 1.6
442
+ */
443
+ public int releaseBuffered(Writer w) throws IOException
444
+ {
445
+ return -1;
446
+ }
447
+
448
+ /*
449
+ /***************************************************
450
+ /* Public API, configuration
451
+ /***************************************************
452
+ */
453
+
454
+ /**
455
+ * Method for enabling specified parser feature
456
+ * (check {@link Feature} for list of features)
457
+ *
458
+ * @since 1.2
459
+ */
460
+ public JsonParser enable(Feature f)
461
+ {
462
+ _features |= f.getMask();
463
+ return this;
464
+ }
465
+
466
+ /**
467
+ * Method for disabling specified feature
468
+ * (check {@link Feature} for list of features)
469
+ *
470
+ * @since 1.2
471
+ */
472
+ public JsonParser disable(Feature f)
473
+ {
474
+ _features &= ~f.getMask();
475
+ return this;
476
+ }
477
+
478
+ /**
479
+ * Method for enabling or disabling specified feature
480
+ * (check {@link Feature} for list of features)
481
+ *
482
+ * @since 1.2
483
+ */
484
+ public JsonParser configure(Feature f, boolean state)
485
+ {
486
+ if (state) {
487
+ enableFeature(f);
488
+ } else {
489
+ disableFeature(f);
490
+ }
491
+ return this;
492
+ }
493
+
494
+ /**
495
+ * Method for checking whether specified {@link Feature}
496
+ * is enabled.
497
+ *
498
+ * @since 1.2
499
+ */
500
+ public boolean isEnabled(Feature f) {
501
+ return (_features & f.getMask()) != 0;
502
+ }
503
+
504
+ /** @deprecated Use {@link #configure} instead
505
+ */
506
+ @SuppressWarnings("dep-ann")
507
+ public void setFeature(Feature f, boolean state) { configure(f, state); }
508
+
509
+ /** @deprecated Use {@link #enable(Feature)} instead
510
+ */
511
+ @SuppressWarnings("dep-ann")
512
+ public void enableFeature(Feature f) { enable(f); }
513
+
514
+ /** @deprecated Use {@link #disable(Feature)} instead
515
+ */
516
+ @SuppressWarnings("dep-ann")
517
+ public void disableFeature(Feature f) { disable(f); }
518
+
519
+ /** @deprecated Use {@link #isEnabled(Feature)} instead
520
+ */
521
+ @SuppressWarnings("dep-ann")
522
+ public final boolean isFeatureEnabled(Feature f) { return isEnabled(f); }
523
+
524
+
525
+ /*
526
+ /**********************************************************
527
+ /* Public API, traversal
528
+ /**********************************************************
529
+ */
530
+
531
+ /**
532
+ * Main iteration method, which will advance stream enough
533
+ * to determine type of the next token, if any. If none
534
+ * remaining (stream has no content other than possible
535
+ * white space before ending), null will be returned.
536
+ *
537
+ * @return Next token from the stream, if any found, or null
538
+ * to indicate end-of-input
539
+ */
540
+ public abstract JsonToken nextToken()
541
+ throws IOException, JsonParseException;
542
+
543
+ /**
544
+ * Iteration method that will advance stream enough
545
+ * to determine type of the next token that is a value type
546
+ * (including JSON Array and Object start/end markers).
547
+ * Or put another way, nextToken() will be called once,
548
+ * and if {@link JsonToken#FIELD_NAME} is returned, another
549
+ * time to get the value for the field.
550
+ * Method is most useful for iterating over value entries
551
+ * of JSON objects; field name will still be available
552
+ * by calling {@link #getCurrentName} when parser points to
553
+ * the value.
554
+ *
555
+ * @return Next non-field-name token from the stream, if any found,
556
+ * or null to indicate end-of-input (or, for non-blocking
557
+ * parsers, {@link JsonToken#NOT_AVAILABLE} if no tokens were
558
+ * available yet)
559
+ */
560
+ public JsonToken nextValue()
561
+ throws IOException, JsonParseException
562
+ {
563
+ /* Implementation should be as trivial as follows; only
564
+ * needs to change if we are to skip other tokens (for
565
+ * example, if comments were exposed as tokens)
566
+ */
567
+ JsonToken t = nextToken();
568
+ if (t == JsonToken.FIELD_NAME) {
569
+ t = nextToken();
570
+ }
571
+ return t;
572
+ }
573
+
574
+ /**
575
+ * Method that fetches next token (as if calling {@link #nextToken}) and
576
+ * verifies whether it is {@link JsonToken#FIELD_NAME} with specified name
577
+ * and returns result of that comparison.
578
+ * It is functionally equivalent to:
579
+ *<pre>
580
+ * return (nextToken() == JsonToken.FIELD_NAME) && str.getValue().equals(getCurrentName());
581
+ *</pre>
582
+ * but may be faster for parser to verify, and can therefore be used if caller
583
+ * expects to get such a property name from input next.
584
+ *
585
+ * @param str Property name to compare next token to (if next token is <code>JsonToken.FIELD_NAME<code>)
586
+ *
587
+ * @since 1.9
588
+ */
589
+ public boolean nextFieldName(SerializableString str)
590
+ throws IOException, JsonParseException
591
+ {
592
+ return (nextToken() == JsonToken.FIELD_NAME) && str.getValue().equals(getCurrentName());
593
+ }
594
+
595
+ /**
596
+ * Method that fetches next token (as if calling {@link #nextToken}) and
597
+ * if it is {@link JsonToken#VALUE_STRING} returns contained String value;
598
+ * otherwise returns null.
599
+ * It is functionally equivalent to:
600
+ *<pre>
601
+ * return (nextToken() == JsonToken.VALUE_STRING) ? getText() : null;
602
+ *</pre>
603
+ * but may be faster for parser to process, and can therefore be used if caller
604
+ * expects to get a String value next from input.
605
+ *
606
+ * @since 1.9
607
+ */
608
+ public String nextTextValue()
609
+ throws IOException, JsonParseException
610
+ {
611
+ return (nextToken() == JsonToken.VALUE_STRING) ? getText() : null;
612
+ }
613
+
614
+ /**
615
+ * Method that fetches next token (as if calling {@link #nextToken}) and
616
+ * if it is {@link JsonToken#VALUE_NUMBER_INT} returns 32-bit int value;
617
+ * otherwise returns specified default value
618
+ * It is functionally equivalent to:
619
+ *<pre>
620
+ * return (nextToken() == JsonToken.VALUE_NUMBER_INT) ? getIntValue() : defaultValue;
621
+ *</pre>
622
+ * but may be faster for parser to process, and can therefore be used if caller
623
+ * expects to get a String value next from input.
624
+ *
625
+ * @since 1.9
626
+ */
627
+ public int nextIntValue(int defaultValue)
628
+ throws IOException, JsonParseException
629
+ {
630
+ return (nextToken() == JsonToken.VALUE_NUMBER_INT) ? getIntValue() : defaultValue;
631
+ }
632
+
633
+ /**
634
+ * Method that fetches next token (as if calling {@link #nextToken}) and
635
+ * if it is {@link JsonToken#VALUE_NUMBER_INT} returns 64-bit long value;
636
+ * otherwise returns specified default value
637
+ * It is functionally equivalent to:
638
+ *<pre>
639
+ * return (nextToken() == JsonToken.VALUE_NUMBER_INT) ? getLongValue() : defaultValue;
640
+ *</pre>
641
+ * but may be faster for parser to process, and can therefore be used if caller
642
+ * expects to get a String value next from input.
643
+ *
644
+ * @since 1.9
645
+ */
646
+ public long nextLongValue(long defaultValue)
647
+ throws IOException, JsonParseException
648
+ {
649
+ return (nextToken() == JsonToken.VALUE_NUMBER_INT) ? getLongValue() : defaultValue;
650
+ }
651
+
652
+ /**
653
+ * Method that fetches next token (as if calling {@link #nextToken}) and
654
+ * if it is {@link JsonToken#VALUE_TRUE} or {@link JsonToken#VALUE_FALSE}
655
+ * returns matching Boolean value; otherwise return null.
656
+ * It is functionally equivalent to:
657
+ *<pre>
658
+ * JsonToken t = nextToken();
659
+ * if (t == JsonToken.VALUE_TRUE) return Boolean.TRUE;
660
+ * if (t == JsonToken.VALUE_FALSE) return Boolean.FALSE;
661
+ * return null;
662
+ *</pre>
663
+ * but may be faster for parser to process, and can therefore be used if caller
664
+ * expects to get a String value next from input.
665
+ *
666
+ * @since 1.9
667
+ */
668
+ public Boolean nextBooleanValue()
669
+ throws IOException, JsonParseException
670
+ {
671
+ switch (nextToken()) {
672
+ case VALUE_TRUE:
673
+ return Boolean.TRUE;
674
+ case VALUE_FALSE:
675
+ return Boolean.FALSE;
676
+ }
677
+ return null;
678
+ }
679
+
680
+ /**
681
+ * Method that will skip all child tokens of an array or
682
+ * object token that the parser currently points to,
683
+ * iff stream points to
684
+ * {@link JsonToken#START_OBJECT} or {@link JsonToken#START_ARRAY}.
685
+ * If not, it will do nothing.
686
+ * After skipping, stream will point to <b>matching</b>
687
+ * {@link JsonToken#END_OBJECT} or {@link JsonToken#END_ARRAY}
688
+ * (possibly skipping nested pairs of START/END OBJECT/ARRAY tokens
689
+ * as well as value tokens).
690
+ * The idea is that after calling this method, application
691
+ * will call {@link #nextToken} to point to the next
692
+ * available token, if any.
693
+ */
694
+ public abstract JsonParser skipChildren()
695
+ throws IOException, JsonParseException;
696
+
697
+ /**
698
+ * Method that can be called to determine whether this parser
699
+ * is closed or not. If it is closed, no new tokens can be
700
+ * retrieved by calling {@link #nextToken} (and the underlying
701
+ * stream may be closed). Closing may be due to an explicit
702
+ * call to {@link #close} or because parser has encountered
703
+ * end of input.
704
+ */
705
+ public abstract boolean isClosed();
706
+
707
+ /*
708
+ /**********************************************************
709
+ /* Public API, token accessors
710
+ /**********************************************************
711
+ */
712
+
713
+ /**
714
+ * Accessor to find which token parser currently points to, if any;
715
+ * null will be returned if none.
716
+ * If return value is non-null, data associated with the token
717
+ * is available via other accessor methods.
718
+ *
719
+ * @return Type of the token this parser currently points to,
720
+ * if any: null before any tokens have been read, and
721
+ * after end-of-input has been encountered, as well as
722
+ * if the current token has been explicitly cleared.
723
+ */
724
+ public JsonToken getCurrentToken() {
725
+ return _currToken;
726
+ }
727
+
728
+ /**
729
+ * Method for checking whether parser currently points to
730
+ * a token (and data for that token is available).
731
+ * Equivalent to check for <code>parser.getCurrentToken() != null</code>.
732
+ *
733
+ * @return True if the parser just returned a valid
734
+ * token via {@link #nextToken}; false otherwise (parser
735
+ * was just constructed, encountered end-of-input
736
+ * and returned null from {@link #nextToken}, or the token
737
+ * has been consumed)
738
+ */
739
+ public boolean hasCurrentToken() {
740
+ return _currToken != null;
741
+ }
742
+
743
+
744
+ /**
745
+ * Method called to "consume" the current token by effectively
746
+ * removing it so that {@link #hasCurrentToken} returns false, and
747
+ * {@link #getCurrentToken} null).
748
+ * Cleared token value can still be accessed by calling
749
+ * {@link #getLastClearedToken} (if absolutely needed), but
750
+ * usually isn't.
751
+ *<p>
752
+ * Method was added to be used by the optional data binder, since
753
+ * it has to be able to consume last token used for binding (so that
754
+ * it will not be used again).
755
+ */
756
+ public void clearCurrentToken() {
757
+ if (_currToken != null) {
758
+ _lastClearedToken = _currToken;
759
+ _currToken = null;
760
+ }
761
+ }
762
+
763
+ /**
764
+ * Method that can be called to get the name associated with
765
+ * the current token: for {@link JsonToken#FIELD_NAME}s it will
766
+ * be the same as what {@link #getText} returns;
767
+ * for field values it will be preceding field name;
768
+ * and for others (array values, root-level values) null.
769
+ */
770
+ public abstract String getCurrentName()
771
+ throws IOException, JsonParseException;
772
+
773
+ /**
774
+ * Method that can be used to access current parsing context reader
775
+ * is in. There are 3 different types: root, array and object contexts,
776
+ * with slightly different available information. Contexts are
777
+ * hierarchically nested, and can be used for example for figuring
778
+ * out part of the input document that correspond to specific
779
+ * array or object (for highlighting purposes, or error reporting).
780
+ * Contexts can also be used for simple xpath-like matching of
781
+ * input, if so desired.
782
+ */
783
+ public abstract JsonStreamContext getParsingContext();
784
+
785
+ /**
786
+ * Method that return the <b>starting</b> location of the current
787
+ * token; that is, position of the first character from input
788
+ * that starts the current token.
789
+ */
790
+ public abstract JsonLocation getTokenLocation();
791
+
792
+ /**
793
+ * Method that returns location of the last processed character;
794
+ * usually for error reporting purposes.
795
+ */
796
+ public abstract JsonLocation getCurrentLocation();
797
+
798
+ /**
799
+ * Method that can be called to get the last token that was
800
+ * cleared using {@link #clearCurrentToken}. This is not necessarily
801
+ * the latest token read.
802
+ * Will return null if no tokens have been cleared,
803
+ * or if parser has been closed.
804
+ */
805
+ public JsonToken getLastClearedToken() {
806
+ return _lastClearedToken;
807
+ }
808
+
809
+ /**
810
+ * Specialized accessor that can be used to verify that the current
811
+ * token indicates start array (usually meaning that current token
812
+ * is {@link JsonToken#START_ARRAY}) when start array is expected.
813
+ * For some specialized parsers this can return true for other cases
814
+ * as well; this is usually done to emulate arrays.
815
+ *<p>
816
+ * Default implementation is equivalent to:
817
+ *<pre>
818
+ * getCurrentToken() == JsonToken.START_ARRAY
819
+ *</pre>
820
+ * but may be overridden by custom parser implementations.
821
+ *
822
+ * @return True if the current token can be considered as a
823
+ * start-array marker (such {@link JsonToken#START_ARRAY});
824
+ * false if not.
825
+ *
826
+ * @since 1.7
827
+ */
828
+ public boolean isExpectedStartArrayToken() {
829
+ return getCurrentToken() == JsonToken.START_ARRAY;
830
+ }
831
+
832
+ /*
833
+ /**********************************************************
834
+ /* Public API, access to token information, text
835
+ /**********************************************************
836
+ */
837
+
838
+ /**
839
+ * Method for accessing textual representation of the current token;
840
+ * if no current token (before first call to {@link #nextToken}, or
841
+ * after encountering end-of-input), returns null.
842
+ * Method can be called for any token type.
843
+ */
844
+ public abstract String getText()
845
+ throws IOException, JsonParseException;
846
+
847
+ /**
848
+ * Method similar to {@link #getText}, but that will return
849
+ * underlying (unmodifiable) character array that contains
850
+ * textual value, instead of constructing a String object
851
+ * to contain this information.
852
+ * Note, however, that:
853
+ *<ul>
854
+ * <li>Textual contents are not guaranteed to start at
855
+ * index 0 (rather, call {@link #getTextOffset}) to
856
+ * know the actual offset
857
+ * </li>
858
+ * <li>Length of textual contents may be less than the
859
+ * length of returned buffer: call {@link #getTextLength}
860
+ * for actual length of returned content.
861
+ * </li>
862
+ * </ul>
863
+ *<p>
864
+ * Note that caller <b>MUST NOT</b> modify the returned
865
+ * character array in any way -- doing so may corrupt
866
+ * current parser state and render parser instance useless.
867
+ *<p>
868
+ * The only reason to call this method (over {@link #getText})
869
+ * is to avoid construction of a String object (which
870
+ * will make a copy of contents).
871
+ */
872
+ public abstract char[] getTextCharacters()
873
+ throws IOException, JsonParseException;
874
+
875
+ /**
876
+ * Accessor used with {@link #getTextCharacters}, to know length
877
+ * of String stored in returned buffer.
878
+ *
879
+ * @return Number of characters within buffer returned
880
+ * by {@link #getTextCharacters} that are part of
881
+ * textual content of the current token.
882
+ */
883
+ public abstract int getTextLength()
884
+ throws IOException, JsonParseException;
885
+
886
+ /**
887
+ * Accessor used with {@link #getTextCharacters}, to know offset
888
+ * of the first text content character within buffer.
889
+ *
890
+ * @return Offset of the first character within buffer returned
891
+ * by {@link #getTextCharacters} that is part of
892
+ * textual content of the current token.
893
+ */
894
+ public abstract int getTextOffset()
895
+ throws IOException, JsonParseException;
896
+
897
+ /**
898
+ * Method that can be used to determine whether calling of
899
+ * {@link #getTextCharacters} would be the most efficient
900
+ * way to access textual content for the event parser currently
901
+ * points to.
902
+ *<p>
903
+ * Default implementation simply returns false since only actual
904
+ * implementation class has knowledge of its internal buffering
905
+ * state.
906
+ * Implementations are strongly encouraged to properly override
907
+ * this method, to allow efficient copying of content by other
908
+ * code.
909
+ *
910
+ * @return True if parser currently has character array that can
911
+ * be efficiently returned via {@link #getTextCharacters}; false
912
+ * means that it may or may not exist
913
+ *
914
+ * @since 1.6
915
+ */
916
+ public boolean hasTextCharacters() {
917
+ return false;
918
+ }
919
+
920
+ /*
921
+ /**********************************************************
922
+ /* Public API, access to token information, numeric
923
+ /**********************************************************
924
+ */
925
+
926
+ /**
927
+ * Generic number value accessor method that will work for
928
+ * all kinds of numeric values. It will return the optimal
929
+ * (simplest/smallest possible) wrapper object that can
930
+ * express the numeric value just parsed.
931
+ */
932
+ public abstract Number getNumberValue()
933
+ throws IOException, JsonParseException;
934
+
935
+ /**
936
+ * If current token is of type
937
+ * {@link JsonToken#VALUE_NUMBER_INT} or
938
+ * {@link JsonToken#VALUE_NUMBER_FLOAT}, returns
939
+ * one of {@link NumberType} constants; otherwise returns null.
940
+ */
941
+ public abstract NumberType getNumberType()
942
+ throws IOException, JsonParseException;
943
+
944
+ /**
945
+ * Numeric accessor that can be called when the current
946
+ * token is of type {@link JsonToken#VALUE_NUMBER_INT} and
947
+ * it can be expressed as a value of Java byte primitive type.
948
+ * It can also be called for {@link JsonToken#VALUE_NUMBER_FLOAT};
949
+ * if so, it is equivalent to calling {@link #getDoubleValue}
950
+ * and then casting; except for possible overflow/underflow
951
+ * exception.
952
+ *<p>
953
+ * Note: if the resulting integer value falls outside range of
954
+ * Java byte, a {@link JsonParseException}
955
+ * will be thrown to indicate numeric overflow/underflow.
956
+ */
957
+ public byte getByteValue()
958
+ throws IOException, JsonParseException
959
+ {
960
+ int value = getIntValue();
961
+ // So far so good: but does it fit?
962
+ if (value < MIN_BYTE_I || value > MAX_BYTE_I) {
963
+ throw _constructError("Numeric value ("+getText()+") out of range of Java byte");
964
+ }
965
+ return (byte) value;
966
+ }
967
+
968
+ /**
969
+ * Numeric accessor that can be called when the current
970
+ * token is of type {@link JsonToken#VALUE_NUMBER_INT} and
971
+ * it can be expressed as a value of Java short primitive type.
972
+ * It can also be called for {@link JsonToken#VALUE_NUMBER_FLOAT};
973
+ * if so, it is equivalent to calling {@link #getDoubleValue}
974
+ * and then casting; except for possible overflow/underflow
975
+ * exception.
976
+ *<p>
977
+ * Note: if the resulting integer value falls outside range of
978
+ * Java short, a {@link JsonParseException}
979
+ * will be thrown to indicate numeric overflow/underflow.
980
+ */
981
+ public short getShortValue()
982
+ throws IOException, JsonParseException
983
+ {
984
+ int value = getIntValue();
985
+ if (value < MIN_SHORT_I || value > MAX_SHORT_I) {
986
+ throw _constructError("Numeric value ("+getText()+") out of range of Java short");
987
+ }
988
+ return (short) value;
989
+ }
990
+
991
+ /**
992
+ * Numeric accessor that can be called when the current
993
+ * token is of type {@link JsonToken#VALUE_NUMBER_INT} and
994
+ * it can be expressed as a value of Java int primitive type.
995
+ * It can also be called for {@link JsonToken#VALUE_NUMBER_FLOAT};
996
+ * if so, it is equivalent to calling {@link #getDoubleValue}
997
+ * and then casting; except for possible overflow/underflow
998
+ * exception.
999
+ *<p>
1000
+ * Note: if the resulting integer value falls outside range of
1001
+ * Java int, a {@link JsonParseException}
1002
+ * may be thrown to indicate numeric overflow/underflow.
1003
+ */
1004
+ public abstract int getIntValue()
1005
+ throws IOException, JsonParseException;
1006
+
1007
+ /**
1008
+ * Numeric accessor that can be called when the current
1009
+ * token is of type {@link JsonToken#VALUE_NUMBER_INT} and
1010
+ * it can be expressed as a Java long primitive type.
1011
+ * It can also be called for {@link JsonToken#VALUE_NUMBER_FLOAT};
1012
+ * if so, it is equivalent to calling {@link #getDoubleValue}
1013
+ * and then casting to int; except for possible overflow/underflow
1014
+ * exception.
1015
+ *<p>
1016
+ * Note: if the token is an integer, but its value falls
1017
+ * outside of range of Java long, a {@link JsonParseException}
1018
+ * may be thrown to indicate numeric overflow/underflow.
1019
+ */
1020
+ public abstract long getLongValue()
1021
+ throws IOException, JsonParseException;
1022
+
1023
+ /**
1024
+ * Numeric accessor that can be called when the current
1025
+ * token is of type {@link JsonToken#VALUE_NUMBER_INT} and
1026
+ * it can not be used as a Java long primitive type due to its
1027
+ * magnitude.
1028
+ * It can also be called for {@link JsonToken#VALUE_NUMBER_FLOAT};
1029
+ * if so, it is equivalent to calling {@link #getDecimalValue}
1030
+ * and then constructing a {@link BigInteger} from that value.
1031
+ */
1032
+ public abstract BigInteger getBigIntegerValue()
1033
+ throws IOException, JsonParseException;
1034
+
1035
+ /**
1036
+ * Numeric accessor that can be called when the current
1037
+ * token is of type {@link JsonToken#VALUE_NUMBER_FLOAT} and
1038
+ * it can be expressed as a Java float primitive type.
1039
+ * It can also be called for {@link JsonToken#VALUE_NUMBER_INT};
1040
+ * if so, it is equivalent to calling {@link #getLongValue}
1041
+ * and then casting; except for possible overflow/underflow
1042
+ * exception.
1043
+ *<p>
1044
+ * Note: if the value falls
1045
+ * outside of range of Java float, a {@link JsonParseException}
1046
+ * will be thrown to indicate numeric overflow/underflow.
1047
+ */
1048
+ public abstract float getFloatValue()
1049
+ throws IOException, JsonParseException;
1050
+
1051
+ /**
1052
+ * Numeric accessor that can be called when the current
1053
+ * token is of type {@link JsonToken#VALUE_NUMBER_FLOAT} and
1054
+ * it can be expressed as a Java double primitive type.
1055
+ * It can also be called for {@link JsonToken#VALUE_NUMBER_INT};
1056
+ * if so, it is equivalent to calling {@link #getLongValue}
1057
+ * and then casting; except for possible overflow/underflow
1058
+ * exception.
1059
+ *<p>
1060
+ * Note: if the value falls
1061
+ * outside of range of Java double, a {@link JsonParseException}
1062
+ * will be thrown to indicate numeric overflow/underflow.
1063
+ */
1064
+ public abstract double getDoubleValue()
1065
+ throws IOException, JsonParseException;
1066
+
1067
+ /**
1068
+ * Numeric accessor that can be called when the current
1069
+ * token is of type {@link JsonToken#VALUE_NUMBER_FLOAT} or
1070
+ * {@link JsonToken#VALUE_NUMBER_INT}. No under/overflow exceptions
1071
+ * are ever thrown.
1072
+ */
1073
+ public abstract BigDecimal getDecimalValue()
1074
+ throws IOException, JsonParseException;
1075
+
1076
+ /*
1077
+ /**********************************************************
1078
+ /* Public API, access to token information, other
1079
+ /**********************************************************
1080
+ */
1081
+
1082
+ /**
1083
+ * Convenience accessor that can be called when the current
1084
+ * token is {@link JsonToken#VALUE_TRUE} or
1085
+ * {@link JsonToken#VALUE_FALSE}.
1086
+ *<p>
1087
+ * Note: if the token is not of above-mentioned boolean types,
1088
+ an integer, but its value falls
1089
+ * outside of range of Java long, a {@link JsonParseException}
1090
+ * may be thrown to indicate numeric overflow/underflow.
1091
+ *
1092
+ * @since 1.3
1093
+ */
1094
+ public boolean getBooleanValue()
1095
+ throws IOException, JsonParseException
1096
+ {
1097
+ if (getCurrentToken() == JsonToken.VALUE_TRUE) return true;
1098
+ if (getCurrentToken() == JsonToken.VALUE_FALSE) return false;
1099
+ throw new JsonParseException("Current token ("+_currToken+") not of boolean type", getCurrentLocation());
1100
+ }
1101
+
1102
+ /**
1103
+ * Accessor that can be called if (and only if) the current token
1104
+ * is {@link JsonToken#VALUE_EMBEDDED_OBJECT}. For other token types,
1105
+ * null is returned.
1106
+ *<p>
1107
+ * Note: only some specialized parser implementations support
1108
+ * embedding of objects (usually ones that are facades on top
1109
+ * of non-streaming sources, such as object trees).
1110
+ *
1111
+ * @since 1.3
1112
+ */
1113
+ public Object getEmbeddedObject()
1114
+ throws IOException, JsonParseException
1115
+ {
1116
+ // By default we will always return null
1117
+ return null;
1118
+ }
1119
+
1120
+ /*
1121
+ /**********************************************************
1122
+ /* Public API, access to token information, binary
1123
+ /**********************************************************
1124
+ */
1125
+
1126
+ /**
1127
+ * Method that can be used to read (and consume -- results
1128
+ * may not be accessible using other methods after the call)
1129
+ * base64-encoded binary data
1130
+ * included in the current textual JSON value.
1131
+ * It works similar to getting String value via {@link #getText}
1132
+ * and decoding result (except for decoding part),
1133
+ * but should be significantly more performant.
1134
+ *<p>
1135
+ * Note that non-decoded textual contents of the current token
1136
+ * are not guaranteed to be accessible after this method
1137
+ * is called. Current implementation, for example, clears up
1138
+ * textual content during decoding.
1139
+ * Decoded binary content, however, will be retained until
1140
+ * parser is advanced to the next event.
1141
+ *
1142
+ * @param b64variant Expected variant of base64 encoded
1143
+ * content (see {@link Base64Variants} for definitions
1144
+ * of "standard" variants).
1145
+ *
1146
+ * @return Decoded binary data
1147
+ */
1148
+ public abstract byte[] getBinaryValue(Base64Variant b64variant) throws IOException, JsonParseException;
1149
+
1150
+ /**
1151
+ * Convenience alternative to {@link #getBinaryValue(Base64Variant)}
1152
+ * that defaults to using
1153
+ * {@link Base64Variants#getDefaultVariant} as the default encoding.
1154
+ */
1155
+ public byte[] getBinaryValue() throws IOException, JsonParseException
1156
+ {
1157
+ return getBinaryValue(Base64Variants.getDefaultVariant());
1158
+ }
1159
+
1160
+ /*
1161
+ /**********************************************************
1162
+ /* Public API, access to token information, coercion/conversion
1163
+ /**********************************************************
1164
+ */
1165
+
1166
+ /**
1167
+ * Method that will try to convert value of current token to a
1168
+ * <b>int</b>.
1169
+ * Numbers are coerced using default Java rules; booleans convert to 0 (false)
1170
+ * and 1 (true), and Strings are parsed using default Java language integer
1171
+ * parsing rules.
1172
+ *<p>
1173
+ * If representation can not be converted to an int (including structured type
1174
+ * markers like start/end Object/Array)
1175
+ * default value of <b>0</b> will be returned; no exceptions are thrown.
1176
+ *
1177
+ * @since 1.6
1178
+ */
1179
+ public int getValueAsInt() throws IOException, JsonParseException {
1180
+ return getValueAsInt(0);
1181
+ }
1182
+
1183
+ /**
1184
+ * Method that will try to convert value of current token to a
1185
+ * <b>int</b>.
1186
+ * Numbers are coerced using default Java rules; booleans convert to 0 (false)
1187
+ * and 1 (true), and Strings are parsed using default Java language integer
1188
+ * parsing rules.
1189
+ *<p>
1190
+ * If representation can not be converted to an int (including structured type
1191
+ * markers like start/end Object/Array)
1192
+ * specified <b>defaultValue</b> will be returned; no exceptions are thrown.
1193
+ *
1194
+ * @since 1.6
1195
+ */
1196
+ public int getValueAsInt(int defaultValue) throws IOException, JsonParseException {
1197
+ return defaultValue;
1198
+ }
1199
+
1200
+ /**
1201
+ * Method that will try to convert value of current token to a
1202
+ * <b>long</b>.
1203
+ * Numbers are coerced using default Java rules; booleans convert to 0 (false)
1204
+ * and 1 (true), and Strings are parsed using default Java language integer
1205
+ * parsing rules.
1206
+ *<p>
1207
+ * If representation can not be converted to an int (including structured type
1208
+ * markers like start/end Object/Array)
1209
+ * default value of <b>0</b> will be returned; no exceptions are thrown.
1210
+ *
1211
+ * @since 1.6
1212
+ */
1213
+ public long getValueAsLong() throws IOException, JsonParseException {
1214
+ return getValueAsInt(0);
1215
+ }
1216
+
1217
+ /**
1218
+ * Method that will try to convert value of current token to a
1219
+ * <b>long</b>.
1220
+ * Numbers are coerced using default Java rules; booleans convert to 0 (false)
1221
+ * and 1 (true), and Strings are parsed using default Java language integer
1222
+ * parsing rules.
1223
+ *<p>
1224
+ * If representation can not be converted to an int (including structured type
1225
+ * markers like start/end Object/Array)
1226
+ * specified <b>defaultValue</b> will be returned; no exceptions are thrown.
1227
+ *
1228
+ * @since 1.6
1229
+ */
1230
+ public long getValueAsLong(long defaultValue) throws IOException, JsonParseException {
1231
+ return defaultValue;
1232
+ }
1233
+
1234
+ /**
1235
+ * Method that will try to convert value of current token to a Java
1236
+ * <b>double</b>.
1237
+ * Numbers are coerced using default Java rules; booleans convert to 0.0 (false)
1238
+ * and 1.0 (true), and Strings are parsed using default Java language integer
1239
+ * parsing rules.
1240
+ *<p>
1241
+ * If representation can not be converted to an int (including structured types
1242
+ * like Objects and Arrays),
1243
+ * default value of <b>0.0</b> will be returned; no exceptions are thrown.
1244
+ *
1245
+ * @since 1.6
1246
+ */
1247
+ public double getValueAsDouble() throws IOException, JsonParseException {
1248
+ return getValueAsDouble(0.0);
1249
+ }
1250
+
1251
+ /**
1252
+ * Method that will try to convert value of current token to a
1253
+ * Java <b>double</b>.
1254
+ * Numbers are coerced using default Java rules; booleans convert to 0.0 (false)
1255
+ * and 1.0 (true), and Strings are parsed using default Java language integer
1256
+ * parsing rules.
1257
+ *<p>
1258
+ * If representation can not be converted to an int (including structured types
1259
+ * like Objects and Arrays),
1260
+ * specified <b>defaultValue</b> will be returned; no exceptions are thrown.
1261
+ *
1262
+ * @since 1.6
1263
+ */
1264
+ public double getValueAsDouble(double defaultValue) throws IOException, JsonParseException {
1265
+ return defaultValue;
1266
+ }
1267
+
1268
+ /**
1269
+ * Method that will try to convert value of current token to a
1270
+ * <b>boolean</b>.
1271
+ * JSON booleans map naturally; integer numbers other than 0 map to true, and
1272
+ * 0 maps to false
1273
+ * and Strings 'true' and 'false' map to corresponding values.
1274
+ *<p>
1275
+ * If representation can not be converted to a boolean value (including structured types
1276
+ * like Objects and Arrays),
1277
+ * default value of <b>false</b> will be returned; no exceptions are thrown.
1278
+ *
1279
+ * @since 1.7
1280
+ */
1281
+ public boolean getValueAsBoolean() throws IOException, JsonParseException {
1282
+ return getValueAsBoolean(false);
1283
+ }
1284
+
1285
+ /**
1286
+ * Method that will try to convert value of current token to a
1287
+ * <b>boolean</b>.
1288
+ * JSON booleans map naturally; integer numbers other than 0 map to true, and
1289
+ * 0 maps to false
1290
+ * and Strings 'true' and 'false' map to corresponding values.
1291
+ *<p>
1292
+ * If representation can not be converted to a boolean value (including structured types
1293
+ * like Objects and Arrays),
1294
+ * specified <b>defaultValue</b> will be returned; no exceptions are thrown.
1295
+ *
1296
+ * @since 1.7
1297
+ */
1298
+ public boolean getValueAsBoolean(boolean defaultValue) throws IOException, JsonParseException {
1299
+ return defaultValue;
1300
+ }
1301
+
1302
+ /*
1303
+ /**********************************************************
1304
+ /* Public API, optional data binding functionality
1305
+ /**********************************************************
1306
+ */
1307
+
1308
+ /**
1309
+ * Method to deserialize JSON content into a non-container
1310
+ * type (it can be an array type, however): typically a bean, array
1311
+ * or a wrapper type (like {@link java.lang.Boolean}).
1312
+ * <b>Note</b>: method can only be called if the parser has
1313
+ * an object codec assigned; this is true for parsers constructed
1314
+ * by {@link sh.calaba.org.codehaus.jackson.map.MappingJsonFactory} but
1315
+ * not for {@link JsonFactory} (unless its <code>setCodec</code>
1316
+ * method has been explicitly called).
1317
+ *<p>
1318
+ * This method may advance the event stream, for structured types
1319
+ * the current token will be the closing end marker (END_ARRAY,
1320
+ * END_OBJECT) of the bound structure. For non-structured Json types
1321
+ * (and for {@link JsonToken#VALUE_EMBEDDED_OBJECT})
1322
+ * stream is not advanced.
1323
+ *<p>
1324
+ * Note: this method should NOT be used if the result type is a
1325
+ * container ({@link java.util.Collection} or {@link java.util.Map}.
1326
+ * The reason is that due to type erasure, key and value types
1327
+ * can not be introspected when using this method.
1328
+ */
1329
+ public <T> T readValueAs(Class<T> valueType)
1330
+ throws IOException, JsonProcessingException
1331
+ {
1332
+ ObjectCodec codec = getCodec();
1333
+ if (codec == null) {
1334
+ throw new IllegalStateException("No ObjectCodec defined for the parser, can not deserialize JSON into Java objects");
1335
+ }
1336
+ return codec.readValue(this, valueType);
1337
+ }
1338
+
1339
+ /**
1340
+ * Method to deserialize JSON content into a Java type, reference
1341
+ * to which is passed as argument. Type is passed using so-called
1342
+ * "super type token"
1343
+ * and specifically needs to be used if the root type is a
1344
+ * parameterized (generic) container type.
1345
+ * <b>Note</b>: method can only be called if the parser has
1346
+ * an object codec assigned; this is true for parsers constructed
1347
+ * by {@link sh.calaba.org.codehaus.jackson.map.MappingJsonFactory} but
1348
+ * not for {@link JsonFactory} (unless its <code>setCodec</code>
1349
+ * method has been explicitly called).
1350
+ *<p>
1351
+ * This method may advance the event stream, for structured types
1352
+ * the current token will be the closing end marker (END_ARRAY,
1353
+ * END_OBJECT) of the bound structure. For non-structured Json types
1354
+ * (and for {@link JsonToken#VALUE_EMBEDDED_OBJECT})
1355
+ * stream is not advanced.
1356
+ */
1357
+ @SuppressWarnings("unchecked")
1358
+ public <T> T readValueAs(TypeReference<?> valueTypeRef)
1359
+ throws IOException, JsonProcessingException
1360
+ {
1361
+ ObjectCodec codec = getCodec();
1362
+ if (codec == null) {
1363
+ throw new IllegalStateException("No ObjectCodec defined for the parser, can not deserialize JSON into Java objects");
1364
+ }
1365
+ /* Ugh. Stupid Java type erasure... can't just chain call,s
1366
+ * must cast here also.
1367
+ */
1368
+ return (T) codec.readValue(this, valueTypeRef);
1369
+ }
1370
+
1371
+ /**
1372
+ * Method for reading sequence of Objects from parser stream,
1373
+ * all with same specified value type.
1374
+ *
1375
+ * @since 1.9
1376
+ */
1377
+ public <T> Iterator<T> readValuesAs(Class<T> valueType)
1378
+ throws IOException, JsonProcessingException
1379
+ {
1380
+ ObjectCodec codec = getCodec();
1381
+ if (codec == null) {
1382
+ throw new IllegalStateException("No ObjectCodec defined for the parser, can not deserialize JSON into Java objects");
1383
+ }
1384
+ return codec.readValues(this, valueType);
1385
+ }
1386
+
1387
+ /**
1388
+ * Method for reading sequence of Objects from parser stream,
1389
+ * all with same specified value type.
1390
+ *
1391
+ * @since 1.9
1392
+ */
1393
+ public <T> Iterator<T> readValuesAs(TypeReference<?> valueTypeRef)
1394
+ throws IOException, JsonProcessingException
1395
+ {
1396
+ ObjectCodec codec = getCodec();
1397
+ if (codec == null) {
1398
+ throw new IllegalStateException("No ObjectCodec defined for the parser, can not deserialize JSON into Java objects");
1399
+ }
1400
+ return codec.readValues(this, valueTypeRef);
1401
+ }
1402
+
1403
+ /**
1404
+ * Method to deserialize JSON content into equivalent "tree model",
1405
+ * represented by root {@link JsonNode} of resulting model.
1406
+ * For JSON Arrays it will an array node (with child nodes),
1407
+ * for objects object node (with child nodes), and for other types
1408
+ * matching leaf node type
1409
+ */
1410
+ public JsonNode readValueAsTree()
1411
+ throws IOException, JsonProcessingException
1412
+ {
1413
+ ObjectCodec codec = getCodec();
1414
+ if (codec == null) {
1415
+ throw new IllegalStateException("No ObjectCodec defined for the parser, can not deserialize JSON into JsonNode tree");
1416
+ }
1417
+ return codec.readTree(this);
1418
+ }
1419
+
1420
+ /*
1421
+ /**********************************************************
1422
+ /* Internal methods
1423
+ /**********************************************************
1424
+ */
1425
+
1426
+ /**
1427
+ * Helper method for constructing {@link JsonParseException}s
1428
+ * based on current state of the parser
1429
+ */
1430
+ protected JsonParseException _constructError(String msg)
1431
+ {
1432
+ return new JsonParseException(msg, getCurrentLocation());
1433
+ }
1434
+ }