calabash-android 0.5.2 → 0.5.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (640) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +3 -0
  3. data/CHANGES.txt +9 -0
  4. data/ENVIRONMENT_VARIABLES.md +106 -0
  5. data/Gemfile +0 -1
  6. data/README_YARDOC.md +163 -0
  7. data/Rakefile +9 -0
  8. data/bin/calabash-android-helpers.rb +1 -4
  9. data/calabash-android.gemspec +9 -5
  10. data/irbrc +1 -0
  11. data/lib/calabash-android/canned_steps.md +1 -1
  12. data/lib/calabash-android/defaults.rb +9 -0
  13. data/lib/calabash-android/gestures.rb +2 -3
  14. data/lib/calabash-android/java_keystore.rb +25 -5
  15. data/lib/calabash-android/lib/TestServer.apk +0 -0
  16. data/lib/calabash-android/operations.rb +12 -0
  17. data/lib/calabash-android/text_helpers.rb +9 -4
  18. data/lib/calabash-android/version.rb +1 -1
  19. data/lib/calabash-android.rb +1 -0
  20. metadata +64 -638
  21. data/Gemfile.lock +0 -44
  22. data/doc/calabash-android-help.txt +0 -29
  23. data/test-server/instrumentation-backend/.classpath +0 -11
  24. data/test-server/instrumentation-backend/.gitignore +0 -1
  25. data/test-server/instrumentation-backend/.project +0 -33
  26. data/test-server/instrumentation-backend/.settings/org.eclipse.jdt.core.prefs +0 -11
  27. data/test-server/instrumentation-backend/AndroidManifest.xml +0 -17
  28. data/test-server/instrumentation-backend/CalabashApkBuilder.jar +0 -0
  29. data/test-server/instrumentation-backend/antlr/UIQuery.g +0 -121
  30. data/test-server/instrumentation-backend/antlr/UIQuery.tokens +0 -12
  31. data/test-server/instrumentation-backend/antlr.sh +0 -2
  32. data/test-server/instrumentation-backend/assets/.gitkeep +0 -0
  33. data/test-server/instrumentation-backend/build-libs/antlr-3.4-complete.jar +0 -0
  34. data/test-server/instrumentation-backend/build-libs/junit.jar +0 -0
  35. data/test-server/instrumentation-backend/build.xml +0 -56
  36. data/test-server/instrumentation-backend/libs/robotium-solo-4.3.1.jar +0 -0
  37. data/test-server/instrumentation-backend/project.properties +0 -11
  38. data/test-server/instrumentation-backend/res/drawable-hdpi/ic_launcher.png +0 -0
  39. data/test-server/instrumentation-backend/res/drawable-ldpi/ic_launcher.png +0 -0
  40. data/test-server/instrumentation-backend/res/drawable-mdpi/ic_launcher.png +0 -0
  41. data/test-server/instrumentation-backend/res/layout/main.xml +0 -12
  42. data/test-server/instrumentation-backend/res/values/strings.xml +0 -7
  43. data/test-server/instrumentation-backend/src/com/jayway/android/robotium/solo/MapViewUtils.java +0 -328
  44. data/test-server/instrumentation-backend/src/com/jayway/android/robotium/solo/PublicViewFetcher.java +0 -11
  45. data/test-server/instrumentation-backend/src/com/jayway/android/robotium/solo/SoloEnhanced.java +0 -85
  46. data/test-server/instrumentation-backend/src/org/antlr/runtime/ANTLRFileStream.java +0 -78
  47. data/test-server/instrumentation-backend/src/org/antlr/runtime/ANTLRInputStream.java +0 -70
  48. data/test-server/instrumentation-backend/src/org/antlr/runtime/ANTLRReaderStream.java +0 -95
  49. data/test-server/instrumentation-backend/src/org/antlr/runtime/ANTLRStringStream.java +0 -230
  50. data/test-server/instrumentation-backend/src/org/antlr/runtime/BaseRecognizer.java +0 -894
  51. data/test-server/instrumentation-backend/src/org/antlr/runtime/BitSet.java +0 -325
  52. data/test-server/instrumentation-backend/src/org/antlr/runtime/BufferedTokenStream.java +0 -272
  53. data/test-server/instrumentation-backend/src/org/antlr/runtime/CharStream.java +0 -57
  54. data/test-server/instrumentation-backend/src/org/antlr/runtime/CharStreamState.java +0 -45
  55. data/test-server/instrumentation-backend/src/org/antlr/runtime/ClassicToken.java +0 -141
  56. data/test-server/instrumentation-backend/src/org/antlr/runtime/CommonToken.java +0 -191
  57. data/test-server/instrumentation-backend/src/org/antlr/runtime/CommonTokenStream.java +0 -153
  58. data/test-server/instrumentation-backend/src/org/antlr/runtime/DFA.java +0 -250
  59. data/test-server/instrumentation-backend/src/org/antlr/runtime/EarlyExitException.java +0 -41
  60. data/test-server/instrumentation-backend/src/org/antlr/runtime/FailedPredicateException.java +0 -54
  61. data/test-server/instrumentation-backend/src/org/antlr/runtime/IntStream.java +0 -122
  62. data/test-server/instrumentation-backend/src/org/antlr/runtime/LegacyCommonTokenStream.java +0 -399
  63. data/test-server/instrumentation-backend/src/org/antlr/runtime/Lexer.java +0 -340
  64. data/test-server/instrumentation-backend/src/org/antlr/runtime/MismatchedNotSetException.java +0 -41
  65. data/test-server/instrumentation-backend/src/org/antlr/runtime/MismatchedRangeException.java +0 -45
  66. data/test-server/instrumentation-backend/src/org/antlr/runtime/MismatchedSetException.java +0 -44
  67. data/test-server/instrumentation-backend/src/org/antlr/runtime/MismatchedTokenException.java +0 -45
  68. data/test-server/instrumentation-backend/src/org/antlr/runtime/MismatchedTreeNodeException.java +0 -49
  69. data/test-server/instrumentation-backend/src/org/antlr/runtime/MissingTokenException.java +0 -56
  70. data/test-server/instrumentation-backend/src/org/antlr/runtime/NoViableAltException.java +0 -57
  71. data/test-server/instrumentation-backend/src/org/antlr/runtime/Parser.java +0 -98
  72. data/test-server/instrumentation-backend/src/org/antlr/runtime/ParserRuleReturnScope.java +0 -52
  73. data/test-server/instrumentation-backend/src/org/antlr/runtime/RecognitionException.java +0 -180
  74. data/test-server/instrumentation-backend/src/org/antlr/runtime/RecognizerSharedState.java +0 -144
  75. data/test-server/instrumentation-backend/src/org/antlr/runtime/RuleReturnScope.java +0 -42
  76. data/test-server/instrumentation-backend/src/org/antlr/runtime/SerializedGrammar.java +0 -204
  77. data/test-server/instrumentation-backend/src/org/antlr/runtime/Token.java +0 -92
  78. data/test-server/instrumentation-backend/src/org/antlr/runtime/TokenRewriteStream.java +0 -569
  79. data/test-server/instrumentation-backend/src/org/antlr/runtime/TokenSource.java +0 -54
  80. data/test-server/instrumentation-backend/src/org/antlr/runtime/TokenStream.java +0 -75
  81. data/test-server/instrumentation-backend/src/org/antlr/runtime/UnbufferedTokenStream.java +0 -82
  82. data/test-server/instrumentation-backend/src/org/antlr/runtime/UnwantedTokenException.java +0 -53
  83. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/BlankDebugEventListener.java +0 -77
  84. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugEventHub.java +0 -292
  85. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugEventListener.java +0 -323
  86. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugEventRepeater.java +0 -88
  87. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugEventSocketProxy.java +0 -358
  88. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugParser.java +0 -101
  89. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugTokenStream.java +0 -156
  90. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugTreeAdaptor.java +0 -250
  91. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugTreeNodeStream.java +0 -155
  92. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugTreeParser.java +0 -112
  93. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/ParseTreeBuilder.java +0 -109
  94. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/Profiler.java +0 -772
  95. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/RemoteDebugEventSocketListener.java +0 -541
  96. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/TraceDebugEventListener.java +0 -108
  97. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/Tracer.java +0 -69
  98. data/test-server/instrumentation-backend/src/org/antlr/runtime/misc/DoubleKeyMap.java +0 -62
  99. data/test-server/instrumentation-backend/src/org/antlr/runtime/misc/FastQueue.java +0 -100
  100. data/test-server/instrumentation-backend/src/org/antlr/runtime/misc/IntArray.java +0 -87
  101. data/test-server/instrumentation-backend/src/org/antlr/runtime/misc/LookaheadStream.java +0 -161
  102. data/test-server/instrumentation-backend/src/org/antlr/runtime/misc/Stats.java +0 -189
  103. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/BaseTree.java +0 -349
  104. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/BaseTreeAdaptor.java +0 -279
  105. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/BufferedTreeNodeStream.java +0 -489
  106. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/CommonErrorNode.java +0 -115
  107. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/CommonTree.java +0 -185
  108. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/CommonTreeAdaptor.java +0 -168
  109. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/CommonTreeNodeStream.java +0 -171
  110. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/ParseTree.java +0 -119
  111. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/RewriteCardinalityException.java +0 -47
  112. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/RewriteEarlyExitException.java +0 -39
  113. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/RewriteEmptyStreamException.java +0 -35
  114. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/RewriteRuleElementStream.java +0 -210
  115. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/RewriteRuleNodeStream.java +0 -70
  116. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/RewriteRuleSubtreeStream.java +0 -86
  117. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/RewriteRuleTokenStream.java +0 -76
  118. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/Tree.java +0 -127
  119. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeAdaptor.java +0 -263
  120. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeFilter.java +0 -135
  121. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeIterator.java +0 -131
  122. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeNodeStream.java +0 -106
  123. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeParser.java +0 -169
  124. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreePatternLexer.java +0 -135
  125. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreePatternParser.java +0 -154
  126. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeRewriter.java +0 -124
  127. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeRuleReturnScope.java +0 -41
  128. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeVisitor.java +0 -69
  129. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeVisitorAction.java +0 -47
  130. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeWizard.java +0 -531
  131. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/CalabashInstrumentationTestRunner.java +0 -51
  132. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/ClearAppData.java +0 -63
  133. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/ClearPreferences.java +0 -36
  134. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/Command.java +0 -50
  135. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/FranklyResult.java +0 -82
  136. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/GetPreferences.java +0 -37
  137. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/InstrumentationBackend.java +0 -190
  138. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/Result.java +0 -87
  139. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/SetPreferences.java +0 -56
  140. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/TestHelpers.java +0 -154
  141. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/WakeUp.java +0 -30
  142. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/Action.java +0 -11
  143. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/Actions.java +0 -86
  144. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/HttpServer.java +0 -376
  145. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/MultiTouchGesture.java +0 -749
  146. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/NanoHTTPD.java +0 -1161
  147. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/NullAction.java +0 -23
  148. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/ViewDump.java +0 -100
  149. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/activity/FinishOpenedActivities.java +0 -19
  150. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/activity/SetActivityOrientation.java +0 -41
  151. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/application/Backdoor.java +0 -55
  152. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/ClickOnScreen.java +0 -31
  153. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/DoubleTapCoordinate.java +0 -25
  154. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/Drag.java +0 -40
  155. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/DragCoordinates.java +0 -28
  156. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/LongPressCoordinate.java +0 -42
  157. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/Swipe.java +0 -33
  158. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/TouchCoordinates.java +0 -28
  159. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/helpers/ListActions.java +0 -26
  160. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/l10n/L10nHelper.java +0 -36
  161. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/l10n/PressElement.java +0 -50
  162. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/l10n/WaitForElement.java +0 -48
  163. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/location/FakeGPSLocation.java +0 -138
  164. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/GetMapBounds.java +0 -27
  165. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/GetMapCenter.java +0 -27
  166. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/GetMapMarker.java +0 -31
  167. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/GetMapMarkers.java +0 -48
  168. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/GetMapZoom.java +0 -19
  169. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/PanMapTo.java +0 -23
  170. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/SetMapCenter.java +0 -23
  171. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/SetMapZoom.java +0 -34
  172. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/TapAwayFromMarkers.java +0 -28
  173. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/TapMapMarker.java +0 -29
  174. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/preferences/ClearPreferences.java +0 -37
  175. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/preferences/GetPreferences.java +0 -39
  176. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/preferences/PreferencesUtils.java +0 -229
  177. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/preferences/SetPreferences.java +0 -56
  178. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/DownKey.java +0 -24
  179. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/EnterKey.java +0 -24
  180. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/GoBack.java +0 -22
  181. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/LeftKey.java +0 -24
  182. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/PressKey.java +0 -85
  183. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/PressMenu.java +0 -26
  184. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/RightKey.java +0 -24
  185. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/UpKey.java +0 -24
  186. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/HideSoftKeyboard.java +0 -56
  187. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/KeyboardEnterText.java +0 -59
  188. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/PressUserActionButton.java +0 -128
  189. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/version/Version.java +0 -31
  190. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/GetActivityName.java +0 -32
  191. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/IsCurrentActivityFocused.java +0 -40
  192. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/CalabashChromeClient.java +0 -248
  193. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/DumpBodyHtml.java +0 -53
  194. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/DumpHtml.java +0 -55
  195. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/EnterTextByCssSelector.java +0 -121
  196. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/ExecuteAsyncJavascript.java +0 -77
  197. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/ExecuteJavascript.java +0 -75
  198. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/GetLoadProgress.java +0 -21
  199. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/GetUrl.java +0 -21
  200. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/JavaScriptExecuter.java +0 -105
  201. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/QueryHelper.java +0 -114
  202. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/ScrollTo.java +0 -89
  203. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/SetPropertyByCssSelector.java +0 -69
  204. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/UnableToFindChromeClientException.java +0 -26
  205. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/json/JSONUtils.java +0 -18
  206. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/CompletedFuture.java +0 -40
  207. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/InvocationOperation.java +0 -269
  208. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/Operation.java +0 -7
  209. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/PropertyOperation.java +0 -56
  210. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/Query.java +0 -172
  211. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/QueryResult.java +0 -45
  212. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/UIQuery.tokens +0 -20
  213. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/UIQueryResultVoid.java +0 -22
  214. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ViewMapper.java +0 -120
  215. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/antlr/UIQueryLexer.java +0 -1905
  216. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/antlr/UIQueryParser.java +0 -772
  217. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/BeginsWithRelation.java +0 -45
  218. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/ComparisonOperator.java +0 -60
  219. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/ContainsRelation.java +0 -41
  220. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/DoubleFuture.java +0 -63
  221. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/EndsWithRelation.java +0 -42
  222. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/InvalidUIQueryException.java +0 -10
  223. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/LikeRelation.java +0 -79
  224. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/PartialFutureList.java +0 -100
  225. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryAST.java +0 -8
  226. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryASTClassName.java +0 -147
  227. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryASTPredicate.java +0 -159
  228. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryASTPredicateRelation.java +0 -5
  229. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryASTWith.java +0 -222
  230. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryDirection.java +0 -15
  231. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryEvaluator.java +0 -69
  232. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryUtils.java +0 -686
  233. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryVisibility.java +0 -32
  234. data/test-server/instrumentation-backend/src/sh/calaba/org/apache/http/entity/mime/version.properties +0 -22
  235. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Base64Variant.java +0 -413
  236. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Base64Variants.java +0 -90
  237. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/FormatSchema.java +0 -29
  238. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonEncoding.java +0 -47
  239. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonFactory.java +0 -937
  240. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonGenerationException.java +0 -28
  241. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonGenerator.java +0 -1197
  242. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonLocation.java +0 -141
  243. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonNode.java +0 -879
  244. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonParseException.java +0 -23
  245. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonParser.java +0 -1434
  246. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonProcessingException.java +0 -80
  247. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonStreamContext.java +0 -122
  248. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonToken.java +0 -161
  249. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/ObjectCodec.java +0 -157
  250. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/PrettyPrinter.java +0 -166
  251. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/SerializableString.java +0 -54
  252. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Version.java +0 -90
  253. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Versioned.java +0 -20
  254. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JacksonAnnotation.java +0 -20
  255. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonAnyGetter.java +0 -25
  256. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonAnySetter.java +0 -24
  257. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonAutoDetect.java +0 -148
  258. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonBackReference.java +0 -41
  259. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonCreator.java +0 -19
  260. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonGetter.java +0 -35
  261. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonIgnore.java +0 -57
  262. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonIgnoreProperties.java +0 -48
  263. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonIgnoreType.java +0 -33
  264. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonManagedReference.java +0 -41
  265. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonMethod.java +0 -90
  266. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonProperty.java +0 -38
  267. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonPropertyOrder.java +0 -46
  268. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonRawValue.java +0 -33
  269. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonSetter.java +0 -33
  270. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonSubTypes.java +0 -44
  271. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonTypeInfo.java +0 -236
  272. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonTypeName.java +0 -28
  273. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonUnwrapped.java +0 -76
  274. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonValue.java +0 -46
  275. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonWriteNullProperties.java +0 -34
  276. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/package-info.java +0 -16
  277. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/DataFormatDetector.java +0 -176
  278. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/DataFormatMatcher.java +0 -117
  279. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/InputAccessor.java +0 -130
  280. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/MatchStrength.java +0 -64
  281. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/package-info.java +0 -8
  282. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/ByteSourceBootstrapper.java +0 -518
  283. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/DefaultPrettyPrinter.java +0 -13
  284. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/Indenter.java +0 -23
  285. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonGeneratorBase.java +0 -570
  286. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonNumericParserBase.java +0 -20
  287. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonParserBase.java +0 -1067
  288. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonParserMinimalBase.java +0 -539
  289. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonReadContext.java +0 -188
  290. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonWriteContext.java +0 -178
  291. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/ReaderBasedParser.java +0 -1815
  292. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/ReaderBasedParserBase.java +0 -228
  293. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/StreamBasedParserBase.java +0 -197
  294. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/Utf8Generator.java +0 -1757
  295. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/Utf8StreamParser.java +0 -2966
  296. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/WriterBasedGenerator.java +0 -1815
  297. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/package-info.java +0 -6
  298. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/BaseReader.java +0 -117
  299. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/CharacterEscapes.java +0 -73
  300. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/IOContext.java +0 -239
  301. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/InputDecorator.java +0 -67
  302. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/JsonStringEncoder.java +0 -408
  303. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/MergedStream.java +0 -145
  304. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/NumberInput.java +0 -303
  305. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/NumberOutput.java +0 -398
  306. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/OutputDecorator.java +0 -40
  307. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/SegmentedStringWriter.java +0 -104
  308. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/SerializedString.java +0 -114
  309. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/UTF32Reader.java +0 -214
  310. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/UTF8Writer.java +0 -387
  311. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/package.html +0 -4
  312. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/AbstractTypeResolver.java +0 -63
  313. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/AnnotationIntrospector.java +0 -1485
  314. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/BeanDescription.java +0 -171
  315. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/BeanProperty.java +0 -123
  316. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/BeanPropertyDefinition.java +0 -66
  317. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ClassIntrospector.java +0 -117
  318. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ContextualDeserializer.java +0 -38
  319. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ContextualKeyDeserializer.java +0 -33
  320. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ContextualSerializer.java +0 -38
  321. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializationConfig.java +0 -926
  322. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializationContext.java +0 -262
  323. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializationProblemHandler.java +0 -56
  324. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializerFactory.java +0 -356
  325. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializerProvider.java +0 -185
  326. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/Deserializers.java +0 -339
  327. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/HandlerInstantiator.java +0 -115
  328. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/InjectableValues.java +0 -85
  329. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonDeserializer.java +0 -166
  330. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonMappingException.java +0 -335
  331. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonSerializable.java +0 -34
  332. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonSerializableWithType.java +0 -22
  333. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonSerializer.java +0 -138
  334. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/KeyDeserializer.java +0 -31
  335. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/KeyDeserializers.java +0 -21
  336. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/MapperConfig.java +0 -1154
  337. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/MappingIterator.java +0 -190
  338. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/MappingJsonFactory.java +0 -81
  339. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/Module.java +0 -255
  340. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ObjectMapper.java +0 -2885
  341. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ObjectReader.java +0 -958
  342. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ObjectWriter.java +0 -554
  343. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/PropertyNamingStrategy.java +0 -258
  344. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ResolvableDeserializer.java +0 -23
  345. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ResolvableSerializer.java +0 -23
  346. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/RuntimeJsonMappingException.java +0 -21
  347. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/SerializationConfig.java +0 -1041
  348. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/SerializerFactory.java +0 -198
  349. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/SerializerProvider.java +0 -552
  350. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/Serializers.java +0 -137
  351. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/TypeDeserializer.java +0 -118
  352. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/TypeSerializer.java +0 -164
  353. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JacksonInject.java +0 -30
  354. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JacksonStdImpl.java +0 -25
  355. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonCachable.java +0 -32
  356. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonDeserialize.java +0 -109
  357. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonFilter.java +0 -31
  358. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonRootName.java +0 -29
  359. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonSerialize.java +0 -216
  360. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonTypeIdResolver.java +0 -35
  361. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonTypeResolver.java +0 -28
  362. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonValueInstantiator.java +0 -26
  363. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonView.java +0 -37
  364. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/NoClass.java +0 -19
  365. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/package-info.java +0 -5
  366. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/AbstractDeserializer.java +0 -102
  367. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ArrayDeserializer.java +0 -28
  368. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ArrayDeserializers.java +0 -11
  369. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BasicDeserializerFactory.java +0 -894
  370. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializer.java +0 -1537
  371. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializerBuilder.java +0 -277
  372. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializerFactory.java +0 -1474
  373. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializerModifier.java +0 -58
  374. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/CollectionDeserializer.java +0 -47
  375. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ContainerDeserializer.java +0 -14
  376. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/CustomDeserializerFactory.java +0 -227
  377. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/DateDeserializer.java +0 -9
  378. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/EnumDeserializer.java +0 -15
  379. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/EnumResolver.java +0 -17
  380. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/FromStringDeserializer.java +0 -13
  381. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/JsonNodeDeserializer.java +0 -54
  382. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/MapDeserializer.java +0 -44
  383. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/SettableAnyProperty.java +0 -177
  384. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/SettableBeanProperty.java +0 -827
  385. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializationContext.java +0 -326
  386. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializer.java +0 -94
  387. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializerProvider.java +0 -494
  388. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializers.java +0 -119
  389. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdKeyDeserializer.java +0 -12
  390. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdKeyDeserializers.java +0 -11
  391. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdScalarDeserializer.java +0 -13
  392. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ThrowableDeserializer.java +0 -13
  393. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/UntypedObjectDeserializer.java +0 -9
  394. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ValueInstantiator.java +0 -280
  395. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ValueInstantiators.java +0 -52
  396. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/BeanPropertyMap.java +0 -257
  397. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/CreatorCollector.java +0 -141
  398. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/CreatorProperty.java +0 -152
  399. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/ExternalTypeHandler.java +0 -173
  400. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/PropertyBasedCreator.java +0 -117
  401. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/PropertyValue.java +0 -117
  402. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/PropertyValueBuffer.java +0 -102
  403. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/UnwrappedPropertyHandler.java +0 -41
  404. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/ValueInjector.java +0 -45
  405. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/package-info.java +0 -9
  406. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/package-info.java +0 -5
  407. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/AtomicBooleanDeserializer.java +0 -22
  408. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/AtomicReferenceDeserializer.java +0 -47
  409. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/CalendarDeserializer.java +0 -47
  410. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ClassDeserializer.java +0 -49
  411. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/CollectionDeserializer.java +0 -265
  412. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ContainerDeserializerBase.java +0 -37
  413. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/DateDeserializer.java +0 -30
  414. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/EnumDeserializer.java +0 -139
  415. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/EnumMapDeserializer.java +0 -90
  416. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/EnumSetDeserializer.java +0 -89
  417. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/FromStringDeserializer.java +0 -265
  418. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/JavaTypeDeserializer.java +0 -38
  419. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/JsonNodeDeserializer.java +0 -314
  420. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/MapDeserializer.java +0 -412
  421. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ObjectArrayDeserializer.java +0 -201
  422. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/PrimitiveArrayDeserializers.java +0 -583
  423. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdDeserializer.java +0 -1136
  424. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdKeyDeserializer.java +0 -340
  425. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdKeyDeserializers.java +0 -108
  426. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdScalarDeserializer.java +0 -34
  427. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdValueInstantiator.java +0 -392
  428. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StringCollectionDeserializer.java +0 -227
  429. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StringDeserializer.java +0 -55
  430. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ThrowableDeserializer.java +0 -164
  431. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/TimestampDeserializer.java +0 -30
  432. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/TokenBufferDeserializer.java +0 -36
  433. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/UntypedObjectDeserializer.java +0 -248
  434. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/package-info.java +0 -15
  435. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/exc/UnrecognizedPropertyException.java +0 -75
  436. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/DOMDeserializer.java +0 -65
  437. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/OptionalHandlerFactory.java +0 -217
  438. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/package-info.java +0 -23
  439. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/Annotated.java +0 -85
  440. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedClass.java +0 -980
  441. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedConstructor.java +0 -143
  442. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedField.java +0 -119
  443. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedMember.java +0 -56
  444. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedMethod.java +0 -188
  445. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedMethodMap.java +0 -85
  446. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedParameter.java +0 -191
  447. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedWithParams.java +0 -195
  448. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotationMap.java +0 -101
  449. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/BasicBeanDescription.java +0 -615
  450. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/BasicClassIntrospector.java +0 -364
  451. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/JacksonAnnotationIntrospector.java +0 -813
  452. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/MemberKey.java +0 -83
  453. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/MethodFilter.java +0 -12
  454. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/NopAnnotationIntrospector.java +0 -209
  455. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/POJOPropertiesCollector.java +0 -713
  456. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/POJOPropertyBuilder.java +0 -648
  457. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/VisibilityChecker.java +0 -424
  458. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/package-info.java +0 -12
  459. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/NamedType.java +0 -53
  460. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/SubtypeResolver.java +0 -39
  461. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/TypeIdResolver.java +0 -74
  462. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/TypeResolverBuilder.java +0 -151
  463. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsArrayTypeDeserializer.java +0 -126
  464. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsArrayTypeSerializer.java +0 -110
  465. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsExternalTypeDeserializer.java +0 -37
  466. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsExternalTypeSerializer.java +0 -129
  467. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsPropertyTypeDeserializer.java +0 -191
  468. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsPropertyTypeSerializer.java +0 -69
  469. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsWrapperTypeDeserializer.java +0 -103
  470. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsWrapperTypeSerializer.java +0 -121
  471. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/ClassNameIdResolver.java +0 -138
  472. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/MinimalClassNameIdResolver.java +0 -66
  473. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/StdSubtypeResolver.java +0 -151
  474. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/StdTypeResolverBuilder.java +0 -202
  475. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeDeserializerBase.java +0 -154
  476. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeIdResolverBase.java +0 -37
  477. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeNameIdResolver.java +0 -154
  478. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeSerializerBase.java +0 -31
  479. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/package-info.java +0 -9
  480. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/package-info.java +0 -10
  481. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleAbstractTypeResolver.java +0 -86
  482. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleDeserializers.java +0 -130
  483. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleKeyDeserializers.java +0 -59
  484. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleModule.java +0 -265
  485. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleSerializers.java +0 -206
  486. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleValueInstantiators.java +0 -45
  487. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/package-info.java +0 -16
  488. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/package-info.java +0 -34
  489. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/AnyGetterWriter.java +0 -48
  490. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ArraySerializers.java +0 -7
  491. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BasicSerializerFactory.java +0 -806
  492. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanPropertyFilter.java +0 -30
  493. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanPropertyWriter.java +0 -512
  494. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializer.java +0 -126
  495. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializerBuilder.java +0 -140
  496. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializerFactory.java +0 -780
  497. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializerModifier.java +0 -95
  498. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ContainerSerializers.java +0 -8
  499. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/CustomSerializerFactory.java +0 -293
  500. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/EnumSerializer.java +0 -17
  501. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/FilterProvider.java +0 -23
  502. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/FilteredBeanPropertyWriter.java +0 -96
  503. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/JdkSerializers.java +0 -11
  504. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/MapSerializer.java +0 -58
  505. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/PropertyBuilder.java +0 -372
  506. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ScalarSerializerBase.java +0 -18
  507. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/SerializerBase.java +0 -23
  508. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/StdKeySerializer.java +0 -10
  509. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/StdSerializerProvider.java +0 -852
  510. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/StdSerializers.java +0 -372
  511. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ToStringSerializer.java +0 -14
  512. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/FailingSerializer.java +0 -43
  513. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/JsonSerializerMap.java +0 -93
  514. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/PropertySerializerMap.java +0 -231
  515. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/ReadOnlyClassToSerializerMap.java +0 -73
  516. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/SerializerCache.java +0 -304
  517. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/SimpleBeanPropertyFilter.java +0 -109
  518. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/SimpleFilterProvider.java +0 -114
  519. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/UnknownSerializer.java +0 -54
  520. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/UnwrappingBeanPropertyWriter.java +0 -99
  521. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/UnwrappingBeanSerializer.java +0 -76
  522. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/package-info.java +0 -5
  523. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/package-info.java +0 -5
  524. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/AsArraySerializerBase.java +0 -185
  525. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/BeanSerializerBase.java +0 -340
  526. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/CalendarSerializer.java +0 -43
  527. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/CollectionSerializer.java +0 -113
  528. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ContainerSerializerBase.java +0 -51
  529. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/DateSerializer.java +0 -42
  530. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/EnumMapSerializer.java +0 -218
  531. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/EnumSerializer.java +0 -84
  532. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/EnumSetSerializer.java +0 -47
  533. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/IndexedStringListSerializer.java +0 -116
  534. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/InetAddressSerializer.java +0 -51
  535. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/IterableSerializer.java +0 -63
  536. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/JsonValueSerializer.java +0 -233
  537. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/MapSerializer.java +0 -422
  538. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/NonTypedScalarSerializerBase.java +0 -34
  539. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/NullSerializer.java +0 -38
  540. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ObjectArraySerializer.java +0 -281
  541. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/RawSerializer.java +0 -52
  542. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ScalarSerializerBase.java +0 -52
  543. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/SerializableSerializer.java +0 -99
  544. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/SerializableWithTypeSerializer.java +0 -90
  545. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/SerializerBase.java +0 -184
  546. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StaticListSerializerBase.java +0 -46
  547. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdArraySerializers.java +0 -476
  548. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdContainerSerializers.java +0 -249
  549. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdJdkSerializers.java +0 -195
  550. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdKeySerializer.java +0 -43
  551. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdKeySerializers.java +0 -95
  552. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StringCollectionSerializer.java +0 -119
  553. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StringSerializer.java +0 -36
  554. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/TimeZoneSerializer.java +0 -38
  555. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ToStringSerializer.java +0 -73
  556. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/TokenBufferSerializer.java +0 -66
  557. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/ArrayType.java +0 -260
  558. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/ClassKey.java +0 -94
  559. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/CollectionLikeType.java +0 -204
  560. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/CollectionType.java +0 -94
  561. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/HierarchicType.java +0 -88
  562. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/MapLikeType.java +0 -265
  563. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/MapType.java +0 -146
  564. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/SimpleType.java +0 -250
  565. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeBase.java +0 -148
  566. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeBindings.java +0 -351
  567. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeFactory.java +0 -1165
  568. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeModifier.java +0 -38
  569. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeParser.java +0 -134
  570. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/package-info.java +0 -10
  571. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Annotations.java +0 -23
  572. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ArrayBuilders.java +0 -293
  573. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/BeanUtil.java +0 -260
  574. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ClassUtil.java +0 -645
  575. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Comparators.java +0 -48
  576. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/EnumResolver.java +0 -108
  577. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/EnumValues.java +0 -82
  578. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ISO8601DateFormat.java +0 -52
  579. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ISO8601Utils.java +0 -230
  580. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/JSONPObject.java +0 -105
  581. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/JSONWrappedObject.java +0 -117
  582. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/LRUMap.java +0 -28
  583. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/LinkedNode.java +0 -45
  584. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Named.java +0 -10
  585. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ObjectBuffer.java +0 -257
  586. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/PrimitiveArrayBuilder.java +0 -180
  587. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Provider.java +0 -21
  588. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/RootNameLookup.java +0 -54
  589. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/StdDateFormat.java +0 -348
  590. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/package-info.java +0 -4
  591. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ArrayNode.java +0 -758
  592. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BaseJsonNode.java +0 -122
  593. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BigIntegerNode.java +0 -104
  594. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BinaryNode.java +0 -136
  595. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BooleanNode.java +0 -84
  596. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ContainerNode.java +0 -185
  597. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/DecimalNode.java +0 -96
  598. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/DoubleNode.java +0 -106
  599. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/IntNode.java +0 -122
  600. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/JsonNodeFactory.java +0 -222
  601. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/LongNode.java +0 -99
  602. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/MissingNode.java +0 -97
  603. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/NodeCursor.java +0 -222
  604. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/NullNode.java +0 -58
  605. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/NumericNode.java +0 -72
  606. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ObjectNode.java +0 -696
  607. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/POJONode.java +0 -145
  608. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/TextNode.java +0 -299
  609. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/TreeTraversingParser.java +0 -383
  610. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ValueNode.java +0 -58
  611. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/package-info.java +0 -8
  612. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/package-info.java +0 -30
  613. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/JsonSchema.java +0 -82
  614. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/JsonSerializableSchema.java +0 -46
  615. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/SchemaAware.java +0 -25
  616. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/package-info.java +0 -5
  617. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/BytesToNameCanonicalizer.java +0 -969
  618. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/CharsToNameCanonicalizer.java +0 -578
  619. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name.java +0 -50
  620. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name1.java +0 -44
  621. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name2.java +0 -40
  622. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name3.java +0 -39
  623. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/NameN.java +0 -68
  624. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/package-info.java +0 -5
  625. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/type/JavaType.java +0 -503
  626. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/type/TypeReference.java +0 -60
  627. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/type/package-info.java +0 -8
  628. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/BufferRecycler.java +0 -109
  629. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/ByteArrayBuilder.java +0 -294
  630. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/CharTypes.java +0 -237
  631. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/DefaultPrettyPrinter.java +0 -282
  632. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/InternCache.java +0 -49
  633. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/JsonGeneratorDelegate.java +0 -273
  634. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/JsonParserDelegate.java +0 -251
  635. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/JsonParserSequence.java +0 -150
  636. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/MinimalPrettyPrinter.java +0 -152
  637. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/TextBuffer.java +0 -707
  638. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/TokenBuffer.java +0 -1233
  639. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/VersionUtil.java +0 -79
  640. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/package-info.java +0 -4
@@ -1,2885 +0,0 @@
1
- package sh.calaba.org.codehaus.jackson.map;
2
-
3
- import java.io.Closeable;
4
- import java.io.EOFException;
5
- import java.io.File;
6
- import java.io.IOException;
7
- import java.io.InputStream;
8
- import java.io.OutputStream;
9
- import java.io.Reader;
10
- import java.io.Writer;
11
- import java.lang.reflect.Type;
12
- import java.net.URL;
13
- import java.text.DateFormat;
14
- import java.util.Collection;
15
- import java.util.concurrent.ConcurrentHashMap;
16
-
17
- import sh.calaba.org.codehaus.jackson.FormatSchema;
18
- import sh.calaba.org.codehaus.jackson.JsonEncoding;
19
- import sh.calaba.org.codehaus.jackson.JsonFactory;
20
- import sh.calaba.org.codehaus.jackson.JsonGenerationException;
21
- import sh.calaba.org.codehaus.jackson.JsonGenerator;
22
- import sh.calaba.org.codehaus.jackson.JsonNode;
23
- import sh.calaba.org.codehaus.jackson.JsonParseException;
24
- import sh.calaba.org.codehaus.jackson.JsonParser;
25
- import sh.calaba.org.codehaus.jackson.JsonProcessingException;
26
- import sh.calaba.org.codehaus.jackson.JsonToken;
27
- import sh.calaba.org.codehaus.jackson.ObjectCodec;
28
- import sh.calaba.org.codehaus.jackson.PrettyPrinter;
29
- import sh.calaba.org.codehaus.jackson.Version;
30
- import sh.calaba.org.codehaus.jackson.Versioned;
31
- import sh.calaba.org.codehaus.jackson.annotate.JsonAutoDetect;
32
- import sh.calaba.org.codehaus.jackson.annotate.JsonMethod;
33
- import sh.calaba.org.codehaus.jackson.annotate.JsonTypeInfo;
34
- import sh.calaba.org.codehaus.jackson.io.SegmentedStringWriter;
35
- import sh.calaba.org.codehaus.jackson.io.SerializedString;
36
- import sh.calaba.org.codehaus.jackson.map.annotate.JsonSerialize;
37
- import sh.calaba.org.codehaus.jackson.map.deser.BeanDeserializerModifier;
38
- import sh.calaba.org.codehaus.jackson.map.deser.StdDeserializationContext;
39
- import sh.calaba.org.codehaus.jackson.map.deser.StdDeserializerProvider;
40
- import sh.calaba.org.codehaus.jackson.map.deser.ValueInstantiators;
41
- import sh.calaba.org.codehaus.jackson.map.introspect.BasicClassIntrospector;
42
- import sh.calaba.org.codehaus.jackson.map.introspect.JacksonAnnotationIntrospector;
43
- import sh.calaba.org.codehaus.jackson.map.introspect.VisibilityChecker;
44
- import sh.calaba.org.codehaus.jackson.map.jsontype.NamedType;
45
- import sh.calaba.org.codehaus.jackson.map.jsontype.SubtypeResolver;
46
- import sh.calaba.org.codehaus.jackson.map.jsontype.TypeResolverBuilder;
47
- import sh.calaba.org.codehaus.jackson.map.jsontype.impl.StdSubtypeResolver;
48
- import sh.calaba.org.codehaus.jackson.map.jsontype.impl.StdTypeResolverBuilder;
49
- import sh.calaba.org.codehaus.jackson.map.ser.BeanSerializerFactory;
50
- import sh.calaba.org.codehaus.jackson.map.ser.BeanSerializerModifier;
51
- import sh.calaba.org.codehaus.jackson.map.ser.FilterProvider;
52
- import sh.calaba.org.codehaus.jackson.map.ser.StdSerializerProvider;
53
- import sh.calaba.org.codehaus.jackson.map.type.SimpleType;
54
- import sh.calaba.org.codehaus.jackson.map.type.TypeFactory;
55
- import sh.calaba.org.codehaus.jackson.map.type.TypeModifier;
56
- import sh.calaba.org.codehaus.jackson.node.ArrayNode;
57
- import sh.calaba.org.codehaus.jackson.node.JsonNodeFactory;
58
- import sh.calaba.org.codehaus.jackson.node.NullNode;
59
- import sh.calaba.org.codehaus.jackson.node.ObjectNode;
60
- import sh.calaba.org.codehaus.jackson.node.TreeTraversingParser;
61
- import sh.calaba.org.codehaus.jackson.schema.JsonSchema;
62
- import sh.calaba.org.codehaus.jackson.type.JavaType;
63
- import sh.calaba.org.codehaus.jackson.type.TypeReference;
64
- import sh.calaba.org.codehaus.jackson.util.ByteArrayBuilder;
65
- import sh.calaba.org.codehaus.jackson.util.DefaultPrettyPrinter;
66
- import sh.calaba.org.codehaus.jackson.util.TokenBuffer;
67
- import sh.calaba.org.codehaus.jackson.util.VersionUtil;
68
-
69
- /**
70
- * This mapper (or, data binder, or codec) provides functionality for
71
- * converting between Java objects (instances of JDK provided core classes,
72
- * beans), and matching JSON constructs.
73
- * It will use instances of {@link JsonParser} and {@link JsonGenerator}
74
- * for implementing actual reading/writing of JSON.
75
- *<p>
76
- * The main conversion API is defined in {@link ObjectCodec}, so that
77
- * implementation details of this class need not be exposed to
78
- * streaming parser and generator classes.
79
- *<p>
80
- * Note on caching: root-level deserializers are always cached, and accessed
81
- * using full (generics-aware) type information. This is different from
82
- * caching of referenced types, which is more limited and is done only
83
- * for a subset of all deserializer types. The main reason for difference
84
- * is that at root-level there is no incoming reference (and hence no
85
- * referencing property, no referral information or annotations to
86
- * produce differing deserializers), and that the performance impact
87
- * greatest at root level (since it'll essentially cache the full
88
- * graph of deserializers involved).
89
- */
90
- public class ObjectMapper
91
- extends ObjectCodec
92
- implements Versioned
93
- {
94
- /*
95
- /**********************************************************
96
- /* Helper classes, enums
97
- /**********************************************************
98
- */
99
-
100
- /**
101
- * Enumeration used with {@link ObjectMapper#enableDefaultTyping()}
102
- * to specify what kind of types (classes) default typing should
103
- * be used for. It will only be used if no explicit type information
104
- * is found, but this enumeration further limits subset of those
105
- * types.
106
- *
107
- * @since 1.5
108
- */
109
- public enum DefaultTyping {
110
- /**
111
- * This value means that only properties that have
112
- * {@link java.lang.Object} as declared type (including
113
- * generic types without explicit type) will use default
114
- * typing.
115
- */
116
- JAVA_LANG_OBJECT,
117
-
118
- /**
119
- * Value that means that default typing will be used for
120
- * properties with declared type of {@link java.lang.Object}
121
- * or an abstract type (abstract class or interface).
122
- * Note that this does <b>not</b> include array types.
123
- */
124
- OBJECT_AND_NON_CONCRETE,
125
-
126
- /**
127
- * Value that means that default typing will be used for
128
- * all types covered by {@link #OBJECT_AND_NON_CONCRETE}
129
- * plus all array types for them.
130
- */
131
- NON_CONCRETE_AND_ARRAYS,
132
-
133
- /**
134
- * Value that means that default typing will be used for
135
- * all non-final types, with exception of small number of
136
- * "natural" types (String, Boolean, Integer, Double), which
137
- * can be correctly inferred from JSON; as well as for
138
- * all arrays of non-final types.
139
- */
140
- NON_FINAL
141
- }
142
-
143
- /**
144
- * Customized {@link TypeResolverBuilder} that provides type resolver builders
145
- * used with so-called "default typing"
146
- * (see {@link ObjectMapper#enableDefaultTyping()} for details).
147
- *<p>
148
- * Type resolver construction is based on configuration: implementation takes care
149
- * of only providing builders in cases where type information should be applied.
150
- * This is important since build calls may be sent for any and all types, and
151
- * type information should NOT be applied to all of them.
152
- */
153
- public static class DefaultTypeResolverBuilder
154
- extends StdTypeResolverBuilder
155
- {
156
- /**
157
- * Definition of what types is this default typer valid for.
158
- */
159
- protected final DefaultTyping _appliesFor;
160
-
161
- public DefaultTypeResolverBuilder(DefaultTyping t) {
162
- _appliesFor = t;
163
- }
164
-
165
- @Override
166
- public TypeDeserializer buildTypeDeserializer(DeserializationConfig config,
167
- JavaType baseType, Collection<NamedType> subtypes, BeanProperty property)
168
- {
169
- return useForType(baseType) ? super.buildTypeDeserializer(config, baseType, subtypes, property) : null;
170
- }
171
-
172
- @Override
173
- public TypeSerializer buildTypeSerializer(SerializationConfig config,
174
- JavaType baseType, Collection<NamedType> subtypes, BeanProperty property)
175
- {
176
- return useForType(baseType) ? super.buildTypeSerializer(config, baseType, subtypes, property) : null;
177
- }
178
-
179
- /**
180
- * Method called to check if the default type handler should be
181
- * used for given type.
182
- * Note: "natural types" (String, Boolean, Integer, Double) will never
183
- * use typing; that is both due to them being concrete and final,
184
- * and since actual serializers and deserializers will also ignore any
185
- * attempts to enforce typing.
186
- */
187
- public boolean useForType(JavaType t)
188
- {
189
- switch (_appliesFor) {
190
- case NON_CONCRETE_AND_ARRAYS:
191
- if (t.isArrayType()) {
192
- t = t.getContentType();
193
- }
194
- // fall through
195
- case OBJECT_AND_NON_CONCRETE:
196
- return (t.getRawClass() == Object.class) || !t.isConcrete();
197
- case NON_FINAL:
198
- if (t.isArrayType()) {
199
- t = t.getContentType();
200
- }
201
- return !t.isFinal(); // includes Object.class
202
- default:
203
- //case JAVA_LANG_OBJECT:
204
- return (t.getRawClass() == Object.class);
205
- }
206
- }
207
- }
208
-
209
- /*
210
- /**********************************************************
211
- /* Internal constants, singletons
212
- /**********************************************************
213
- */
214
-
215
- // Quick little shortcut, to avoid having to use global TypeFactory instance...
216
- private final static JavaType JSON_NODE_TYPE = SimpleType.constructUnsafe(JsonNode.class);
217
-
218
- /* !!! 03-Apr-2009, tatu: Should try to avoid direct reference... but not
219
- * sure what'd be simple and elegant way. So until then:
220
- */
221
- protected final static ClassIntrospector<? extends BeanDescription> DEFAULT_INTROSPECTOR = BasicClassIntrospector.instance;
222
-
223
- // 16-May-2009, tatu: Ditto ^^^
224
- protected final static AnnotationIntrospector DEFAULT_ANNOTATION_INTROSPECTOR = new JacksonAnnotationIntrospector();
225
-
226
- /**
227
- * @since 1.5
228
- */
229
- protected final static VisibilityChecker<?> STD_VISIBILITY_CHECKER = VisibilityChecker.Std.defaultInstance();
230
-
231
- /*
232
- /**********************************************************
233
- /* Configuration settings, shared
234
- /**********************************************************
235
- */
236
-
237
- /**
238
- * Factory used to create {@link JsonParser} and {@link JsonGenerator}
239
- * instances as necessary.
240
- */
241
- protected final JsonFactory _jsonFactory;
242
-
243
- /**
244
- * Registered concrete subtypes that can be used instead of (or
245
- * in addition to) ones declared using annotations.
246
- *
247
- * @since 1.6
248
- */
249
- protected SubtypeResolver _subtypeResolver;
250
-
251
- /**
252
- * Specific factory used for creating {@link JavaType} instances;
253
- * needed to allow modules to add more custom type handling
254
- * (mostly to support types of non-Java JVM languages)
255
- */
256
- protected TypeFactory _typeFactory;
257
-
258
- /**
259
- * Provider for values to inject in deserialized POJOs.
260
- *
261
- * @since 1.9
262
- */
263
- protected InjectableValues _injectableValues;
264
-
265
- /*
266
- /**********************************************************
267
- /* Configuration settings, serialization
268
- /**********************************************************
269
- */
270
-
271
- /**
272
- * Configuration object that defines basic global
273
- * settings for the serialization process
274
- */
275
- protected SerializationConfig _serializationConfig;
276
-
277
- /**
278
- * Object that manages access to serializers used for serialization,
279
- * including caching.
280
- * It is configured with {@link #_serializerFactory} to allow
281
- * for constructing custom serializers.
282
- */
283
- protected SerializerProvider _serializerProvider;
284
-
285
- /**
286
- * Serializer factory used for constructing serializers.
287
- */
288
- protected SerializerFactory _serializerFactory;
289
-
290
- /*
291
- /**********************************************************
292
- /* Configuration settings, deserialization
293
- /**********************************************************
294
- */
295
-
296
- /**
297
- * Configuration object that defines basic global
298
- * settings for the serialization process
299
- */
300
- protected DeserializationConfig _deserializationConfig;
301
-
302
- /**
303
- * Object that manages access to deserializers used for deserializing
304
- * JSON content into Java objects, including possible caching
305
- * of the deserializers. It contains a reference to
306
- * {@link DeserializerFactory} to use for constructing acutal deserializers.
307
- */
308
- protected DeserializerProvider _deserializerProvider;
309
-
310
- /*
311
- /**********************************************************
312
- /* Caching
313
- /**********************************************************
314
- */
315
-
316
- /* Note: handling of serializers and deserializers is not symmetric;
317
- * and as a result, only root-level deserializers can be cached here.
318
- * This is mostly because typing and resolution for deserializers is
319
- * fully static; whereas it is quite dynamic for serialization.
320
- */
321
-
322
- /**
323
- * We will use a separate main-level Map for keeping track
324
- * of root-level deserializers. This is where most succesful
325
- * cache lookups get resolved.
326
- * Map will contain resolvers for all kinds of types, including
327
- * container types: this is different from the component cache
328
- * which will only cache bean deserializers.
329
- *<p>
330
- * Given that we don't expect much concurrency for additions
331
- * (should very quickly converge to zero after startup), let's
332
- * explicitly define a low concurrency setting.
333
- *<p>
334
- * Since version 1.5, these may are either "raw" deserializers (when
335
- * no type information is needed for base type), or type-wrapped
336
- * deserializers (if it is needed)
337
- */
338
- final protected ConcurrentHashMap<JavaType, JsonDeserializer<Object>> _rootDeserializers
339
- = new ConcurrentHashMap<JavaType, JsonDeserializer<Object>>(64, 0.6f, 2);
340
-
341
- /*
342
- /**********************************************************
343
- /* Life-cycle: constructing instance
344
- /**********************************************************
345
- */
346
-
347
- /**
348
- * Default constructor, which will construct the default
349
- * {@link JsonFactory} as necessary, use
350
- * {@link StdSerializerProvider} as its
351
- * {@link SerializerProvider}, and
352
- * {@link BeanSerializerFactory} as its
353
- * {@link SerializerFactory}.
354
- * This means that it
355
- * can serialize all standard JDK types, as well as regular
356
- * Java Beans (based on method names and Jackson-specific annotations),
357
- * but does not support JAXB annotations.
358
- */
359
- public ObjectMapper()
360
- {
361
- this(null, null, null);
362
- }
363
-
364
- /**
365
- * Construct mapper that uses specified {@link JsonFactory}
366
- * for constructing necessary {@link JsonParser}s and/or
367
- * {@link JsonGenerator}s.
368
- */
369
- public ObjectMapper(JsonFactory jf)
370
- {
371
- this(jf, null, null);
372
- }
373
-
374
- /**
375
- * Construct mapper that uses specified {@link SerializerFactory}
376
- * for constructing necessary serializers.
377
- *
378
- * @deprecated Use other constructors instead; note that
379
- * you can just set serializer factory with {@link #setSerializerFactory}
380
- */
381
- @Deprecated
382
- public ObjectMapper(SerializerFactory sf)
383
- {
384
- this(null, null, null);
385
- setSerializerFactory(sf);
386
- }
387
-
388
- public ObjectMapper(JsonFactory jf,
389
- SerializerProvider sp, DeserializerProvider dp)
390
- {
391
- this(jf, sp, dp, null, null);
392
- }
393
-
394
- /**
395
- *
396
- * @param jf JsonFactory to use: if null, a new {@link MappingJsonFactory} will be constructed
397
- * @param sp SerializerProvider to use: if null, a {@link StdSerializerProvider} will be constructed
398
- * @param dp DeserializerProvider to use: if null, a {@link StdDeserializerProvider} will be constructed
399
- * @param sconfig Serialization configuration to use; if null, basic {@link SerializationConfig}
400
- * will be constructed
401
- * @param dconfig Deserialization configuration to use; if null, basic {@link DeserializationConfig}
402
- * will be constructed
403
- */
404
- public ObjectMapper(JsonFactory jf,
405
- SerializerProvider sp, DeserializerProvider dp,
406
- SerializationConfig sconfig, DeserializationConfig dconfig)
407
- {
408
- /* 02-Mar-2009, tatu: Important: we MUST default to using
409
- * the mapping factory, otherwise tree serialization will
410
- * have problems with POJONodes.
411
- * 03-Jan-2010, tatu: and obviously we also must pass 'this',
412
- * to create actual linking.
413
- */
414
- if (jf == null) {
415
- _jsonFactory = new MappingJsonFactory(this);
416
- } else {
417
- _jsonFactory = jf;
418
- if (jf.getCodec() == null) { // as per [JACKSON-741]
419
- _jsonFactory.setCodec(this);
420
- }
421
- }
422
- // and default type factory is shared one
423
- _typeFactory = TypeFactory.defaultInstance();
424
- _serializationConfig = (sconfig != null) ? sconfig :
425
- new SerializationConfig(DEFAULT_INTROSPECTOR, DEFAULT_ANNOTATION_INTROSPECTOR, STD_VISIBILITY_CHECKER,
426
- null, null, _typeFactory, null);
427
- _deserializationConfig = (dconfig != null) ? dconfig :
428
- new DeserializationConfig(DEFAULT_INTROSPECTOR, DEFAULT_ANNOTATION_INTROSPECTOR, STD_VISIBILITY_CHECKER,
429
- null, null, _typeFactory, null);
430
- _serializerProvider = (sp == null) ? new StdSerializerProvider() : sp;
431
- _deserializerProvider = (dp == null) ? new StdDeserializerProvider() : dp;
432
-
433
- // Default serializer factory is stateless, can just assign
434
- _serializerFactory = BeanSerializerFactory.instance;
435
- }
436
-
437
- /*
438
- /**********************************************************
439
- /* Versioned impl
440
- /**********************************************************
441
- */
442
-
443
- /**
444
- * Method that will return version information stored in and read from jar
445
- * that contains this class.
446
- *
447
- * @since 1.6
448
- */
449
- @Override
450
- public Version version() {
451
- return VersionUtil.versionFor(getClass());
452
- }
453
-
454
- /*
455
- /**********************************************************
456
- /* Module registration
457
- /**********************************************************
458
- */
459
-
460
- /**
461
- * Method for registering a module that can extend functionality
462
- * provided by this mapper; for example, by adding providers for
463
- * custom serializers and deserializers.
464
- *
465
- * @param module Module to register
466
- *
467
- * @since 1.7
468
- */
469
- public void registerModule(Module module)
470
- {
471
- /* Let's ensure we have access to name and version information,
472
- * even if we do not have immediate use for either. This way we know
473
- * that they will be available from beginning
474
- */
475
- String name = module.getModuleName();
476
- if (name == null) {
477
- throw new IllegalArgumentException("Module without defined name");
478
- }
479
- Version version = module.version();
480
- if (version == null) {
481
- throw new IllegalArgumentException("Module without defined version");
482
- }
483
-
484
- final ObjectMapper mapper = this;
485
-
486
- // And then call registration
487
- module.setupModule(new Module.SetupContext()
488
- {
489
- // // // Accessors
490
-
491
- @Override
492
- public Version getMapperVersion() {
493
- return version();
494
- }
495
-
496
- @Override
497
- public DeserializationConfig getDeserializationConfig() {
498
- return mapper.getDeserializationConfig();
499
- }
500
-
501
- @Override
502
- public SerializationConfig getSerializationConfig() {
503
- return mapper.getSerializationConfig();
504
- }
505
-
506
- @Override
507
- public boolean isEnabled(DeserializationConfig.Feature f) {
508
- return mapper.isEnabled(f);
509
- }
510
-
511
- @Override
512
- public boolean isEnabled(SerializationConfig.Feature f) {
513
- return mapper.isEnabled(f);
514
- }
515
-
516
- @Override
517
- public boolean isEnabled(JsonParser.Feature f) {
518
- return mapper.isEnabled(f);
519
- }
520
-
521
- @Override
522
- public boolean isEnabled(JsonGenerator.Feature f) {
523
- return mapper.isEnabled(f);
524
- }
525
-
526
- // // // Methods for registering handlers: deserializers, serializers
527
-
528
- @Override
529
- public void addDeserializers(Deserializers d) {
530
- mapper._deserializerProvider = mapper._deserializerProvider.withAdditionalDeserializers(d);
531
- }
532
-
533
- @Override
534
- public void addKeyDeserializers(KeyDeserializers d) {
535
- mapper._deserializerProvider = mapper._deserializerProvider.withAdditionalKeyDeserializers(d);
536
- }
537
-
538
- @Override
539
- public void addSerializers(Serializers s) {
540
- mapper._serializerFactory = mapper._serializerFactory.withAdditionalSerializers(s);
541
- }
542
-
543
- @Override
544
- public void addKeySerializers(Serializers s) {
545
- mapper._serializerFactory = mapper._serializerFactory.withAdditionalKeySerializers(s);
546
- }
547
-
548
- @Override
549
- public void addBeanSerializerModifier(BeanSerializerModifier modifier) {
550
- mapper._serializerFactory = mapper._serializerFactory.withSerializerModifier(modifier);
551
- }
552
-
553
- @Override
554
- public void addBeanDeserializerModifier(BeanDeserializerModifier modifier) {
555
- mapper._deserializerProvider = mapper._deserializerProvider.withDeserializerModifier(modifier);
556
- }
557
-
558
- // // // Methods for registering handlers: other
559
-
560
- @Override
561
- public void addAbstractTypeResolver(AbstractTypeResolver resolver) {
562
- mapper._deserializerProvider = mapper._deserializerProvider.withAbstractTypeResolver(resolver);
563
- }
564
-
565
- @Override
566
- public void addTypeModifier(TypeModifier modifier) {
567
- TypeFactory f = mapper._typeFactory;
568
- f = f.withModifier(modifier);
569
- mapper.setTypeFactory(f);
570
- }
571
-
572
- @Override
573
- public void addValueInstantiators(ValueInstantiators instantiators) {
574
- mapper._deserializerProvider = mapper._deserializerProvider.withValueInstantiators(instantiators);
575
- }
576
-
577
- @Override
578
- public void insertAnnotationIntrospector(AnnotationIntrospector ai) {
579
- mapper._deserializationConfig = mapper._deserializationConfig.withInsertedAnnotationIntrospector(ai);
580
- mapper._serializationConfig = mapper._serializationConfig.withInsertedAnnotationIntrospector(ai);
581
- }
582
-
583
- @Override
584
- public void appendAnnotationIntrospector(AnnotationIntrospector ai) {
585
- mapper._deserializationConfig = mapper._deserializationConfig.withAppendedAnnotationIntrospector(ai);
586
- mapper._serializationConfig = mapper._serializationConfig.withAppendedAnnotationIntrospector(ai);
587
- }
588
-
589
- @Override
590
- public void setMixInAnnotations(Class<?> target, Class<?> mixinSource) {
591
- mapper._deserializationConfig.addMixInAnnotations(target, mixinSource);
592
- mapper._serializationConfig.addMixInAnnotations(target, mixinSource);
593
- }
594
- });
595
- }
596
-
597
- /**
598
- * Fluent-style alternative to {@link #registerModule}; functionally equivalent to:
599
- *<pre>
600
- * mapper.registerModule(module);
601
- * return mapper;
602
- *</pre>
603
- * NOTE: name is unfortunately misleading in suggesting that a new instance
604
- * might be created (as is the case with most other 'withXxx()' methods
605
- * for Jackson core objects) -- this is not the case; rather, this is just
606
- * a variant of {@link #registerModule} but one that returns 'this'
607
- * (like it should return, but does not for historical reasons).
608
- *
609
- * @since 1.8
610
- */
611
- public ObjectMapper withModule(Module module)
612
- {
613
- registerModule(module);
614
- return this;
615
- }
616
-
617
- /*
618
- /**********************************************************
619
- /* Configuration: main config object access
620
- /**********************************************************
621
- */
622
-
623
- /**
624
- * Method that returns the shared default {@link SerializationConfig}
625
- * object that defines configuration settings for serialization.
626
- * Returned object is "live" meaning that changes will be used
627
- * for future serialization operations for this mapper when using
628
- * mapper's default configuration
629
- */
630
- public SerializationConfig getSerializationConfig() {
631
- return _serializationConfig;
632
- }
633
-
634
- /**
635
- * Method that creates a copy of
636
- * the shared default {@link SerializationConfig} object
637
- * that defines configuration settings for serialization.
638
- * Since it is a copy, any changes made to the configuration
639
- * object will NOT directly affect serialization done using
640
- * basic serialization methods that use the shared object (that is,
641
- * ones that do not take separate {@link SerializationConfig}
642
- * argument.
643
- *<p>
644
- * The use case is that of changing object settings of the configuration
645
- * (like date format being used, see {@link SerializationConfig#setDateFormat}).
646
- */
647
- public SerializationConfig copySerializationConfig() {
648
- return _serializationConfig.createUnshared(_subtypeResolver);
649
- }
650
-
651
- /**
652
- * Method for replacing the shared default serialization configuration
653
- * object.
654
- */
655
- public ObjectMapper setSerializationConfig(SerializationConfig cfg) {
656
- _serializationConfig = cfg;
657
- return this;
658
- }
659
-
660
- /**
661
- * Method that returns
662
- * the shared default {@link DeserializationConfig} object
663
- * that defines configuration settings for deserialization.
664
- * Returned object is "live" meaning that changes will be used
665
- * for future deserialization operations for this mapper when using
666
- * mapper's default configuration
667
- */
668
- public DeserializationConfig getDeserializationConfig() {
669
- return _deserializationConfig;
670
- }
671
-
672
- /**
673
- * Method that creates a copy of
674
- * the shared default {@link DeserializationConfig} object
675
- * that defines configuration settings for deserialization.
676
- * Since it is a copy, any changes made to the configuration
677
- * object will NOT directly affect deserialization done using
678
- * basic deserialization methods that use the shared object (that is,
679
- * ones that do not take separate {@link DeserializationConfig}
680
- * argument.
681
- *<p>
682
- * The use case is that of changing object settings of the configuration
683
- * (like deserialization problem handler,
684
- * see {@link DeserializationConfig#addHandler})
685
- */
686
- public DeserializationConfig copyDeserializationConfig() {
687
- return _deserializationConfig.createUnshared(_subtypeResolver)
688
- .passSerializationFeatures(_serializationConfig._featureFlags);
689
- }
690
-
691
- /**
692
- * Method for replacing the shared default deserialization configuration
693
- * object.
694
- */
695
- public ObjectMapper setDeserializationConfig(DeserializationConfig cfg) {
696
- _deserializationConfig = cfg;
697
- return this;
698
- }
699
-
700
- /*
701
- /**********************************************************
702
- /* Configuration: ser/deser factory, provider access
703
- /**********************************************************
704
- */
705
-
706
- /**
707
- * Method for setting specific {@link SerializerFactory} to use
708
- * for constructing (bean) serializers.
709
- */
710
- public ObjectMapper setSerializerFactory(SerializerFactory f) {
711
- _serializerFactory = f;
712
- return this;
713
- }
714
-
715
- /**
716
- * Method for setting specific {@link SerializerProvider} to use
717
- * for handling caching of {@link JsonSerializer} instances.
718
- */
719
- public ObjectMapper setSerializerProvider(SerializerProvider p) {
720
- _serializerProvider = p;
721
- return this;
722
- }
723
-
724
- /**
725
- * @since 1.4
726
- */
727
- public SerializerProvider getSerializerProvider() {
728
- return _serializerProvider;
729
- }
730
-
731
- /**
732
- * Method for setting specific {@link DeserializerProvider} to use
733
- * for handling caching of {@link JsonDeserializer} instances.
734
- */
735
- public ObjectMapper setDeserializerProvider(DeserializerProvider p) {
736
- _deserializerProvider = p;
737
- return this;
738
- }
739
-
740
- /**
741
- * @since 1.4
742
- */
743
- public DeserializerProvider getDeserializerProvider() {
744
- return _deserializerProvider;
745
- }
746
-
747
- /*
748
- /**********************************************************
749
- /* Configuration, introspection
750
- /**********************************************************
751
- */
752
-
753
- /**
754
- * Method for accessing currently configured visibility checker;
755
- * object used for determining whether given property element
756
- * (method, field, constructor) can be auto-detected or not.
757
- *
758
- * @since 1.5
759
- */
760
- public VisibilityChecker<?> getVisibilityChecker() {
761
- return _serializationConfig.getDefaultVisibilityChecker();
762
- }
763
-
764
- /**
765
- * Method for setting currently configured visibility checker;
766
- * object used for determining whether given property element
767
- * (method, field, constructor) can be auto-detected or not.
768
- * This default checker is used if no per-class overrides
769
- * are defined.
770
- *
771
- * @since 1.5
772
- */
773
- public void setVisibilityChecker(VisibilityChecker<?> vc) {
774
- _deserializationConfig = _deserializationConfig.withVisibilityChecker(vc);
775
- _serializationConfig = _serializationConfig.withVisibilityChecker(vc);
776
- }
777
-
778
- /**
779
- * Convenience method that allows changing configuration for
780
- * underlying {@link VisibilityChecker}s, to change details of what kinds of
781
- * properties are auto-detected.
782
- * Basically short cut for doing:
783
- *<pre>
784
- * mapper.setVisibilityChecker(
785
- * mapper.getVisibilityChecker().withVisibility(forMethod, visibility)
786
- * );
787
- *</pre>
788
- * one common use case would be to do:
789
- *<pre>
790
- * mapper.setVisibility(JsonMethod.FIELD, Visibility.ANY);
791
- *</pre>
792
- * which would make all member fields serializable without further annotations,
793
- * instead of just public fields (default setting).
794
- *
795
- * @param forMethod Type of property descriptor affected (field, getter/isGetter,
796
- * setter, creator)
797
- * @param visibility Minimum visibility to require for the property descriptors of type
798
- *
799
- * @return Modified mapper instance (that is, "this"), to allow chaining
800
- * of configuration calls
801
- *
802
- * @since 1.9
803
- */
804
- public ObjectMapper setVisibility(JsonMethod forMethod, JsonAutoDetect.Visibility visibility)
805
- {
806
- _deserializationConfig = _deserializationConfig.withVisibility(forMethod, visibility);
807
- _serializationConfig = _serializationConfig.withVisibility(forMethod, visibility);
808
- return this;
809
- }
810
-
811
- /**
812
- * Method for accessing subtype resolver in use.
813
- *
814
- * @since 1.6
815
- */
816
- public SubtypeResolver getSubtypeResolver() {
817
- if (_subtypeResolver == null) {
818
- _subtypeResolver = new StdSubtypeResolver();
819
- }
820
- return _subtypeResolver;
821
- }
822
-
823
- /**
824
- * Method for setting custom subtype resolver to use.
825
- *
826
- * @since 1.6
827
- */
828
- public void setSubtypeResolver(SubtypeResolver r) {
829
- _subtypeResolver = r;
830
- }
831
-
832
- /**
833
- * Method for changing {@link AnnotationIntrospector} used by this
834
- * mapper instance for both serialization and deserialization
835
- *
836
- * @since 1.8
837
- */
838
- public ObjectMapper setAnnotationIntrospector(AnnotationIntrospector ai) {
839
- _serializationConfig = _serializationConfig.withAnnotationIntrospector(ai);
840
- _deserializationConfig = _deserializationConfig.withAnnotationIntrospector(ai);
841
- return this;
842
- }
843
-
844
- /**
845
- * Method for setting custom property naming strategy to use.
846
- *
847
- * @since 1.8
848
- */
849
- public ObjectMapper setPropertyNamingStrategy(PropertyNamingStrategy s) {
850
- _serializationConfig = _serializationConfig.withPropertyNamingStrategy(s);
851
- _deserializationConfig = _deserializationConfig.withPropertyNamingStrategy(s);
852
- return this;
853
- }
854
-
855
- /**
856
- * Method for setting defalt POJO property inclusion strategy for serialization.
857
- * Equivalent to:
858
- *<pre>
859
- * mapper.setSerializationConfig(mapper.getSerializationConfig().withSerializationInclusion(incl));
860
- *</pre>
861
- *
862
- * @since 1.9
863
- */
864
- public ObjectMapper setSerializationInclusion(JsonSerialize.Inclusion incl) {
865
- _serializationConfig = _serializationConfig.withSerializationInclusion(incl);
866
- return this;
867
- }
868
-
869
- /*
870
- /**********************************************************
871
- /* Type information configuration (1.5+)
872
- /**********************************************************
873
- */
874
-
875
- /**
876
- * Convenience method that is equivalent to calling
877
- *<pre>
878
- * enableObjectTyping(DefaultTyping.OBJECT_AND_NON_CONCRETE);
879
- *</pre>
880
- */
881
- public ObjectMapper enableDefaultTyping() {
882
- return enableDefaultTyping(DefaultTyping.OBJECT_AND_NON_CONCRETE);
883
- }
884
-
885
- /**
886
- * Convenience method that is equivalent to calling
887
- *<pre>
888
- * enableObjectTyping(dti, JsonTypeInfo.As.WRAPPER_ARRAY);
889
- *</pre>
890
- */
891
- public ObjectMapper enableDefaultTyping(DefaultTyping dti) {
892
- return enableDefaultTyping(dti, JsonTypeInfo.As.WRAPPER_ARRAY);
893
- }
894
-
895
- /**
896
- * Method for enabling automatic inclusion of type information, needed
897
- * for proper deserialization of polymorphic types (unless types
898
- * have been annotated with {@link sh.calaba.org.codehaus.jackson.annotate.JsonTypeInfo}).
899
- *
900
- * @param applicability Defines kinds of types for which additional type information
901
- * is added; see {@link DefaultTyping} for more information.
902
- */
903
- public ObjectMapper enableDefaultTyping(DefaultTyping applicability, JsonTypeInfo.As includeAs)
904
- {
905
- TypeResolverBuilder<?> typer = new DefaultTypeResolverBuilder(applicability);
906
- // we'll always use full class name, when using defaulting
907
- typer = typer.init(JsonTypeInfo.Id.CLASS, null);
908
- typer = typer.inclusion(includeAs);
909
- return setDefaultTyping(typer);
910
- }
911
-
912
- /**
913
- * Method for enabling automatic inclusion of type information -- needed
914
- * for proper deserialization of polymorphic types (unless types
915
- * have been annotated with {@link sh.calaba.org.codehaus.jackson.annotate.JsonTypeInfo}) --
916
- * using "As.PROPERTY" inclusion mechanism and specified property name
917
- * to use for inclusion (default being "@class" since default type information
918
- * always uses class name as type identifier)
919
- *
920
- * @since 1.7
921
- */
922
- public ObjectMapper enableDefaultTypingAsProperty(DefaultTyping applicability, String propertyName)
923
- {
924
- TypeResolverBuilder<?> typer = new DefaultTypeResolverBuilder(applicability);
925
- // we'll always use full class name, when using defaulting
926
- typer = typer.init(JsonTypeInfo.Id.CLASS, null);
927
- typer = typer.inclusion(JsonTypeInfo.As.PROPERTY);
928
- typer = typer.typeProperty(propertyName);
929
- return setDefaultTyping(typer);
930
- }
931
-
932
- /**
933
- * Method for disabling automatic inclusion of type information; if so, only
934
- * explicitly annotated types (ones with
935
- * {@link sh.calaba.org.codehaus.jackson.annotate.JsonTypeInfo}) will have
936
- * additional embedded type information.
937
- */
938
- public ObjectMapper disableDefaultTyping() {
939
- return setDefaultTyping(null);
940
- }
941
-
942
- /**
943
- * Method for enabling automatic inclusion of type information, using
944
- * specified handler object for determining which types this affects,
945
- * as well as details of how information is embedded.
946
- *
947
- * @param typer Type information inclusion handler
948
- *
949
- *
950
- */
951
- public ObjectMapper setDefaultTyping(TypeResolverBuilder<?> typer) {
952
- _deserializationConfig = _deserializationConfig.withTypeResolverBuilder(typer);
953
- _serializationConfig = _serializationConfig.withTypeResolverBuilder(typer);
954
- return this;
955
- }
956
-
957
- /**
958
- * Method for registering specified class as a subtype, so that
959
- * typename-based resolution can link supertypes to subtypes
960
- * (as an alternative to using annotations).
961
- * Type for given class is determined from appropriate annotation;
962
- * or if missing, default name (unqualified class name)
963
- *
964
- * @since 1.6
965
- */
966
- public void registerSubtypes(Class<?>... classes) {
967
- getSubtypeResolver().registerSubtypes(classes);
968
- }
969
-
970
- /**
971
- * Method for registering specified class as a subtype, so that
972
- * typename-based resolution can link supertypes to subtypes
973
- * (as an alternative to using annotations).
974
- * Name may be provided as part of argument, but if not will
975
- * be based on annotations or use default name (unqualified
976
- * class name).
977
- *
978
- * @since 1.6
979
- */
980
- public void registerSubtypes(NamedType... types) {
981
- getSubtypeResolver().registerSubtypes(types);
982
- }
983
-
984
- /*
985
- /**********************************************************
986
- /* Configuration, basic type handling
987
- /**********************************************************
988
- */
989
-
990
- /**
991
- * Accessor for getting currently configured {@link TypeFactory} instance.
992
- *
993
- * @since 1.8
994
- */
995
- public TypeFactory getTypeFactory() {
996
- return _typeFactory;
997
- }
998
-
999
- /**
1000
- * Method that can be used to override {@link TypeFactory} instance
1001
- * used by this mapper.
1002
- *<p>
1003
- * Note: will also set {@link TypeFactory} that deserialization and
1004
- * serialization config objects use.
1005
- */
1006
- public ObjectMapper setTypeFactory(TypeFactory f)
1007
- {
1008
- _typeFactory = f;
1009
- _deserializationConfig = _deserializationConfig.withTypeFactory(f);
1010
- _serializationConfig = _serializationConfig.withTypeFactory(f);
1011
- return this;
1012
- }
1013
-
1014
- /**
1015
- * Convenience method for constructing {@link JavaType} out of given
1016
- * type (typically <code>java.lang.Class</code>), but without explicit
1017
- * context.
1018
- *
1019
- * @since 1.8
1020
- */
1021
- public JavaType constructType(Type t) {
1022
- return _typeFactory.constructType(t);
1023
- }
1024
-
1025
- /*
1026
- /**********************************************************
1027
- /* Configuration, deserialization
1028
- /**********************************************************
1029
- */
1030
-
1031
- /**
1032
- * Method for specifying {@link JsonNodeFactory} to use for
1033
- * constructing root level tree nodes (via method
1034
- * {@link #createObjectNode}
1035
- *
1036
- * @since 1.2
1037
- */
1038
- public ObjectMapper setNodeFactory(JsonNodeFactory f) {
1039
- _deserializationConfig = _deserializationConfig.withNodeFactory(f);
1040
- return this;
1041
- }
1042
-
1043
- /*
1044
- /**********************************************************
1045
- /* Configuration, serialization
1046
- /**********************************************************
1047
- */
1048
-
1049
- /**
1050
- * Convenience method that is equivalent to:
1051
- *<pre>
1052
- * mapper.setFilters(mapper.getSerializationConfig().withFilters(filterProvider));
1053
- *</pre>
1054
- *<p>
1055
- * Note that usually it is better to use method {@link #filteredWriter}; however, sometimes
1056
- * this method is more convenient. For example, some frameworks only allow configuring
1057
- * of ObjectMapper instances and not ObjectWriters.
1058
- *
1059
- * @since 1.8
1060
- */
1061
- public void setFilters(FilterProvider filterProvider) {
1062
- _serializationConfig = _serializationConfig.withFilters(filterProvider);
1063
- }
1064
-
1065
- /*
1066
- /**********************************************************
1067
- /* Configuration, other
1068
- /**********************************************************
1069
- */
1070
-
1071
- /**
1072
- * Method that can be used to get hold of {@link JsonFactory} that this
1073
- * mapper uses if it needs to construct {@link JsonParser}s
1074
- * and/or {@link JsonGenerator}s.
1075
- *
1076
- * @return {@link JsonFactory} that this mapper uses when it needs to
1077
- * construct Json parser and generators
1078
- */
1079
- public JsonFactory getJsonFactory() { return _jsonFactory; }
1080
-
1081
- /**
1082
- * Method for configuring the default {@link DateFormat} to use when serializing time
1083
- * values as Strings, and deserializing from JSON Strings.
1084
- * This is preferably to directly modifying {@link SerializationConfig} and
1085
- * {@link DeserializationConfig} instances.
1086
- * If you need per-request configuration, use {@link #writer(DateFormat)} to
1087
- * create properly configured {@link ObjectWriter} and use that; this because
1088
- * {@link ObjectWriter}s are thread-safe whereas ObjectMapper itself is only
1089
- * thread-safe when configuring methods (such as this one) are NOT called.
1090
- *
1091
- * @since 1.8
1092
- */
1093
- public void setDateFormat(DateFormat dateFormat)
1094
- {
1095
- _deserializationConfig = _deserializationConfig.withDateFormat(dateFormat);
1096
- _serializationConfig = _serializationConfig.withDateFormat(dateFormat);
1097
- }
1098
-
1099
- /**
1100
- * Method for configuring {@link HandlerInstantiator} to use for creating
1101
- * instances of handlers (such as serializers, deserializers, type and type
1102
- * id resolvers), given a class.
1103
- *
1104
- * @param hi Instantiator to use; if null, use the default implementation
1105
- */
1106
- public void setHandlerInstantiator(HandlerInstantiator hi)
1107
- {
1108
- _deserializationConfig = _deserializationConfig.withHandlerInstantiator(hi);
1109
- _serializationConfig = _serializationConfig.withHandlerInstantiator(hi);
1110
- }
1111
-
1112
- /**
1113
- * @since 1.9
1114
- */
1115
- public ObjectMapper setInjectableValues(InjectableValues injectableValues) {
1116
- _injectableValues = injectableValues;
1117
- return this;
1118
- }
1119
-
1120
- /*
1121
- /**********************************************************
1122
- /* Configuration, simple features
1123
- /**********************************************************
1124
- */
1125
-
1126
- /**
1127
- * Method for changing state of an on/off serialization feature for
1128
- * this object mapper.
1129
- *<p>
1130
- * This is method is basically a shortcut method for calling
1131
- * {@link SerializationConfig#set} on the shared {@link SerializationConfig}
1132
- * object with given arguments.
1133
- */
1134
- @SuppressWarnings("deprecation")
1135
- public ObjectMapper configure(SerializationConfig.Feature f, boolean state) {
1136
- _serializationConfig.set(f, state);
1137
- return this;
1138
- }
1139
-
1140
- /**
1141
- * Method for changing state of an on/off deserialization feature for
1142
- * this object mapper.
1143
- *<p>
1144
- * This is method is basically a shortcut method for calling
1145
- * {@link DeserializationConfig#set} on the shared {@link DeserializationConfig}
1146
- * object with given arguments.
1147
- */
1148
- @SuppressWarnings("deprecation")
1149
- public ObjectMapper configure(DeserializationConfig.Feature f, boolean state) {
1150
- _deserializationConfig.set(f, state);
1151
- return this;
1152
- }
1153
-
1154
- /**
1155
- * Method for changing state of an on/off {@link JsonParser} feature for
1156
- * {@link JsonFactory} instance this object mapper uses.
1157
- *<p>
1158
- * This is method is basically a shortcut method for calling
1159
- * {@link JsonFactory#setParserFeature} on the shared
1160
- * {@link JsonFactory} this mapper uses (which is accessible
1161
- * using {@link #getJsonFactory}).
1162
- *
1163
- * @since 1.2
1164
- */
1165
- public ObjectMapper configure(JsonParser.Feature f, boolean state) {
1166
- _jsonFactory.configure(f, state);
1167
- return this;
1168
- }
1169
-
1170
- /**
1171
- * Method for changing state of an on/off {@link JsonGenerator} feature for
1172
- * {@link JsonFactory} instance this object mapper uses.
1173
- *<p>
1174
- * This is method is basically a shortcut method for calling
1175
- * {@link JsonFactory#setGeneratorFeature} on the shared
1176
- * {@link JsonFactory} this mapper uses (which is accessible
1177
- * using {@link #getJsonFactory}).
1178
- *
1179
- * @since 1.2
1180
- */
1181
- public ObjectMapper configure(JsonGenerator.Feature f, boolean state) {
1182
- _jsonFactory.configure(f, state);
1183
- return this;
1184
- }
1185
-
1186
- /**
1187
- * Method for enabling specified {@link DeserializationConfig} features.
1188
- * Modifies and returns this instance; no new object is created.
1189
- *
1190
- * @since 1.9
1191
- */
1192
- public ObjectMapper enable(DeserializationConfig.Feature... f) {
1193
- _deserializationConfig = _deserializationConfig.with(f);
1194
- return this;
1195
- }
1196
-
1197
- /**
1198
- * Method for enabling specified {@link DeserializationConfig} features.
1199
- * Modifies and returns this instance; no new object is created.
1200
- *
1201
- * @since 1.9
1202
- */
1203
- public ObjectMapper disable(DeserializationConfig.Feature... f) {
1204
- _deserializationConfig = _deserializationConfig.without(f);
1205
- return this;
1206
- }
1207
-
1208
- /**
1209
- * Method for enabling specified {@link DeserializationConfig} features.
1210
- * Modifies and returns this instance; no new object is created.
1211
- *
1212
- * @since 1.9
1213
- */
1214
- public ObjectMapper enable(SerializationConfig.Feature... f) {
1215
- _serializationConfig = _serializationConfig.with(f);
1216
- return this;
1217
- }
1218
-
1219
- /**
1220
- * Method for enabling specified {@link DeserializationConfig} features.
1221
- * Modifies and returns this instance; no new object is created.
1222
- *
1223
- * @since 1.9
1224
- */
1225
- public ObjectMapper disable(SerializationConfig.Feature... f) {
1226
- _serializationConfig = _serializationConfig.without(f);
1227
- return this;
1228
- }
1229
-
1230
- /**
1231
- * Convenience method, equivalent to:
1232
- *<pre>
1233
- * getSerializationConfig().isEnabled(f);
1234
- *</pre>
1235
- *
1236
- * @since 1.9
1237
- */
1238
- public boolean isEnabled(SerializationConfig.Feature f) {
1239
- return _serializationConfig.isEnabled(f);
1240
- }
1241
-
1242
- /**
1243
- * Convenience method, equivalent to:
1244
- *<pre>
1245
- * getDeserializationConfig().isEnabled(f);
1246
- *</pre>
1247
- *
1248
- * @since 1.9
1249
- */
1250
- public boolean isEnabled(DeserializationConfig.Feature f) {
1251
- return _deserializationConfig.isEnabled(f);
1252
- }
1253
-
1254
- /**
1255
- * Convenience method, equivalent to:
1256
- *<pre>
1257
- * getJsonFactory().isEnabled(f);
1258
- *</pre>
1259
- *
1260
- * @since 1.9
1261
- */
1262
- public boolean isEnabled(JsonParser.Feature f) {
1263
- return _jsonFactory.isEnabled(f);
1264
- }
1265
-
1266
- /**
1267
- * Convenience method, equivalent to:
1268
- *<pre>
1269
- * getJsonFactory().isEnabled(f);
1270
- *</pre>
1271
- *
1272
- * @since 1.9
1273
- */
1274
- public boolean isEnabled(JsonGenerator.Feature f) {
1275
- return _jsonFactory.isEnabled(f);
1276
- }
1277
-
1278
- /**
1279
- * Method that can be used to get hold of {@link JsonNodeFactory}
1280
- * that this mapper will use when directly constructing
1281
- * root {@link JsonNode} instances for Trees.
1282
- *<p>
1283
- * Note: this is just a shortcut for calling
1284
- *<pre>
1285
- * getDeserializationConfig().getNodeFactory()
1286
- *</pre>
1287
- *
1288
- * @since 1.2
1289
- */
1290
- public JsonNodeFactory getNodeFactory() {
1291
- return _deserializationConfig.getNodeFactory();
1292
- }
1293
-
1294
- /*
1295
- /**********************************************************
1296
- /* Public API (from ObjectCodec): deserialization
1297
- /* (mapping from JSON to Java types);
1298
- /* main methods
1299
- /**********************************************************
1300
- */
1301
-
1302
- /**
1303
- * Method to deserialize JSON content into a non-container
1304
- * type (it can be an array type, however): typically a bean, array
1305
- * or a wrapper type (like {@link java.lang.Boolean}).
1306
- *<p>
1307
- * Note: this method should NOT be used if the result type is a
1308
- * container ({@link java.util.Collection} or {@link java.util.Map}.
1309
- * The reason is that due to type erasure, key and value types
1310
- * can not be introspected when using this method.
1311
- */
1312
- @Override
1313
- @SuppressWarnings("unchecked")
1314
- public <T> T readValue(JsonParser jp, Class<T> valueType)
1315
- throws IOException, JsonParseException, JsonMappingException
1316
- {
1317
- // !!! TODO
1318
- // _setupClassLoaderForDeserialization(valueType);
1319
- return (T) _readValue(copyDeserializationConfig(), jp, _typeFactory.constructType(valueType));
1320
- }
1321
-
1322
- /**
1323
- * Method to deserialize JSON content into a Java type, reference
1324
- * to which is passed as argument. Type is passed using so-called
1325
- * "super type token" (see )
1326
- * and specifically needs to be used if the root type is a
1327
- * parameterized (generic) container type.
1328
- */
1329
- @Override
1330
- @SuppressWarnings("unchecked")
1331
- public <T> T readValue(JsonParser jp, TypeReference<?> valueTypeRef)
1332
- throws IOException, JsonParseException, JsonMappingException
1333
- {
1334
- return (T) _readValue(copyDeserializationConfig(), jp, _typeFactory.constructType(valueTypeRef));
1335
- }
1336
-
1337
- /**
1338
- * Method to deserialize JSON content into a Java type, reference
1339
- * to which is passed as argument. Type is passed using
1340
- * Jackson specific type; instance of which can be constructed using
1341
- * {@link TypeFactory}.
1342
- */
1343
- @Override
1344
- @SuppressWarnings("unchecked")
1345
- public <T> T readValue(JsonParser jp, JavaType valueType)
1346
- throws IOException, JsonParseException, JsonMappingException
1347
- {
1348
- return (T) _readValue(copyDeserializationConfig(), jp, valueType);
1349
- }
1350
-
1351
- /**
1352
- * Method to deserialize JSON content as tree expressed
1353
- * using set of {@link JsonNode} instances. Returns
1354
- * root of the resulting tree (where root can consist
1355
- * of just a single node if the current event is a
1356
- * value event, not container).
1357
- */
1358
- @Override
1359
- public JsonNode readTree(JsonParser jp)
1360
- throws IOException, JsonProcessingException
1361
- {
1362
- /* 02-Mar-2009, tatu: One twist; deserialization provider
1363
- * will map JSON null straight into Java null. But what
1364
- * we want to return is the "null node" instead.
1365
- */
1366
- /* 05-Aug-2011, tatu: Also, must check for EOF here before
1367
- * calling readValue(), since that'll choke on it otherwise
1368
- */
1369
- DeserializationConfig cfg = copyDeserializationConfig();
1370
- JsonToken t = jp.getCurrentToken();
1371
- if (t == null) {
1372
- t = jp.nextToken();
1373
- if (t == null) {
1374
- return null;
1375
- }
1376
- }
1377
- JsonNode n = (JsonNode) _readValue(cfg, jp, JSON_NODE_TYPE);
1378
- return (n == null) ? getNodeFactory().nullNode() : n;
1379
- }
1380
-
1381
- /**
1382
- * Method for reading sequence of Objects from parser stream.
1383
- *<p>
1384
- * Note that {@link ObjectReader} has more complete set of variants.
1385
- *
1386
- * @since 1.8
1387
- */
1388
- @Override
1389
- public <T> MappingIterator<T> readValues(JsonParser jp, JavaType valueType)
1390
- throws IOException, JsonProcessingException
1391
- {
1392
- DeserializationConfig config = copyDeserializationConfig();
1393
- DeserializationContext ctxt = _createDeserializationContext(jp, config);
1394
- JsonDeserializer<?> deser = _findRootDeserializer(config, valueType);
1395
- // false -> do NOT close JsonParser (since caller passed it)
1396
- return new MappingIterator<T>(valueType, jp, ctxt, deser,
1397
- false, null);
1398
- }
1399
-
1400
- /**
1401
- * Method for reading sequence of Objects from parser stream.
1402
- *
1403
- * @since 1.8
1404
- */
1405
- @Override
1406
- public <T> MappingIterator<T> readValues(JsonParser jp, Class<T> valueType)
1407
- throws IOException, JsonProcessingException
1408
- {
1409
- return readValues(jp, _typeFactory.constructType(valueType));
1410
- }
1411
-
1412
- /**
1413
- * Method for reading sequence of Objects from parser stream.
1414
- *
1415
- * @since 1.8
1416
- */
1417
- @Override
1418
- public <T> MappingIterator<T> readValues(JsonParser jp, TypeReference<?> valueTypeRef)
1419
- throws IOException, JsonProcessingException
1420
- {
1421
- return readValues(jp, _typeFactory.constructType(valueTypeRef));
1422
- }
1423
-
1424
- /*
1425
- /**********************************************************
1426
- /* Public API not included in ObjectCodec: deserialization
1427
- /* (mapping from JSON to Java types)
1428
- /**********************************************************
1429
- */
1430
-
1431
- /**
1432
- * Method to deserialize JSON content into a non-container
1433
- * type (it can be an array type, however): typically a bean, array
1434
- * or a wrapper type (like {@link java.lang.Boolean}).
1435
- *<p>
1436
- * Note: this method should NOT be used if the result type is a
1437
- * container ({@link java.util.Collection} or {@link java.util.Map}.
1438
- * The reason is that due to type erasure, key and value types
1439
- * can not be introspected when using this method.
1440
- * @since 1.1
1441
- *
1442
- * @param cfg Specific deserialization configuration to use for
1443
- * this operation. Note that not all config settings can
1444
- * be changed on per-operation basis: some changeds only take effect
1445
- * before calling the operation for the first time (for the mapper
1446
- * instance)
1447
- */
1448
- @SuppressWarnings("unchecked")
1449
- public <T> T readValue(JsonParser jp, Class<T> valueType,
1450
- DeserializationConfig cfg)
1451
- throws IOException, JsonParseException, JsonMappingException
1452
- {
1453
- // !!! TODO
1454
- // _setupClassLoaderForDeserialization(valueType);
1455
- return (T) _readValue(cfg, jp, _typeFactory.constructType(valueType));
1456
- }
1457
-
1458
- /**
1459
- * Method to deserialize JSON content into a Java type, reference
1460
- * to which is passed as argument. Type is passed using so-called
1461
- * "super type token" (see )
1462
- * and specifically needs to be used if the root type is a
1463
- * parameterized (generic) container type.
1464
- *
1465
- * @param cfg Specific deserialization configuration to use for
1466
- * this operation. Note that not all config settings can
1467
- * be changed on per-operation basis: some changeds only take effect
1468
- * before calling the operation for the first time (for the mapper
1469
- * instance)
1470
- *
1471
- * @since 1.1
1472
- */
1473
- @SuppressWarnings("unchecked")
1474
- public <T> T readValue(JsonParser jp, TypeReference<?> valueTypeRef,
1475
- DeserializationConfig cfg)
1476
- throws IOException, JsonParseException, JsonMappingException
1477
- {
1478
- return (T) _readValue(cfg, jp, _typeFactory.constructType(valueTypeRef));
1479
- }
1480
-
1481
- /**
1482
- * Method to deserialize JSON content into a Java type, reference
1483
- * to which is passed as argument. Type is passed using
1484
- * Jackson specific type; instance of which can be constructed using
1485
- * {@link TypeFactory}.
1486
- *
1487
- * @param cfg Specific deserialization configuration to use for
1488
- * this operation. Note that not all config settings can
1489
- * be changed on per-operation basis: some changeds only take effect
1490
- * before calling the operation for the first time (for the mapper
1491
- * instance)
1492
- *
1493
- * @since 1.1
1494
- */
1495
- @SuppressWarnings("unchecked")
1496
- public <T> T readValue(JsonParser jp, JavaType valueType,
1497
- DeserializationConfig cfg)
1498
- throws IOException, JsonParseException, JsonMappingException
1499
- {
1500
- return (T) _readValue(cfg, jp, valueType);
1501
- }
1502
-
1503
- /**
1504
- * Method to deserialize JSON content as tree expressed
1505
- * using set of {@link JsonNode} instances. Returns
1506
- * root of the resulting tree (where root can consist
1507
- * of just a single node if the current event is a
1508
- * value event, not container).
1509
- *
1510
- * @param cfg Specific deserialization configuration to use for
1511
- * this operation. Note that not all config settings can
1512
- * be changed on per-operation basis: some changeds only take effect
1513
- * before calling the operation for the first time (for the mapper
1514
- * instance)
1515
- *
1516
- * @since 1.1
1517
- */
1518
- public JsonNode readTree(JsonParser jp, DeserializationConfig cfg)
1519
- throws IOException, JsonProcessingException
1520
- {
1521
- JsonNode n = (JsonNode) _readValue(cfg, jp, JSON_NODE_TYPE);
1522
- return (n == null) ? NullNode.instance : n;
1523
- }
1524
-
1525
- /**
1526
- * Method to deserialize JSON content as tree expressed
1527
- * using set of {@link JsonNode} instances.
1528
- * Returns root of the resulting tree (where root can consist
1529
- * of just a single node if the current event is a
1530
- * value event, not container).
1531
- *
1532
- * @param in Input stream used to read JSON content
1533
- * for building the JSON tree.
1534
- *
1535
- * @since 1.3
1536
- */
1537
- public JsonNode readTree(InputStream in)
1538
- throws IOException, JsonProcessingException
1539
- {
1540
- JsonNode n = (JsonNode) _readMapAndClose(_jsonFactory.createJsonParser(in), JSON_NODE_TYPE);
1541
- return (n == null) ? NullNode.instance : n;
1542
- }
1543
-
1544
- /**
1545
- * Method to deserialize JSON content as tree expressed
1546
- * using set of {@link JsonNode} instances.
1547
- * Returns root of the resulting tree (where root can consist
1548
- * of just a single node if the current event is a
1549
- * value event, not container).
1550
- *
1551
- * @param r Reader used to read JSON content
1552
- * for building the JSON tree.
1553
- *
1554
- * @since 1.3
1555
- */
1556
- public JsonNode readTree(Reader r)
1557
- throws IOException, JsonProcessingException
1558
- {
1559
- JsonNode n = (JsonNode) _readMapAndClose(_jsonFactory.createJsonParser(r), JSON_NODE_TYPE);
1560
- return (n == null) ? NullNode.instance : n;
1561
- }
1562
-
1563
- /**
1564
- * Method to deserialize JSON content as tree expressed using set of {@link JsonNode} instances.
1565
- * Returns root of the resulting tree (where root can consist of just a single node if the current
1566
- * event is a value event, not container).
1567
- *
1568
- * @param content JSON content to parse to build the JSON tree.
1569
- *
1570
- * @since 1.3
1571
- */
1572
- public JsonNode readTree(String content)
1573
- throws IOException, JsonProcessingException
1574
- {
1575
- JsonNode n = (JsonNode) _readMapAndClose(_jsonFactory.createJsonParser(content), JSON_NODE_TYPE);
1576
- return (n == null) ? NullNode.instance : n;
1577
- }
1578
-
1579
- /**
1580
- * Method to deserialize JSON content as tree expressed using set of {@link JsonNode} instances.
1581
- * Returns root of the resulting tree (where root can consist of just a single node if the current
1582
- * event is a value event, not container).
1583
- *
1584
- * @param content JSON content to parse to build the JSON tree.
1585
- *
1586
- * @since 1.9
1587
- */
1588
- public JsonNode readTree(byte[] content)
1589
- throws IOException, JsonProcessingException
1590
- {
1591
- JsonNode n = (JsonNode) _readMapAndClose(_jsonFactory.createJsonParser(content), JSON_NODE_TYPE);
1592
- return (n == null) ? NullNode.instance : n;
1593
- }
1594
-
1595
- /**
1596
- * Method to deserialize JSON content as tree expressed using set of {@link JsonNode} instances.
1597
- * Returns root of the resulting tree (where root can consist of just a single node if the current
1598
- * event is a value event, not container).
1599
- *
1600
- * @param file File of which contents to parse as JSON for building a tree instance
1601
- *
1602
- * @since 1.9
1603
- */
1604
- public JsonNode readTree(File file)
1605
- throws IOException, JsonProcessingException
1606
- {
1607
- JsonNode n = (JsonNode) _readMapAndClose(_jsonFactory.createJsonParser(file), JSON_NODE_TYPE);
1608
- return (n == null) ? NullNode.instance : n;
1609
- }
1610
-
1611
- /**
1612
- * Method to deserialize JSON content as tree expressed using set of {@link JsonNode} instances.
1613
- * Returns root of the resulting tree (where root can consist of just a single node if the current
1614
- * event is a value event, not container).
1615
- *
1616
- * @param source URL to use for fetching contents to parse as JSON for building a tree instance
1617
- *
1618
- * @since 1.9
1619
- */
1620
- public JsonNode readTree(URL source)
1621
- throws IOException, JsonProcessingException
1622
- {
1623
- JsonNode n = (JsonNode) _readMapAndClose(_jsonFactory.createJsonParser(source), JSON_NODE_TYPE);
1624
- return (n == null) ? NullNode.instance : n;
1625
- }
1626
-
1627
- /*
1628
- /**********************************************************
1629
- /* Public API (from ObjectCodec): serialization
1630
- /* (mapping from Java types to Json)
1631
- /**********************************************************
1632
- */
1633
-
1634
- /**
1635
- * Method that can be used to serialize any Java value as
1636
- * JSON output, using provided {@link JsonGenerator}.
1637
- */
1638
- @Override
1639
- public void writeValue(JsonGenerator jgen, Object value)
1640
- throws IOException, JsonGenerationException, JsonMappingException
1641
- {
1642
- SerializationConfig config = copySerializationConfig();
1643
- if (config.isEnabled(SerializationConfig.Feature.CLOSE_CLOSEABLE) && (value instanceof Closeable)) {
1644
- _writeCloseableValue(jgen, value, config);
1645
- } else {
1646
- _serializerProvider.serializeValue(config, jgen, value, _serializerFactory);
1647
- if (config.isEnabled(SerializationConfig.Feature.FLUSH_AFTER_WRITE_VALUE)) {
1648
- jgen.flush();
1649
- }
1650
- }
1651
- }
1652
-
1653
- /**
1654
- * Method that can be used to serialize any Java value as
1655
- * JSON output, using provided {@link JsonGenerator},
1656
- * configured as per passed configuration object.
1657
- *
1658
- * @since 1.1
1659
- */
1660
- public void writeValue(JsonGenerator jgen, Object value, SerializationConfig config)
1661
- throws IOException, JsonGenerationException, JsonMappingException
1662
- {
1663
- // [JACKSON-282] Consider java.util.Closeable
1664
- if (config.isEnabled(SerializationConfig.Feature.CLOSE_CLOSEABLE) && (value instanceof Closeable)) {
1665
- _writeCloseableValue(jgen, value, config);
1666
- } else {
1667
- _serializerProvider.serializeValue(config, jgen, value, _serializerFactory);
1668
- if (config.isEnabled(SerializationConfig.Feature.FLUSH_AFTER_WRITE_VALUE)) {
1669
- jgen.flush();
1670
- }
1671
- }
1672
- }
1673
-
1674
- /**
1675
- * Method to serialize given JSON Tree, using generator
1676
- * provided.
1677
- */
1678
- @Override
1679
- public void writeTree(JsonGenerator jgen, JsonNode rootNode)
1680
- throws IOException, JsonProcessingException
1681
- {
1682
- SerializationConfig config = copySerializationConfig();
1683
- _serializerProvider.serializeValue(config, jgen, rootNode, _serializerFactory);
1684
- if (config.isEnabled(SerializationConfig.Feature.FLUSH_AFTER_WRITE_VALUE)) {
1685
- jgen.flush();
1686
- }
1687
- }
1688
-
1689
- /**
1690
- * Method to serialize given Json Tree, using generator
1691
- * provided.
1692
- *
1693
- * @since 1.1
1694
- */
1695
- public void writeTree(JsonGenerator jgen, JsonNode rootNode,
1696
- SerializationConfig cfg)
1697
- throws IOException, JsonProcessingException
1698
- {
1699
- _serializerProvider.serializeValue(cfg, jgen, rootNode, _serializerFactory);
1700
- if (cfg.isEnabled(SerializationConfig.Feature.FLUSH_AFTER_WRITE_VALUE)) {
1701
- jgen.flush();
1702
- }
1703
- }
1704
-
1705
- /*
1706
- /**********************************************************
1707
- /* Public API (from ObjectCodec): Tree Model support
1708
- /**********************************************************
1709
- */
1710
-
1711
- /**
1712
- *<p>
1713
- * Note: return type is co-variant, as basic ObjectCodec
1714
- * abstraction can not refer to concrete node types (as it's
1715
- * part of core package, whereas impls are part of mapper
1716
- * package)
1717
- *
1718
- * @since 1.2
1719
- */
1720
- @Override
1721
- public ObjectNode createObjectNode() {
1722
- return _deserializationConfig.getNodeFactory().objectNode();
1723
- }
1724
-
1725
- /**
1726
- *<p>
1727
- * Note: return type is co-variant, as basic ObjectCodec
1728
- * abstraction can not refer to concrete node types (as it's
1729
- * part of core package, whereas impls are part of mapper
1730
- * package)
1731
- *
1732
- * @since 1.2
1733
- */
1734
- @Override
1735
- public ArrayNode createArrayNode() {
1736
- return _deserializationConfig.getNodeFactory().arrayNode();
1737
- }
1738
-
1739
- /**
1740
- * Method for constructing a {@link JsonParser} out of JSON tree
1741
- * representation.
1742
- *
1743
- * @param n Root node of the tree that resulting parser will read from
1744
- *
1745
- * @since 1.3
1746
- */
1747
- @Override
1748
- public JsonParser treeAsTokens(JsonNode n)
1749
- {
1750
- return new TreeTraversingParser(n, this);
1751
- }
1752
-
1753
- /**
1754
- * Convenience conversion method that will bind data given JSON tree
1755
- * contains into specific value (usually bean) type.
1756
- *<p>
1757
- * Equivalent to:
1758
- *<pre>
1759
- * objectMapper.convertValue(n, valueClass);
1760
- *</pre>
1761
- */
1762
- @Override
1763
- public <T> T treeToValue(JsonNode n, Class<T> valueType)
1764
- throws IOException, JsonParseException, JsonMappingException
1765
- {
1766
- return readValue(treeAsTokens(n), valueType);
1767
- }
1768
-
1769
- /**
1770
- * Reverse of {@link #treeToValue}; given a value (usually bean), will
1771
- * construct equivalent JSON Tree representation. Functionally same
1772
- * as if serializing value into JSON and parsing JSON as tree, but
1773
- * more efficient.
1774
- *
1775
- * @param <T> Actual node type; usually either basic {@link JsonNode} or
1776
- * {@link sh.calaba.org.codehaus.jackson.node.ObjectNode}
1777
- * @param fromValue Bean value to convert
1778
- * @return Root node of the resulting JSON tree
1779
- *
1780
- * @since 1.6
1781
- */
1782
- @SuppressWarnings("unchecked")
1783
- public <T extends JsonNode> T valueToTree(Object fromValue)
1784
- throws IllegalArgumentException
1785
- {
1786
- if (fromValue == null) return null;
1787
- TokenBuffer buf = new TokenBuffer(this);
1788
- JsonNode result;
1789
- try {
1790
- writeValue(buf, fromValue);
1791
- JsonParser jp = buf.asParser();
1792
- result = readTree(jp);
1793
- jp.close();
1794
- } catch (IOException e) { // should not occur, no real i/o...
1795
- throw new IllegalArgumentException(e.getMessage(), e);
1796
- }
1797
- return (T) result;
1798
- }
1799
-
1800
- /*
1801
- /**********************************************************
1802
- /* Extended Public API, accessors
1803
- /**********************************************************
1804
- */
1805
-
1806
- /**
1807
- * Method that can be called to check whether mapper thinks
1808
- * it could serialize an instance of given Class.
1809
- * Check is done
1810
- * by checking whether a serializer can be found for the type.
1811
- *
1812
- * @return True if mapper can find a serializer for instances of
1813
- * given class (potentially serializable), false otherwise (not
1814
- * serializable)
1815
- */
1816
- public boolean canSerialize(Class<?> type)
1817
- {
1818
- return _serializerProvider.hasSerializerFor(copySerializationConfig(),
1819
- type, _serializerFactory);
1820
- }
1821
-
1822
- /**
1823
- * Method that can be called to check whether mapper thinks
1824
- * it could deserialize an Object of given type.
1825
- * Check is done
1826
- * by checking whether a deserializer can be found for the type.
1827
- *
1828
- * @return True if mapper can find a serializer for instances of
1829
- * given class (potentially serializable), false otherwise (not
1830
- * serializable)
1831
- */
1832
- public boolean canDeserialize(JavaType type)
1833
- {
1834
- return _deserializerProvider.hasValueDeserializerFor(copyDeserializationConfig(), type);
1835
- }
1836
-
1837
- /*
1838
- /**********************************************************
1839
- /* Extended Public API, deserialization,
1840
- /* convenience methods
1841
- /**********************************************************
1842
- */
1843
-
1844
- @SuppressWarnings("unchecked")
1845
- public <T> T readValue(File src, Class<T> valueType)
1846
- throws IOException, JsonParseException, JsonMappingException
1847
- {
1848
- // !!! TODO
1849
- // _setupClassLoaderForDeserialization(valueType);
1850
- return (T) _readMapAndClose(_jsonFactory.createJsonParser(src), _typeFactory.constructType(valueType));
1851
- }
1852
-
1853
- @SuppressWarnings({ "unchecked", "rawtypes" })
1854
- public <T> T readValue(File src, TypeReference valueTypeRef)
1855
- throws IOException, JsonParseException, JsonMappingException
1856
- {
1857
- return (T) _readMapAndClose(_jsonFactory.createJsonParser(src), _typeFactory.constructType(valueTypeRef));
1858
- }
1859
-
1860
- @SuppressWarnings("unchecked")
1861
- public <T> T readValue(File src, JavaType valueType)
1862
- throws IOException, JsonParseException, JsonMappingException
1863
- {
1864
- return (T) _readMapAndClose(_jsonFactory.createJsonParser(src), valueType);
1865
- }
1866
-
1867
- @SuppressWarnings("unchecked")
1868
- public <T> T readValue(URL src, Class<T> valueType)
1869
- throws IOException, JsonParseException, JsonMappingException
1870
- {
1871
- // !!! TODO
1872
- // _setupClassLoaderForDeserialization(valueType);
1873
- return (T) _readMapAndClose(_jsonFactory.createJsonParser(src), _typeFactory.constructType(valueType));
1874
- }
1875
-
1876
- @SuppressWarnings({ "unchecked", "rawtypes" })
1877
- public <T> T readValue(URL src, TypeReference valueTypeRef)
1878
- throws IOException, JsonParseException, JsonMappingException
1879
- {
1880
- return (T) _readMapAndClose(_jsonFactory.createJsonParser(src), _typeFactory.constructType(valueTypeRef));
1881
- }
1882
-
1883
- @SuppressWarnings("unchecked")
1884
- public <T> T readValue(URL src, JavaType valueType)
1885
- throws IOException, JsonParseException, JsonMappingException
1886
- {
1887
- return (T) _readMapAndClose(_jsonFactory.createJsonParser(src), valueType);
1888
- }
1889
-
1890
- @SuppressWarnings("unchecked")
1891
- public <T> T readValue(String content, Class<T> valueType)
1892
- throws IOException, JsonParseException, JsonMappingException
1893
- {
1894
- // !!! TODO
1895
- // _setupClassLoaderForDeserialization(valueType);
1896
- return (T) _readMapAndClose(_jsonFactory.createJsonParser(content), _typeFactory.constructType(valueType));
1897
- }
1898
-
1899
- @SuppressWarnings({ "unchecked", "rawtypes" })
1900
- public <T> T readValue(String content, TypeReference valueTypeRef)
1901
- throws IOException, JsonParseException, JsonMappingException
1902
- {
1903
- return (T) _readMapAndClose(_jsonFactory.createJsonParser(content), _typeFactory.constructType(valueTypeRef));
1904
- }
1905
-
1906
- @SuppressWarnings("unchecked")
1907
- public <T> T readValue(String content, JavaType valueType)
1908
- throws IOException, JsonParseException, JsonMappingException
1909
- {
1910
- return (T) _readMapAndClose(_jsonFactory.createJsonParser(content), valueType);
1911
- }
1912
-
1913
- @SuppressWarnings("unchecked")
1914
- public <T> T readValue(Reader src, Class<T> valueType)
1915
- throws IOException, JsonParseException, JsonMappingException
1916
- {
1917
- // !!! TODO
1918
- // _setupClassLoaderForDeserialization(valueType);
1919
- return (T) _readMapAndClose(_jsonFactory.createJsonParser(src), _typeFactory.constructType(valueType));
1920
- }
1921
-
1922
- @SuppressWarnings({ "unchecked", "rawtypes" })
1923
- public <T> T readValue(Reader src, TypeReference valueTypeRef)
1924
- throws IOException, JsonParseException, JsonMappingException
1925
- {
1926
- return (T) _readMapAndClose(_jsonFactory.createJsonParser(src), _typeFactory.constructType(valueTypeRef));
1927
- }
1928
-
1929
- @SuppressWarnings("unchecked")
1930
- public <T> T readValue(Reader src, JavaType valueType)
1931
- throws IOException, JsonParseException, JsonMappingException
1932
- {
1933
- return (T) _readMapAndClose(_jsonFactory.createJsonParser(src), valueType);
1934
- }
1935
-
1936
- @SuppressWarnings("unchecked")
1937
- public <T> T readValue(InputStream src, Class<T> valueType)
1938
- throws IOException, JsonParseException, JsonMappingException
1939
- {
1940
- // !!! TODO
1941
- // _setupClassLoaderForDeserialization(valueType);
1942
- return (T) _readMapAndClose(_jsonFactory.createJsonParser(src), _typeFactory.constructType(valueType));
1943
- }
1944
-
1945
- @SuppressWarnings({ "unchecked", "rawtypes" })
1946
- public <T> T readValue(InputStream src, TypeReference valueTypeRef)
1947
- throws IOException, JsonParseException, JsonMappingException
1948
- {
1949
- return (T) _readMapAndClose(_jsonFactory.createJsonParser(src), _typeFactory.constructType(valueTypeRef));
1950
- }
1951
-
1952
- @SuppressWarnings("unchecked")
1953
- public <T> T readValue(InputStream src, JavaType valueType)
1954
- throws IOException, JsonParseException, JsonMappingException
1955
- {
1956
- return (T) _readMapAndClose(_jsonFactory.createJsonParser(src), valueType);
1957
- }
1958
-
1959
- /**
1960
- * @since 1.8
1961
- */
1962
- @SuppressWarnings("unchecked")
1963
- public <T> T readValue(byte[] src, Class<T> valueType)
1964
- throws IOException, JsonParseException, JsonMappingException
1965
- {
1966
- // !!! TODO
1967
- // _setupClassLoaderForDeserialization(valueType);
1968
- return (T) _readMapAndClose(_jsonFactory.createJsonParser(src), _typeFactory.constructType(valueType));
1969
- }
1970
-
1971
- @SuppressWarnings("unchecked")
1972
- public <T> T readValue(byte[] src, int offset, int len,
1973
- Class<T> valueType)
1974
- throws IOException, JsonParseException, JsonMappingException
1975
- {
1976
- // !!! TODO
1977
- // _setupClassLoaderForDeserialization(valueType);
1978
- return (T) _readMapAndClose(_jsonFactory.createJsonParser(src, offset, len), _typeFactory.constructType(valueType));
1979
- }
1980
-
1981
- /**
1982
- * @since 1.8
1983
- */
1984
- @SuppressWarnings({ "unchecked", "rawtypes" })
1985
- public <T> T readValue(byte[] src, TypeReference valueTypeRef)
1986
- throws IOException, JsonParseException, JsonMappingException
1987
- {
1988
- return (T) _readMapAndClose(_jsonFactory.createJsonParser(src), _typeFactory.constructType(valueTypeRef));
1989
- }
1990
-
1991
- @SuppressWarnings({ "unchecked", "rawtypes" })
1992
- public <T> T readValue(byte[] src, int offset, int len,
1993
- TypeReference valueTypeRef)
1994
- throws IOException, JsonParseException, JsonMappingException
1995
- {
1996
- return (T) _readMapAndClose(_jsonFactory.createJsonParser(src, offset, len), _typeFactory.constructType(valueTypeRef));
1997
- }
1998
-
1999
- /**
2000
- * @since 1.8
2001
- */
2002
- @SuppressWarnings("unchecked")
2003
- public <T> T readValue(byte[] src, JavaType valueType)
2004
- throws IOException, JsonParseException, JsonMappingException
2005
- {
2006
- return (T) _readMapAndClose(_jsonFactory.createJsonParser(src), valueType);
2007
- }
2008
-
2009
- @SuppressWarnings("unchecked")
2010
- public <T> T readValue(byte[] src, int offset, int len,
2011
- JavaType valueType)
2012
- throws IOException, JsonParseException, JsonMappingException
2013
- {
2014
- return (T) _readMapAndClose(_jsonFactory.createJsonParser(src, offset, len), valueType);
2015
- }
2016
-
2017
- /**
2018
- * Convenience method for converting results from given JSON tree into given
2019
- * value type. Basically short-cut for:
2020
- *<pre>
2021
- * mapper.readValue(mapper.treeAsTokens(root), valueType);
2022
- *</pre>
2023
- *
2024
- * @since 1.6
2025
- */
2026
- @SuppressWarnings("unchecked")
2027
- public <T> T readValue(JsonNode root, Class<T> valueType)
2028
- throws IOException, JsonParseException, JsonMappingException
2029
- {
2030
- // !!! TODO
2031
- // _setupClassLoaderForDeserialization(valueType);
2032
- return (T) _readValue(copyDeserializationConfig(), treeAsTokens(root), _typeFactory.constructType(valueType));
2033
- }
2034
-
2035
- /**
2036
- * Convenience method for converting results from given JSON tree into given
2037
- * value type. Basically short-cut for:
2038
- *<pre>
2039
- * mapper.readValue(mapper.treeAsTokens(root), valueType);
2040
- *</pre>
2041
- *
2042
- * @since 1.6
2043
- */
2044
- @SuppressWarnings({ "unchecked", "rawtypes" })
2045
- public <T> T readValue(JsonNode root, TypeReference valueTypeRef)
2046
- throws IOException, JsonParseException, JsonMappingException
2047
- {
2048
- return (T) _readValue(copyDeserializationConfig(), treeAsTokens(root), _typeFactory.constructType(valueTypeRef));
2049
- }
2050
-
2051
- /**
2052
- * Convenience method for converting results from given JSON tree into given
2053
- * value type. Basically short-cut for:
2054
- *<pre>
2055
- * mapper.readValue(mapper.treeAsTokens(root), valueType);
2056
- *</pre>
2057
- *
2058
- * @since 1.6
2059
- */
2060
- @SuppressWarnings("unchecked")
2061
- public <T> T readValue(JsonNode root, JavaType valueType)
2062
- throws IOException, JsonParseException, JsonMappingException
2063
- {
2064
- return (T) _readValue(copyDeserializationConfig(), treeAsTokens(root), valueType);
2065
- }
2066
-
2067
- /*
2068
- /**********************************************************
2069
- /* Extended Public API: serialization
2070
- /* (mapping from Java types to Json)
2071
- /**********************************************************
2072
- */
2073
-
2074
- /**
2075
- * Method that can be used to serialize any Java value as
2076
- * JSON output, written to File provided.
2077
- */
2078
- public void writeValue(File resultFile, Object value)
2079
- throws IOException, JsonGenerationException, JsonMappingException
2080
- {
2081
- _configAndWriteValue(_jsonFactory.createJsonGenerator(resultFile, JsonEncoding.UTF8), value);
2082
- }
2083
-
2084
- /**
2085
- * Method that can be used to serialize any Java value as
2086
- * JSON output, using output stream provided (using encoding
2087
- * {@link JsonEncoding#UTF8}).
2088
- *<p>
2089
- * Note: method does not close the underlying stream explicitly
2090
- * here; however, {@link JsonFactory} this mapper uses may choose
2091
- * to close the stream depending on its settings (by default,
2092
- * it will try to close it when {@link JsonGenerator} we construct
2093
- * is closed).
2094
- */
2095
- public void writeValue(OutputStream out, Object value)
2096
- throws IOException, JsonGenerationException, JsonMappingException
2097
- {
2098
- _configAndWriteValue(_jsonFactory.createJsonGenerator(out, JsonEncoding.UTF8), value);
2099
- }
2100
-
2101
- /**
2102
- * Method that can be used to serialize any Java value as
2103
- * JSON output, using Writer provided.
2104
- *<p>
2105
- * Note: method does not close the underlying stream explicitly
2106
- * here; however, {@link JsonFactory} this mapper uses may choose
2107
- * to close the stream depending on its settings (by default,
2108
- * it will try to close it when {@link JsonGenerator} we construct
2109
- * is closed).
2110
- */
2111
- public void writeValue(Writer w, Object value)
2112
- throws IOException, JsonGenerationException, JsonMappingException
2113
- {
2114
- _configAndWriteValue(_jsonFactory.createJsonGenerator(w), value);
2115
- }
2116
-
2117
- /**
2118
- * Method that can be used to serialize any Java value as
2119
- * a String. Functionally equivalent to calling
2120
- * {@link #writeValue(Writer,Object)} with {@link java.io.StringWriter}
2121
- * and constructing String, but more efficient.
2122
- *
2123
- * @since 1.3
2124
- */
2125
- public String writeValueAsString(Object value)
2126
- throws IOException, JsonGenerationException, JsonMappingException
2127
- {
2128
- // alas, we have to pull the recycler directly here...
2129
- SegmentedStringWriter sw = new SegmentedStringWriter(_jsonFactory._getBufferRecycler());
2130
- _configAndWriteValue(_jsonFactory.createJsonGenerator(sw), value);
2131
- return sw.getAndClear();
2132
- }
2133
-
2134
- /**
2135
- * Method that can be used to serialize any Java value as
2136
- * a byte array. Functionally equivalent to calling
2137
- * {@link #writeValue(Writer,Object)} with {@link java.io.ByteArrayOutputStream}
2138
- * and getting bytes, but more efficient.
2139
- * Encoding used will be UTF-8.
2140
- *
2141
- * @since 1.5
2142
- */
2143
- public byte[] writeValueAsBytes(Object value)
2144
- throws IOException, JsonGenerationException, JsonMappingException
2145
- {
2146
- ByteArrayBuilder bb = new ByteArrayBuilder(_jsonFactory._getBufferRecycler());
2147
- _configAndWriteValue(_jsonFactory.createJsonGenerator(bb, JsonEncoding.UTF8), value);
2148
- byte[] result = bb.toByteArray();
2149
- bb.release();
2150
- return result;
2151
- }
2152
-
2153
- /*
2154
- /**********************************************************
2155
- /* Extended Public API: constructing ObjectWriters
2156
- /* for more advanced configuration
2157
- /**********************************************************
2158
- */
2159
-
2160
- /**
2161
- * Convenience method for constructing {@link ObjectWriter}
2162
- * with default settings.
2163
- *
2164
- * @since 1.6
2165
- */
2166
- public ObjectWriter writer() {
2167
- return new ObjectWriter(this, copySerializationConfig());
2168
- }
2169
-
2170
- /**
2171
- * Factory method for constructing {@link ObjectWriter} that will
2172
- * serialize objects using specified {@link DateFormat}; or, if
2173
- * null passed, using timestamp (64-bit number.
2174
- *
2175
- * @since 1.9
2176
- */
2177
- public ObjectWriter writer(DateFormat df) {
2178
- return new ObjectWriter(this,
2179
- copySerializationConfig().withDateFormat(df));
2180
- }
2181
-
2182
- /**
2183
- * Factory method for constructing {@link ObjectWriter} that will
2184
- * serialize objects using specified JSON View (filter).
2185
- *
2186
- * @since 1.9
2187
- */
2188
- public ObjectWriter writerWithView(Class<?> serializationView) {
2189
- return new ObjectWriter(this, copySerializationConfig().withView(serializationView));
2190
- }
2191
-
2192
- /**
2193
- * Factory method for constructing {@link ObjectWriter} that will
2194
- * serialize objects using specified root type, instead of actual
2195
- * runtime type of value. Type must be a super-type of runtime
2196
- * type.
2197
- *
2198
- * @since 1.9
2199
- */
2200
- public ObjectWriter writerWithType(Class<?> rootType) {
2201
- JavaType t = (rootType == null) ? null : _typeFactory.constructType(rootType);
2202
- return new ObjectWriter(this, copySerializationConfig(), t, /*PrettyPrinter*/null);
2203
- }
2204
-
2205
- /**
2206
- * Factory method for constructing {@link ObjectWriter} that will
2207
- * serialize objects using specified root type, instead of actual
2208
- * runtime type of value. Type must be a super-type of runtime type.
2209
- *
2210
- * @since 1.9
2211
- */
2212
- public ObjectWriter writerWithType(JavaType rootType) {
2213
- return new ObjectWriter(this, copySerializationConfig(), rootType, /*PrettyPrinter*/null);
2214
- }
2215
-
2216
- /**
2217
- * Factory method for constructing {@link ObjectWriter} that will
2218
- * serialize objects using specified root type, instead of actual
2219
- * runtime type of value. Type must be a super-type of runtime type.
2220
- *
2221
- * @since 1.9
2222
- */
2223
- public ObjectWriter writerWithType(TypeReference<?> rootType) {
2224
- JavaType t = (rootType == null) ? null : _typeFactory.constructType(rootType);
2225
- return new ObjectWriter(this, copySerializationConfig(), t, /*PrettyPrinter*/null);
2226
- }
2227
-
2228
- /**
2229
- * Factory method for constructing {@link ObjectWriter} that will
2230
- * serialize objects using specified pretty printer for indentation
2231
- * (or if null, no pretty printer)
2232
- *
2233
- * @since 1.9
2234
- */
2235
- public ObjectWriter writer(PrettyPrinter pp) {
2236
- if (pp == null) { // need to use a marker to indicate explicit disabling of pp
2237
- pp = ObjectWriter.NULL_PRETTY_PRINTER;
2238
- }
2239
- return new ObjectWriter(this, copySerializationConfig(), /*root type*/ null, pp);
2240
- }
2241
-
2242
- /**
2243
- * Factory method for constructing {@link ObjectWriter} that will
2244
- * serialize objects using the default pretty printer for indentation
2245
- *
2246
- * @since 1.9
2247
- */
2248
- public ObjectWriter writerWithDefaultPrettyPrinter() {
2249
- return new ObjectWriter(this, copySerializationConfig(),
2250
- /*root type*/ null, _defaultPrettyPrinter());
2251
- }
2252
-
2253
- /**
2254
- * Factory method for constructing {@link ObjectWriter} that will
2255
- * serialize objects using specified filter provider.
2256
- *
2257
- * @since 1.9
2258
- */
2259
- public ObjectWriter writer(FilterProvider filterProvider) {
2260
- return new ObjectWriter(this,
2261
- copySerializationConfig().withFilters(filterProvider));
2262
- }
2263
-
2264
- /**
2265
- * Factory method for constructing {@link ObjectWriter} that will
2266
- * pass specific schema object to {@link JsonGenerator} used for
2267
- * writing content.
2268
- *
2269
- * @param schema Schema to pass to generator
2270
- *
2271
- * @since 1.9
2272
- */
2273
- public ObjectWriter writer(FormatSchema schema) {
2274
- return new ObjectWriter(this, copySerializationConfig(), schema);
2275
- }
2276
-
2277
- /*
2278
- /**********************************************************
2279
- /* Deprecated ObjectWriter creator methods
2280
- /**********************************************************
2281
- */
2282
-
2283
- /**
2284
- * @deprecated Since 1.9, use {@link #writerWithType(Class)} instead.
2285
- */
2286
- @Deprecated
2287
- public ObjectWriter typedWriter(Class<?> rootType) {
2288
- return writerWithType(rootType);
2289
- }
2290
-
2291
- /**
2292
- * @deprecated Since 1.9, use {@link #writerWithType(JavaType)} instead.
2293
- */
2294
- @Deprecated
2295
- public ObjectWriter typedWriter(JavaType rootType) {
2296
- return writerWithType(rootType);
2297
- }
2298
-
2299
- /**
2300
- * @deprecated Since 1.9, use {@link #writerWithType(TypeReference)} instead.
2301
- */
2302
- @Deprecated
2303
- public ObjectWriter typedWriter(TypeReference<?> rootType) {
2304
- return writerWithType(rootType);
2305
- }
2306
-
2307
- /**
2308
- * @deprecated Since 1.9, use {@link #writerWithView(Class)} instead.
2309
- */
2310
- @Deprecated
2311
- public ObjectWriter viewWriter(Class<?> serializationView) {
2312
- return writerWithView(serializationView);
2313
- }
2314
-
2315
- /**
2316
- * @deprecated Since 1.9, use {@link #writer(FilterProvider)} instead.
2317
- */
2318
- @Deprecated
2319
- public ObjectWriter prettyPrintingWriter(PrettyPrinter pp) {
2320
- return writer(pp);
2321
- }
2322
-
2323
- /**
2324
- * @deprecated Since 1.9, use {@link #writerWithDefaultPrettyPrinter} instead.
2325
- */
2326
- @Deprecated
2327
- public ObjectWriter defaultPrettyPrintingWriter() {
2328
- return writerWithDefaultPrettyPrinter();
2329
- }
2330
-
2331
- /**
2332
- * @deprecated Since 1.9, use {@link #writer(FilterProvider)} instead.
2333
- */
2334
- @Deprecated
2335
- public ObjectWriter filteredWriter(FilterProvider filterProvider) {
2336
- return writer(filterProvider);
2337
- }
2338
-
2339
- /**
2340
- * @deprecated Since 1.9, use {@link #writer(FilterProvider)} instead.
2341
- */
2342
- @Deprecated
2343
- public ObjectWriter schemaBasedWriter(FormatSchema schema) {
2344
- return writer(schema);
2345
- }
2346
-
2347
- /*
2348
- /**********************************************************
2349
- /* Extended Public API: constructing ObjectReaders
2350
- /* for more advanced configuration
2351
- /**********************************************************
2352
- */
2353
-
2354
- /**
2355
- * Factory method for constructing {@link ObjectReader} with
2356
- * default settings. Note that the resulting instance is NOT usable as is,
2357
- * without defining expected value type.
2358
- *
2359
- * @since 1.6
2360
- */
2361
- public ObjectReader reader() {
2362
- return new ObjectReader(this, copyDeserializationConfig())
2363
- .withInjectableValues(_injectableValues);
2364
- }
2365
-
2366
- /**
2367
- * Factory method for constructing {@link ObjectReader} that will
2368
- * update given Object (usually Bean, but can be a Collection or Map
2369
- * as well, but NOT an array) with JSON data. Deserialization occurs
2370
- * normally except that the root-level value in JSON is not used for
2371
- * instantiating a new object; instead give updateable object is used
2372
- * as root.
2373
- * Runtime type of value object is used for locating deserializer,
2374
- * unless overridden by other factory methods of {@link ObjectReader}
2375
- *
2376
- * @since 1.9
2377
- */
2378
- public ObjectReader readerForUpdating(Object valueToUpdate)
2379
- {
2380
- JavaType t = _typeFactory.constructType(valueToUpdate.getClass());
2381
- return new ObjectReader(this, copyDeserializationConfig(), t, valueToUpdate,
2382
- null, _injectableValues);
2383
- }
2384
-
2385
- /**
2386
- * Factory method for constructing {@link ObjectReader} that will
2387
- * read or update instances of specified type
2388
- *
2389
- * @since 1.6
2390
- */
2391
- public ObjectReader reader(JavaType type)
2392
- {
2393
- return new ObjectReader(this, copyDeserializationConfig(), type, null,
2394
- null, _injectableValues);
2395
- }
2396
-
2397
- /**
2398
- * Factory method for constructing {@link ObjectReader} that will
2399
- * read or update instances of specified type
2400
- *
2401
- * @since 1.6
2402
- */
2403
- public ObjectReader reader(Class<?> type)
2404
- {
2405
- return reader(_typeFactory.constructType(type));
2406
- }
2407
-
2408
- /**
2409
- * Factory method for constructing {@link ObjectReader} that will
2410
- * read or update instances of specified type
2411
- *
2412
- * @since 1.6
2413
- */
2414
- public ObjectReader reader(TypeReference<?> type)
2415
- {
2416
- return reader(_typeFactory.constructType(type));
2417
- }
2418
-
2419
- /**
2420
- * Factory method for constructing {@link ObjectReader} that will
2421
- * use specified {@link JsonNodeFactory} for constructing JSON trees.
2422
- *
2423
- * @since 1.6
2424
- */
2425
- public ObjectReader reader(JsonNodeFactory f)
2426
- {
2427
- return new ObjectReader(this, copyDeserializationConfig()).withNodeFactory(f);
2428
- }
2429
-
2430
- /**
2431
- * Factory method for constructing {@link ObjectReader} that will
2432
- * pass specific schema object to {@link JsonParser} used for
2433
- * reading content.
2434
- *
2435
- * @param schema Schema to pass to parser
2436
- *
2437
- * @since 1.8
2438
- */
2439
- public ObjectReader reader(FormatSchema schema) {
2440
- return new ObjectReader(this, copyDeserializationConfig(), null, null,
2441
- schema, _injectableValues);
2442
- }
2443
-
2444
- /**
2445
- * Factory method for constructing {@link ObjectReader} that will
2446
- * use specified injectable values.
2447
- *
2448
- * @param injectableValues Injectable values to use
2449
- *
2450
- * @since 1.9
2451
- */
2452
- public ObjectReader reader(InjectableValues injectableValues) {
2453
- return new ObjectReader(this, copyDeserializationConfig(), null, null,
2454
- null, injectableValues);
2455
- }
2456
-
2457
- /*
2458
- /**********************************************************
2459
- /* Deprecated ObjectReader creator methods
2460
- /**********************************************************
2461
- */
2462
-
2463
- /**
2464
- * @deprecated Since 1.9, use {@link #readerForUpdating} instead.
2465
- */
2466
- @Deprecated
2467
- public ObjectReader updatingReader(Object valueToUpdate) {
2468
- return readerForUpdating(valueToUpdate);
2469
- }
2470
-
2471
- /**
2472
- * @deprecated Since 1.9, use {@link #reader(FormatSchema)} instead.
2473
- */
2474
- @Deprecated
2475
- public ObjectReader schemaBasedReader(FormatSchema schema) {
2476
- return reader(schema);
2477
- }
2478
-
2479
- /*
2480
- /**********************************************************
2481
- /* Extended Public API: convenience type conversion
2482
- /**********************************************************
2483
- */
2484
-
2485
- /**
2486
- * Convenience method for doing two-step conversion from given value, into
2487
- * instance of given value type. This is functionality equivalent to first
2488
- * serializing given value into JSON, then binding JSON data into value
2489
- * of given type, but may be executed without fully serializing into
2490
- * JSON. Same converters (serializers, deserializers) will be used as for
2491
- * data binding, meaning same object mapper configuration works.
2492
- *
2493
- * @throws IllegalArgumentException If conversion fails due to incompatible type;
2494
- * if so, root cause will contain underlying checked exception data binding
2495
- * functionality threw
2496
- */
2497
- @SuppressWarnings("unchecked")
2498
- public <T> T convertValue(Object fromValue, Class<T> toValueType)
2499
- throws IllegalArgumentException
2500
- {
2501
- return (T) _convert(fromValue, _typeFactory.constructType(toValueType));
2502
- }
2503
-
2504
- @SuppressWarnings({ "unchecked", "rawtypes" })
2505
- public <T> T convertValue(Object fromValue, TypeReference toValueTypeRef)
2506
- throws IllegalArgumentException
2507
- {
2508
- return (T) _convert(fromValue, _typeFactory.constructType(toValueTypeRef));
2509
- }
2510
-
2511
- @SuppressWarnings("unchecked")
2512
- public <T> T convertValue(Object fromValue, JavaType toValueType)
2513
- throws IllegalArgumentException
2514
- {
2515
- return (T) _convert(fromValue, toValueType);
2516
- }
2517
-
2518
- protected Object _convert(Object fromValue, JavaType toValueType)
2519
- throws IllegalArgumentException
2520
- {
2521
- // sanity check for null first:
2522
- if (fromValue == null) return null;
2523
- /* Then use TokenBuffer, which is a JsonGenerator:
2524
- * (see [JACKSON-175])
2525
- */
2526
- TokenBuffer buf = new TokenBuffer(this);
2527
- try {
2528
- writeValue(buf, fromValue);
2529
- // and provide as with a JsonParser for contents as well!
2530
- JsonParser jp = buf.asParser();
2531
- Object result = readValue(jp, toValueType);
2532
- jp.close();
2533
- return result;
2534
- } catch (IOException e) { // should not occur, no real i/o...
2535
- throw new IllegalArgumentException(e.getMessage(), e);
2536
- }
2537
- }
2538
-
2539
- /*
2540
- /**********************************************************
2541
- /* Extended Public API: JSON Schema generation
2542
- /**********************************************************
2543
- */
2544
-
2545
- /**
2546
- * Generate <a href="http://json-schema.org/">Json-schema</a>
2547
- * instance for specified class.
2548
- *
2549
- * @param t The class to generate schema for
2550
- * @return Constructed JSON schema.
2551
- */
2552
- public JsonSchema generateJsonSchema(Class<?> t)
2553
- throws JsonMappingException
2554
- {
2555
- return generateJsonSchema(t, copySerializationConfig());
2556
- }
2557
-
2558
- /**
2559
- * Generate <a href="http://json-schema.org/">Json-schema</a>
2560
- * instance for specified class, using specific
2561
- * serialization configuration
2562
- *
2563
- * @param t The class to generate schema for
2564
- * @return Constructed JSON schema.
2565
- */
2566
- public JsonSchema generateJsonSchema(Class<?> t, SerializationConfig cfg)
2567
- throws JsonMappingException
2568
- {
2569
- return _serializerProvider.generateJsonSchema(t, cfg, _serializerFactory);
2570
- }
2571
-
2572
- /*
2573
- /**********************************************************
2574
- /* Internal methods for serialization, overridable
2575
- /**********************************************************
2576
- */
2577
-
2578
- /**
2579
- * Helper method that should return default pretty-printer to
2580
- * use for generators constructed by this mapper, when instructed
2581
- * to use default pretty printer.
2582
- *
2583
- * @since 1.7
2584
- */
2585
- protected PrettyPrinter _defaultPrettyPrinter() {
2586
- return new DefaultPrettyPrinter();
2587
- }
2588
-
2589
- /**
2590
- * Method called to configure the generator as necessary and then
2591
- * call write functionality
2592
- */
2593
- protected final void _configAndWriteValue(JsonGenerator jgen, Object value)
2594
- throws IOException, JsonGenerationException, JsonMappingException
2595
- {
2596
- SerializationConfig cfg = copySerializationConfig();
2597
- // [JACKSON-96]: allow enabling pretty printing for ObjectMapper directly
2598
- if (cfg.isEnabled(SerializationConfig.Feature.INDENT_OUTPUT)) {
2599
- jgen.useDefaultPrettyPrinter();
2600
- }
2601
- // [JACKSON-282]: consider Closeable
2602
- if (cfg.isEnabled(SerializationConfig.Feature.CLOSE_CLOSEABLE) && (value instanceof Closeable)) {
2603
- _configAndWriteCloseable(jgen, value, cfg);
2604
- return;
2605
- }
2606
- boolean closed = false;
2607
- try {
2608
- _serializerProvider.serializeValue(cfg, jgen, value, _serializerFactory);
2609
- closed = true;
2610
- jgen.close();
2611
- } finally {
2612
- /* won't try to close twice; also, must catch exception (so it
2613
- * will not mask exception that is pending)
2614
- */
2615
- if (!closed) {
2616
- try {
2617
- jgen.close();
2618
- } catch (IOException ioe) { }
2619
- }
2620
- }
2621
- }
2622
-
2623
- protected final void _configAndWriteValue(JsonGenerator jgen, Object value, Class<?> viewClass)
2624
- throws IOException, JsonGenerationException, JsonMappingException
2625
- {
2626
- SerializationConfig cfg = copySerializationConfig().withView(viewClass);
2627
- if (cfg.isEnabled(SerializationConfig.Feature.INDENT_OUTPUT)) {
2628
- jgen.useDefaultPrettyPrinter();
2629
- }
2630
- // [JACKSON-282]: consider Closeable
2631
- if (cfg.isEnabled(SerializationConfig.Feature.CLOSE_CLOSEABLE) && (value instanceof Closeable)) {
2632
- _configAndWriteCloseable(jgen, value, cfg);
2633
- return;
2634
- }
2635
- boolean closed = false;
2636
- try {
2637
- _serializerProvider.serializeValue(cfg, jgen, value, _serializerFactory);
2638
- closed = true;
2639
- jgen.close();
2640
- } finally {
2641
- if (!closed) {
2642
- try {
2643
- jgen.close();
2644
- } catch (IOException ioe) { }
2645
- }
2646
- }
2647
- }
2648
-
2649
- /**
2650
- * Helper method used when value to serialize is {@link Closeable} and its <code>close()</code>
2651
- * method is to be called right after serialization has been called
2652
- */
2653
- private final void _configAndWriteCloseable(JsonGenerator jgen, Object value, SerializationConfig cfg)
2654
- throws IOException, JsonGenerationException, JsonMappingException
2655
- {
2656
- Closeable toClose = (Closeable) value;
2657
- try {
2658
- _serializerProvider.serializeValue(cfg, jgen, value, _serializerFactory);
2659
- JsonGenerator tmpJgen = jgen;
2660
- jgen = null;
2661
- tmpJgen.close();
2662
- Closeable tmpToClose = toClose;
2663
- toClose = null;
2664
- tmpToClose.close();
2665
- } finally {
2666
- /* Need to close both generator and value, as long as they haven't yet
2667
- * been closed
2668
- */
2669
- if (jgen != null) {
2670
- try {
2671
- jgen.close();
2672
- } catch (IOException ioe) { }
2673
- }
2674
- if (toClose != null) {
2675
- try {
2676
- toClose.close();
2677
- } catch (IOException ioe) { }
2678
- }
2679
- }
2680
- }
2681
-
2682
- /**
2683
- * Helper method used when value to serialize is {@link Closeable} and its <code>close()</code>
2684
- * method is to be called right after serialization has been called
2685
- */
2686
- private final void _writeCloseableValue(JsonGenerator jgen, Object value, SerializationConfig cfg)
2687
- throws IOException, JsonGenerationException, JsonMappingException
2688
- {
2689
- Closeable toClose = (Closeable) value;
2690
- try {
2691
- _serializerProvider.serializeValue(cfg, jgen, value, _serializerFactory);
2692
- if (cfg.isEnabled(SerializationConfig.Feature.FLUSH_AFTER_WRITE_VALUE)) {
2693
- jgen.flush();
2694
- }
2695
- Closeable tmpToClose = toClose;
2696
- toClose = null;
2697
- tmpToClose.close();
2698
- } finally {
2699
- if (toClose != null) {
2700
- try {
2701
- toClose.close();
2702
- } catch (IOException ioe) { }
2703
- }
2704
- }
2705
- }
2706
-
2707
- /*
2708
- /**********************************************************
2709
- /* Internal methods for deserialization, overridable
2710
- /**********************************************************
2711
- */
2712
-
2713
- /**
2714
- * Actual implementation of value reading+binding operation.
2715
- */
2716
- protected Object _readValue(DeserializationConfig cfg, JsonParser jp, JavaType valueType)
2717
- throws IOException, JsonParseException, JsonMappingException
2718
- {
2719
- /* First: may need to read the next token, to initialize
2720
- * state (either before first read from parser, or after
2721
- * previous token has been cleared)
2722
- */
2723
- Object result;
2724
- JsonToken t = _initForReading(jp);
2725
- if (t == JsonToken.VALUE_NULL) {
2726
- // [JACKSON-643]: Ask JsonDeserializer what 'null value' to use:
2727
- result = _findRootDeserializer(cfg, valueType).getNullValue();
2728
- } else if (t == JsonToken.END_ARRAY || t == JsonToken.END_OBJECT) {
2729
- result = null;
2730
- } else { // pointing to event other than null
2731
- DeserializationContext ctxt = _createDeserializationContext(jp, cfg);
2732
- JsonDeserializer<Object> deser = _findRootDeserializer(cfg, valueType);
2733
- // ok, let's get the value
2734
- if (cfg.isEnabled(DeserializationConfig.Feature.UNWRAP_ROOT_VALUE)) {
2735
- result = _unwrapAndDeserialize(jp, valueType, ctxt, deser);
2736
- } else {
2737
- result = deser.deserialize(jp, ctxt);
2738
- }
2739
- }
2740
- // Need to consume the token too
2741
- jp.clearCurrentToken();
2742
- return result;
2743
- }
2744
-
2745
-
2746
- protected Object _readMapAndClose(JsonParser jp, JavaType valueType)
2747
- throws IOException, JsonParseException, JsonMappingException
2748
- {
2749
- try {
2750
- Object result;
2751
- JsonToken t = _initForReading(jp);
2752
- if (t == JsonToken.VALUE_NULL) {
2753
- // [JACKSON-643]: Ask JsonDeserializer what 'null value' to use:
2754
- // (note: probably no need to make a copy of config for just this access)
2755
- result = _findRootDeserializer(this._deserializationConfig, valueType).getNullValue();
2756
- } else if (t == JsonToken.END_ARRAY || t == JsonToken.END_OBJECT) {
2757
- result = null;
2758
- } else {
2759
- DeserializationConfig cfg = copyDeserializationConfig();
2760
- DeserializationContext ctxt = _createDeserializationContext(jp, cfg);
2761
- JsonDeserializer<Object> deser = _findRootDeserializer(cfg, valueType);
2762
- if (cfg.isEnabled(DeserializationConfig.Feature.UNWRAP_ROOT_VALUE)) {
2763
- result = _unwrapAndDeserialize(jp, valueType, ctxt, deser);
2764
- } else {
2765
- result = deser.deserialize(jp, ctxt);
2766
- }
2767
- }
2768
- // Need to consume the token too
2769
- jp.clearCurrentToken();
2770
- return result;
2771
- } finally {
2772
- try {
2773
- jp.close();
2774
- } catch (IOException ioe) { }
2775
- }
2776
- }
2777
-
2778
- /**
2779
- * Method called to ensure that given parser is ready for reading
2780
- * content for data binding.
2781
- *
2782
- * @return First token to be used for data binding after this call:
2783
- * can never be null as exception will be thrown if parser can not
2784
- * provide more tokens.
2785
- *
2786
- * @throws IOException if the underlying input source has problems during
2787
- * parsing
2788
- * @throws JsonParseException if parser has problems parsing content
2789
- * @throws JsonMappingException if the parser does not have any more
2790
- * content to map (note: Json "null" value is considered content;
2791
- * enf-of-stream not)
2792
- */
2793
- protected JsonToken _initForReading(JsonParser jp)
2794
- throws IOException, JsonParseException, JsonMappingException
2795
- {
2796
- /* First: must point to a token; if not pointing to one, advance.
2797
- * This occurs before first read from JsonParser, as well as
2798
- * after clearing of current token.
2799
- */
2800
- JsonToken t = jp.getCurrentToken();
2801
- if (t == null) {
2802
- // and then we must get something...
2803
- t = jp.nextToken();
2804
- if (t == null) {
2805
- /* [JACKSON-99] Should throw EOFException, closest thing
2806
- * semantically
2807
- */
2808
- throw new EOFException("No content to map to Object due to end of input");
2809
- }
2810
- }
2811
- return t;
2812
- }
2813
-
2814
- protected Object _unwrapAndDeserialize(JsonParser jp, JavaType rootType,
2815
- DeserializationContext ctxt, JsonDeserializer<Object> deser)
2816
- throws IOException, JsonParseException, JsonMappingException
2817
- {
2818
- SerializedString rootName = _deserializerProvider.findExpectedRootName(ctxt.getConfig(), rootType);
2819
- if (jp.getCurrentToken() != JsonToken.START_OBJECT) {
2820
- throw JsonMappingException.from(jp, "Current token not START_OBJECT (needed to unwrap root name '"
2821
- +rootName+"'), but "+jp.getCurrentToken());
2822
- }
2823
- if (jp.nextToken() != JsonToken.FIELD_NAME) {
2824
- throw JsonMappingException.from(jp, "Current token not FIELD_NAME (to contain expected root name '"
2825
- +rootName+"'), but "+jp.getCurrentToken());
2826
- }
2827
- String actualName = jp.getCurrentName();
2828
- if (!rootName.getValue().equals(actualName)) {
2829
- throw JsonMappingException.from(jp, "Root name '"+actualName+"' does not match expected ('"+rootName
2830
- +"') for type "+rootType);
2831
- }
2832
- // ok, then move to value itself....
2833
- jp.nextToken();
2834
-
2835
- Object result = deser.deserialize(jp, ctxt);
2836
- // and last, verify that we now get matching END_OBJECT
2837
- if (jp.nextToken() != JsonToken.END_OBJECT) {
2838
- throw JsonMappingException.from(jp, "Current token not END_OBJECT (to match wrapper object with root name '"
2839
- +rootName+"'), but "+jp.getCurrentToken());
2840
- }
2841
- return result;
2842
- }
2843
-
2844
- /*
2845
- /**********************************************************
2846
- /* Internal methods, other
2847
- /**********************************************************
2848
- */
2849
-
2850
- /**
2851
- * Method called to locate deserializer for the passed root-level value.
2852
- */
2853
- protected JsonDeserializer<Object> _findRootDeserializer(DeserializationConfig cfg, JavaType valueType)
2854
- throws JsonMappingException
2855
- {
2856
- // First: have we already seen it?
2857
- JsonDeserializer<Object> deser = _rootDeserializers.get(valueType);
2858
- if (deser != null) {
2859
- return deser;
2860
- }
2861
- // Nope: need to ask provider to resolve it
2862
- deser = _deserializerProvider.findTypedValueDeserializer(cfg, valueType, null);
2863
- if (deser == null) { // can this happen?
2864
- throw new JsonMappingException("Can not find a deserializer for type "+valueType);
2865
- }
2866
- _rootDeserializers.put(valueType, deser);
2867
- return deser;
2868
- }
2869
-
2870
- protected DeserializationContext _createDeserializationContext(JsonParser jp, DeserializationConfig cfg)
2871
- {
2872
- return new StdDeserializationContext(cfg, jp, _deserializerProvider,
2873
- _injectableValues);
2874
- }
2875
-
2876
- //Allows use of the correct classloader (primarily for OSGi), separating framework from application
2877
- //should be safe to use in all contexts
2878
- /*
2879
- protected <T> void _setupClassLoaderForDeserialization(Class<T> valueType)
2880
- {
2881
- ClassLoader loader = (valueType.getClassLoader() == null) ? Thread.currentThread().getContextClassLoader() : valueType.getClassLoader();
2882
- Thread.currentThread().setContextClassLoader(loader);
2883
- }
2884
- */
2885
- }