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,1815 +0,0 @@
1
- package sh.calaba.org.codehaus.jackson.impl;
2
-
3
- import java.io.*;
4
- import java.math.BigDecimal;
5
- import java.math.BigInteger;
6
-
7
- import sh.calaba.org.codehaus.jackson.*;
8
- import sh.calaba.org.codehaus.jackson.io.*;
9
- import sh.calaba.org.codehaus.jackson.util.CharTypes;
10
-
11
- /**
12
- * {@link JsonGenerator} that outputs JSON content using a {@link java.io.Writer}
13
- * which handles character encoding.
14
- */
15
- public final class WriterBasedGenerator
16
- extends JsonGeneratorBase
17
- {
18
- final protected static int SHORT_WRITE = 32;
19
-
20
- final protected static char[] HEX_CHARS = CharTypes.copyHexChars();
21
-
22
- /**
23
- * This is the default set of escape codes, over 7-bit ASCII range
24
- * (first 128 character codes), used for single-byte UTF-8 characters.
25
- */
26
- protected final static int[] sOutputEscapes = CharTypes.get7BitOutputEscapes();
27
-
28
- /*
29
- /**********************************************************
30
- /* Configuration
31
- /**********************************************************
32
- */
33
-
34
- final protected IOContext _ioContext;
35
-
36
- final protected Writer _writer;
37
-
38
- /*
39
- /**********************************************************
40
- /* Configuration, output escaping
41
- /**********************************************************
42
- */
43
-
44
- /**
45
- * Currently active set of output escape code definitions (whether
46
- * and how to escape or not) for 7-bit ASCII range (first 128
47
- * character codes). Defined separately to make potentially
48
- * customizable
49
- */
50
- protected int[] _outputEscapes = sOutputEscapes;
51
-
52
- /**
53
- * Value between 128 (0x80) and 65535 (0xFFFF) that indicates highest
54
- * Unicode code point that will not need escaping; or 0 to indicate
55
- * that all characters can be represented without escaping.
56
- * Typically used to force escaping of some portion of character set;
57
- * for example to always escape non-ASCII characters (if value was 127).
58
- *<p>
59
- * NOTE: not all sub-classes make use of this setting.
60
- */
61
- protected int _maximumNonEscapedChar;
62
-
63
- /**
64
- * Definition of custom character escapes to use for generators created
65
- * by this factory, if any. If null, standard data format specific
66
- * escapes are used.
67
- *
68
- * @since 1.8
69
- */
70
- protected CharacterEscapes _characterEscapes;
71
-
72
- /**
73
- * When custom escapes are used, this member variable can be used to
74
- * store escape to use
75
- *
76
- * @since 1.8
77
- */
78
- protected SerializableString _currentEscape;
79
-
80
- /*
81
- /**********************************************************
82
- /* Output buffering
83
- /**********************************************************
84
- */
85
-
86
- /**
87
- * Intermediate buffer in which contents are buffered before
88
- * being written using {@link #_writer}.
89
- */
90
- protected char[] _outputBuffer;
91
-
92
- /**
93
- * Pointer to the first buffered character to output
94
- */
95
- protected int _outputHead = 0;
96
-
97
- /**
98
- * Pointer to the position right beyond the last character to output
99
- * (end marker; may point to position right beyond the end of the buffer)
100
- */
101
- protected int _outputTail = 0;
102
-
103
- /**
104
- * End marker of the output buffer; one past the last valid position
105
- * within the buffer.
106
- */
107
- protected int _outputEnd;
108
-
109
- /**
110
- * Short (14 char) temporary buffer allocated if needed, for constructing
111
- * escape sequences
112
- */
113
- protected char[] _entityBuffer;
114
-
115
- /*
116
- /**********************************************************
117
- /* Life-cycle
118
- /**********************************************************
119
- */
120
-
121
- public WriterBasedGenerator(IOContext ctxt, int features, ObjectCodec codec,
122
- Writer w)
123
- {
124
- super(features, codec);
125
- _ioContext = ctxt;
126
- _writer = w;
127
- _outputBuffer = ctxt.allocConcatBuffer();
128
- _outputEnd = _outputBuffer.length;
129
-
130
- if (isEnabled(Feature.ESCAPE_NON_ASCII)) {
131
- setHighestNonEscapedChar(127);
132
- }
133
- }
134
-
135
- /*
136
- /**********************************************************
137
- /* Overridden configuration methods
138
- /**********************************************************
139
- */
140
-
141
- @Override
142
- public JsonGenerator setHighestNonEscapedChar(int charCode) {
143
- _maximumNonEscapedChar = (charCode < 0) ? 0 : charCode;
144
- return this;
145
- }
146
-
147
- @Override
148
- public int getHighestEscapedChar() {
149
- return _maximumNonEscapedChar;
150
- }
151
-
152
- @Override
153
- public JsonGenerator setCharacterEscapes(CharacterEscapes esc)
154
- {
155
- _characterEscapes = esc;
156
- if (esc == null) { // revert to standard escapes
157
- _outputEscapes = sOutputEscapes;
158
- } else {
159
- _outputEscapes = esc.getEscapeCodesForAscii();
160
- }
161
- return this;
162
- }
163
-
164
- /**
165
- * Method for accessing custom escapes factory uses for {@link JsonGenerator}s
166
- * it creates.
167
- *
168
- * @since 1.8
169
- */
170
- @Override
171
- public CharacterEscapes getCharacterEscapes() {
172
- return _characterEscapes;
173
- }
174
-
175
- @Override
176
- public Object getOutputTarget() {
177
- return _writer;
178
- }
179
-
180
- /*
181
- /**********************************************************
182
- /* Overridden methods
183
- /**********************************************************
184
- */
185
-
186
- /* Most overrides in this section are just to make methods final,
187
- * to allow better inlining...
188
- */
189
-
190
- @Override
191
- public final void writeFieldName(String name) throws IOException, JsonGenerationException
192
- {
193
- int status = _writeContext.writeFieldName(name);
194
- if (status == JsonWriteContext.STATUS_EXPECT_VALUE) {
195
- _reportError("Can not write a field name, expecting a value");
196
- }
197
- _writeFieldName(name, (status == JsonWriteContext.STATUS_OK_AFTER_COMMA));
198
- }
199
-
200
- @Override
201
- public final void writeStringField(String fieldName, String value)
202
- throws IOException, JsonGenerationException
203
- {
204
- writeFieldName(fieldName);
205
- writeString(value);
206
- }
207
-
208
- @Override
209
- public final void writeFieldName(SerializedString name)
210
- throws IOException, JsonGenerationException
211
- {
212
- // Object is a value, need to verify it's allowed
213
- int status = _writeContext.writeFieldName(name.getValue());
214
- if (status == JsonWriteContext.STATUS_EXPECT_VALUE) {
215
- _reportError("Can not write a field name, expecting a value");
216
- }
217
- _writeFieldName(name, (status == JsonWriteContext.STATUS_OK_AFTER_COMMA));
218
- }
219
-
220
- @Override
221
- public final void writeFieldName(SerializableString name)
222
- throws IOException, JsonGenerationException
223
- {
224
- // Object is a value, need to verify it's allowed
225
- int status = _writeContext.writeFieldName(name.getValue());
226
- if (status == JsonWriteContext.STATUS_EXPECT_VALUE) {
227
- _reportError("Can not write a field name, expecting a value");
228
- }
229
- _writeFieldName(name, (status == JsonWriteContext.STATUS_OK_AFTER_COMMA));
230
- }
231
-
232
- /*
233
- /**********************************************************
234
- /* Output method implementations, structural
235
- /**********************************************************
236
- */
237
-
238
- @Override
239
- public final void writeStartArray() throws IOException, JsonGenerationException
240
- {
241
- _verifyValueWrite("start an array");
242
- _writeContext = _writeContext.createChildArrayContext();
243
- if (_cfgPrettyPrinter != null) {
244
- _cfgPrettyPrinter.writeStartArray(this);
245
- } else {
246
- if (_outputTail >= _outputEnd) {
247
- _flushBuffer();
248
- }
249
- _outputBuffer[_outputTail++] = '[';
250
- }
251
- }
252
-
253
- @Override
254
- public final void writeEndArray() throws IOException, JsonGenerationException
255
- {
256
- if (!_writeContext.inArray()) {
257
- _reportError("Current context not an ARRAY but "+_writeContext.getTypeDesc());
258
- }
259
- if (_cfgPrettyPrinter != null) {
260
- _cfgPrettyPrinter.writeEndArray(this, _writeContext.getEntryCount());
261
- } else {
262
- if (_outputTail >= _outputEnd) {
263
- _flushBuffer();
264
- }
265
- _outputBuffer[_outputTail++] = ']';
266
- }
267
- _writeContext = _writeContext.getParent();
268
- }
269
-
270
- @Override
271
- public final void writeStartObject() throws IOException, JsonGenerationException
272
- {
273
- _verifyValueWrite("start an object");
274
- _writeContext = _writeContext.createChildObjectContext();
275
- if (_cfgPrettyPrinter != null) {
276
- _cfgPrettyPrinter.writeStartObject(this);
277
- } else {
278
- if (_outputTail >= _outputEnd) {
279
- _flushBuffer();
280
- }
281
- _outputBuffer[_outputTail++] = '{';
282
- }
283
- }
284
-
285
- @Override
286
- public final void writeEndObject() throws IOException, JsonGenerationException
287
- {
288
- if (!_writeContext.inObject()) {
289
- _reportError("Current context not an object but "+_writeContext.getTypeDesc());
290
- }
291
- _writeContext = _writeContext.getParent();
292
- if (_cfgPrettyPrinter != null) {
293
- _cfgPrettyPrinter.writeEndObject(this, _writeContext.getEntryCount());
294
- } else {
295
- if (_outputTail >= _outputEnd) {
296
- _flushBuffer();
297
- }
298
- _outputBuffer[_outputTail++] = '}';
299
- }
300
- }
301
-
302
- protected void _writeFieldName(String name, boolean commaBefore)
303
- throws IOException, JsonGenerationException
304
- {
305
- if (_cfgPrettyPrinter != null) {
306
- _writePPFieldName(name, commaBefore);
307
- return;
308
- }
309
- // for fast+std case, need to output up to 2 chars, comma, dquote
310
- if ((_outputTail + 1) >= _outputEnd) {
311
- _flushBuffer();
312
- }
313
- if (commaBefore) {
314
- _outputBuffer[_outputTail++] = ',';
315
- }
316
-
317
- /* To support [JACKSON-46], we'll do this:
318
- * (Question: should quoting of spaces (etc) still be enabled?)
319
- */
320
- if (!isEnabled(Feature.QUOTE_FIELD_NAMES)) {
321
- _writeString(name);
322
- return;
323
- }
324
-
325
- // we know there's room for at least one more char
326
- _outputBuffer[_outputTail++] = '"';
327
- // The beef:
328
- _writeString(name);
329
- // and closing quotes; need room for one more char:
330
- if (_outputTail >= _outputEnd) {
331
- _flushBuffer();
332
- }
333
- _outputBuffer[_outputTail++] = '"';
334
- }
335
-
336
- public void _writeFieldName(SerializableString name, boolean commaBefore)
337
- throws IOException, JsonGenerationException
338
- {
339
- if (_cfgPrettyPrinter != null) {
340
- _writePPFieldName(name, commaBefore);
341
- return;
342
- }
343
- // for fast+std case, need to output up to 2 chars, comma, dquote
344
- if ((_outputTail + 1) >= _outputEnd) {
345
- _flushBuffer();
346
- }
347
- if (commaBefore) {
348
- _outputBuffer[_outputTail++] = ',';
349
- }
350
- /* To support [JACKSON-46], we'll do this:
351
- * (Question: should quoting of spaces (etc) still be enabled?)
352
- */
353
- final char[] quoted = name.asQuotedChars();
354
- if (!isEnabled(Feature.QUOTE_FIELD_NAMES)) {
355
- writeRaw(quoted, 0, quoted.length);
356
- return;
357
- }
358
- // we know there's room for at least one more char
359
- _outputBuffer[_outputTail++] = '"';
360
- // The beef:
361
- final int qlen = quoted.length;
362
- if ((_outputTail + qlen + 1) >= _outputEnd) {
363
- writeRaw(quoted, 0, qlen);
364
- // and closing quotes; need room for one more char:
365
- if (_outputTail >= _outputEnd) {
366
- _flushBuffer();
367
- }
368
- _outputBuffer[_outputTail++] = '"';
369
- } else {
370
- System.arraycopy(quoted, 0, _outputBuffer, _outputTail, qlen);
371
- _outputTail += qlen;
372
- _outputBuffer[_outputTail++] = '"';
373
- }
374
- }
375
-
376
- /**
377
- * Specialized version of <code>_writeFieldName</code>, off-lined
378
- * to keep the "fast path" as simple (and hopefully fast) as possible.
379
- */
380
- protected final void _writePPFieldName(String name, boolean commaBefore)
381
- throws IOException, JsonGenerationException
382
- {
383
- if (commaBefore) {
384
- _cfgPrettyPrinter.writeObjectEntrySeparator(this);
385
- } else {
386
- _cfgPrettyPrinter.beforeObjectEntries(this);
387
- }
388
-
389
- if (isEnabled(Feature.QUOTE_FIELD_NAMES)) { // standard
390
- if (_outputTail >= _outputEnd) {
391
- _flushBuffer();
392
- }
393
- _outputBuffer[_outputTail++] = '"';
394
- _writeString(name);
395
- if (_outputTail >= _outputEnd) {
396
- _flushBuffer();
397
- }
398
- _outputBuffer[_outputTail++] = '"';
399
- } else { // non-standard, omit quotes
400
- _writeString(name);
401
- }
402
- }
403
-
404
- protected final void _writePPFieldName(SerializableString name, boolean commaBefore)
405
- throws IOException, JsonGenerationException
406
- {
407
- if (commaBefore) {
408
- _cfgPrettyPrinter.writeObjectEntrySeparator(this);
409
- } else {
410
- _cfgPrettyPrinter.beforeObjectEntries(this);
411
- }
412
-
413
- final char[] quoted = name.asQuotedChars();
414
- if (isEnabled(Feature.QUOTE_FIELD_NAMES)) { // standard
415
- if (_outputTail >= _outputEnd) {
416
- _flushBuffer();
417
- }
418
- _outputBuffer[_outputTail++] = '"';
419
- writeRaw(quoted, 0, quoted.length);
420
- if (_outputTail >= _outputEnd) {
421
- _flushBuffer();
422
- }
423
- _outputBuffer[_outputTail++] = '"';
424
- } else { // non-standard, omit quotes
425
- writeRaw(quoted, 0, quoted.length);
426
- }
427
- }
428
-
429
- /*
430
- /**********************************************************
431
- /* Output method implementations, textual
432
- /**********************************************************
433
- */
434
-
435
- @Override
436
- public void writeString(String text)
437
- throws IOException, JsonGenerationException
438
- {
439
- _verifyValueWrite("write text value");
440
- if (text == null) {
441
- _writeNull();
442
- return;
443
- }
444
- if (_outputTail >= _outputEnd) {
445
- _flushBuffer();
446
- }
447
- _outputBuffer[_outputTail++] = '"';
448
- _writeString(text);
449
- // And finally, closing quotes
450
- if (_outputTail >= _outputEnd) {
451
- _flushBuffer();
452
- }
453
- _outputBuffer[_outputTail++] = '"';
454
- }
455
-
456
- @Override
457
- public void writeString(char[] text, int offset, int len)
458
- throws IOException, JsonGenerationException
459
- {
460
- _verifyValueWrite("write text value");
461
- if (_outputTail >= _outputEnd) {
462
- _flushBuffer();
463
- }
464
- _outputBuffer[_outputTail++] = '"';
465
- _writeString(text, offset, len);
466
- // And finally, closing quotes
467
- if (_outputTail >= _outputEnd) {
468
- _flushBuffer();
469
- }
470
- _outputBuffer[_outputTail++] = '"';
471
- }
472
-
473
- @Override
474
- public final void writeString(SerializableString sstr)
475
- throws IOException, JsonGenerationException
476
- {
477
- _verifyValueWrite("write text value");
478
- if (_outputTail >= _outputEnd) {
479
- _flushBuffer();
480
- }
481
- _outputBuffer[_outputTail++] = '"';
482
- // Note: copied from writeRaw:
483
- char[] text = sstr.asQuotedChars();
484
- final int len = text.length;
485
- // Only worth buffering if it's a short write?
486
- if (len < SHORT_WRITE) {
487
- int room = _outputEnd - _outputTail;
488
- if (len > room) {
489
- _flushBuffer();
490
- }
491
- System.arraycopy(text, 0, _outputBuffer, _outputTail, len);
492
- _outputTail += len;
493
- } else {
494
- // Otherwise, better just pass through:
495
- _flushBuffer();
496
- _writer.write(text, 0, len);
497
- }
498
- if (_outputTail >= _outputEnd) {
499
- _flushBuffer();
500
- }
501
- _outputBuffer[_outputTail++] = '"';
502
- }
503
-
504
- @Override
505
- public void writeRawUTF8String(byte[] text, int offset, int length)
506
- throws IOException, JsonGenerationException
507
- {
508
- // could add support for buffering if we really want it...
509
- _reportUnsupportedOperation();
510
- }
511
-
512
- @Override
513
- public void writeUTF8String(byte[] text, int offset, int length)
514
- throws IOException, JsonGenerationException
515
- {
516
- // could add support for buffering if we really want it...
517
- _reportUnsupportedOperation();
518
- }
519
-
520
- /*
521
- /**********************************************************
522
- /* Output method implementations, unprocessed ("raw")
523
- /**********************************************************
524
- */
525
-
526
- @Override
527
- public void writeRaw(String text)
528
- throws IOException, JsonGenerationException
529
- {
530
- // Nothing to check, can just output as is
531
- int len = text.length();
532
- int room = _outputEnd - _outputTail;
533
-
534
- if (room == 0) {
535
- _flushBuffer();
536
- room = _outputEnd - _outputTail;
537
- }
538
- // But would it nicely fit in? If yes, it's easy
539
- if (room >= len) {
540
- text.getChars(0, len, _outputBuffer, _outputTail);
541
- _outputTail += len;
542
- } else {
543
- writeRawLong(text);
544
- }
545
- }
546
-
547
- @Override
548
- public void writeRaw(String text, int start, int len)
549
- throws IOException, JsonGenerationException
550
- {
551
- // Nothing to check, can just output as is
552
- int room = _outputEnd - _outputTail;
553
-
554
- if (room < len) {
555
- _flushBuffer();
556
- room = _outputEnd - _outputTail;
557
- }
558
- // But would it nicely fit in? If yes, it's easy
559
- if (room >= len) {
560
- text.getChars(start, start+len, _outputBuffer, _outputTail);
561
- _outputTail += len;
562
- } else {
563
- writeRawLong(text.substring(start, start+len));
564
- }
565
- }
566
-
567
- @Override
568
- public void writeRaw(char[] text, int offset, int len)
569
- throws IOException, JsonGenerationException
570
- {
571
- // Only worth buffering if it's a short write?
572
- if (len < SHORT_WRITE) {
573
- int room = _outputEnd - _outputTail;
574
- if (len > room) {
575
- _flushBuffer();
576
- }
577
- System.arraycopy(text, offset, _outputBuffer, _outputTail, len);
578
- _outputTail += len;
579
- return;
580
- }
581
- // Otherwise, better just pass through:
582
- _flushBuffer();
583
- _writer.write(text, offset, len);
584
- }
585
-
586
- @Override
587
- public void writeRaw(char c)
588
- throws IOException, JsonGenerationException
589
- {
590
- if (_outputTail >= _outputEnd) {
591
- _flushBuffer();
592
- }
593
- _outputBuffer[_outputTail++] = c;
594
- }
595
-
596
- private void writeRawLong(String text)
597
- throws IOException, JsonGenerationException
598
- {
599
- int room = _outputEnd - _outputTail;
600
- // If not, need to do it by looping
601
- text.getChars(0, room, _outputBuffer, _outputTail);
602
- _outputTail += room;
603
- _flushBuffer();
604
- int offset = room;
605
- int len = text.length() - room;
606
-
607
- while (len > _outputEnd) {
608
- int amount = _outputEnd;
609
- text.getChars(offset, offset+amount, _outputBuffer, 0);
610
- _outputHead = 0;
611
- _outputTail = amount;
612
- _flushBuffer();
613
- offset += amount;
614
- len -= amount;
615
- }
616
- // And last piece (at most length of buffer)
617
- text.getChars(offset, offset+len, _outputBuffer, 0);
618
- _outputHead = 0;
619
- _outputTail = len;
620
- }
621
-
622
- /*
623
- /**********************************************************
624
- /* Output method implementations, base64-encoded binary
625
- /**********************************************************
626
- */
627
-
628
- @Override
629
- public void writeBinary(Base64Variant b64variant, byte[] data, int offset, int len)
630
- throws IOException, JsonGenerationException
631
- {
632
- _verifyValueWrite("write binary value");
633
- // Starting quotes
634
- if (_outputTail >= _outputEnd) {
635
- _flushBuffer();
636
- }
637
- _outputBuffer[_outputTail++] = '"';
638
- _writeBinary(b64variant, data, offset, offset+len);
639
- // and closing quotes
640
- if (_outputTail >= _outputEnd) {
641
- _flushBuffer();
642
- }
643
- _outputBuffer[_outputTail++] = '"';
644
- }
645
-
646
- /*
647
- /**********************************************************
648
- /* Output method implementations, primitive
649
- /**********************************************************
650
- */
651
-
652
- @Override
653
- public void writeNumber(int i)
654
- throws IOException, JsonGenerationException
655
- {
656
- _verifyValueWrite("write number");
657
- if (_cfgNumbersAsStrings) {
658
- _writeQuotedInt(i);
659
- return;
660
- }
661
- // up to 10 digits and possible minus sign
662
- if ((_outputTail + 11) >= _outputEnd) {
663
- _flushBuffer();
664
- }
665
- _outputTail = NumberOutput.outputInt(i, _outputBuffer, _outputTail);
666
- }
667
-
668
- private final void _writeQuotedInt(int i) throws IOException {
669
- if ((_outputTail + 13) >= _outputEnd) {
670
- _flushBuffer();
671
- }
672
- _outputBuffer[_outputTail++] = '"';
673
- _outputTail = NumberOutput.outputInt(i, _outputBuffer, _outputTail);
674
- _outputBuffer[_outputTail++] = '"';
675
- }
676
-
677
- @Override
678
- public void writeNumber(long l)
679
- throws IOException, JsonGenerationException
680
- {
681
- _verifyValueWrite("write number");
682
- if (_cfgNumbersAsStrings) {
683
- _writeQuotedLong(l);
684
- return;
685
- }
686
- if ((_outputTail + 21) >= _outputEnd) {
687
- // up to 20 digits, minus sign
688
- _flushBuffer();
689
- }
690
- _outputTail = NumberOutput.outputLong(l, _outputBuffer, _outputTail);
691
- }
692
-
693
- private final void _writeQuotedLong(long l) throws IOException {
694
- if ((_outputTail + 23) >= _outputEnd) {
695
- _flushBuffer();
696
- }
697
- _outputBuffer[_outputTail++] = '"';
698
- _outputTail = NumberOutput.outputLong(l, _outputBuffer, _outputTail);
699
- _outputBuffer[_outputTail++] = '"';
700
- }
701
-
702
- // !!! 05-Aug-2008, tatus: Any ways to optimize these?
703
-
704
- @Override
705
- public void writeNumber(BigInteger value)
706
- throws IOException, JsonGenerationException
707
- {
708
- _verifyValueWrite("write number");
709
- if (value == null) {
710
- _writeNull();
711
- } else if (_cfgNumbersAsStrings) {
712
- _writeQuotedRaw(value);
713
- } else {
714
- writeRaw(value.toString());
715
- }
716
- }
717
-
718
-
719
- @Override
720
- public void writeNumber(double d)
721
- throws IOException, JsonGenerationException
722
- {
723
- if (_cfgNumbersAsStrings ||
724
- // [JACKSON-139]
725
- (((Double.isNaN(d) || Double.isInfinite(d))
726
- && isEnabled(Feature.QUOTE_NON_NUMERIC_NUMBERS)))) {
727
- writeString(String.valueOf(d));
728
- return;
729
- }
730
- // What is the max length for doubles? 40 chars?
731
- _verifyValueWrite("write number");
732
- writeRaw(String.valueOf(d));
733
- }
734
-
735
- @Override
736
- public void writeNumber(float f)
737
- throws IOException, JsonGenerationException
738
- {
739
- if (_cfgNumbersAsStrings ||
740
- // [JACKSON-139]
741
- (((Float.isNaN(f) || Float.isInfinite(f))
742
- && isEnabled(Feature.QUOTE_NON_NUMERIC_NUMBERS)))) {
743
- writeString(String.valueOf(f));
744
- return;
745
- }
746
- // What is the max length for floats?
747
- _verifyValueWrite("write number");
748
- writeRaw(String.valueOf(f));
749
- }
750
-
751
- @Override
752
- public void writeNumber(BigDecimal value)
753
- throws IOException, JsonGenerationException
754
- {
755
- // Don't really know max length for big decimal, no point checking
756
- _verifyValueWrite("write number");
757
- if (value == null) {
758
- _writeNull();
759
- } else if (_cfgNumbersAsStrings) {
760
- _writeQuotedRaw(value);
761
- } else {
762
- writeRaw(value.toString());
763
- }
764
- }
765
-
766
- @Override
767
- public void writeNumber(String encodedValue)
768
- throws IOException, JsonGenerationException
769
- {
770
- _verifyValueWrite("write number");
771
- if (_cfgNumbersAsStrings) {
772
- _writeQuotedRaw(encodedValue);
773
- } else {
774
- writeRaw(encodedValue);
775
- }
776
- }
777
-
778
- private final void _writeQuotedRaw(Object value) throws IOException
779
- {
780
- if (_outputTail >= _outputEnd) {
781
- _flushBuffer();
782
- }
783
- _outputBuffer[_outputTail++] = '"';
784
- writeRaw(value.toString());
785
- if (_outputTail >= _outputEnd) {
786
- _flushBuffer();
787
- }
788
- _outputBuffer[_outputTail++] = '"';
789
- }
790
-
791
- @Override
792
- public void writeBoolean(boolean state)
793
- throws IOException, JsonGenerationException
794
- {
795
- _verifyValueWrite("write boolean value");
796
- if ((_outputTail + 5) >= _outputEnd) {
797
- _flushBuffer();
798
- }
799
- int ptr = _outputTail;
800
- char[] buf = _outputBuffer;
801
- if (state) {
802
- buf[ptr] = 't';
803
- buf[++ptr] = 'r';
804
- buf[++ptr] = 'u';
805
- buf[++ptr] = 'e';
806
- } else {
807
- buf[ptr] = 'f';
808
- buf[++ptr] = 'a';
809
- buf[++ptr] = 'l';
810
- buf[++ptr] = 's';
811
- buf[++ptr] = 'e';
812
- }
813
- _outputTail = ptr+1;
814
- }
815
-
816
- @Override
817
- public void writeNull()
818
- throws IOException, JsonGenerationException
819
- {
820
- _verifyValueWrite("write null value");
821
- _writeNull();
822
- }
823
-
824
- /*
825
- /**********************************************************
826
- /* Implementations for other methods
827
- /**********************************************************
828
- */
829
-
830
- @Override
831
- protected final void _verifyValueWrite(String typeMsg)
832
- throws IOException, JsonGenerationException
833
- {
834
- int status = _writeContext.writeValue();
835
- if (status == JsonWriteContext.STATUS_EXPECT_NAME) {
836
- _reportError("Can not "+typeMsg+", expecting field name");
837
- }
838
- if (_cfgPrettyPrinter == null) {
839
- char c;
840
- switch (status) {
841
- case JsonWriteContext.STATUS_OK_AFTER_COMMA:
842
- c = ',';
843
- break;
844
- case JsonWriteContext.STATUS_OK_AFTER_COLON:
845
- c = ':';
846
- break;
847
- case JsonWriteContext.STATUS_OK_AFTER_SPACE:
848
- c = ' ';
849
- break;
850
- case JsonWriteContext.STATUS_OK_AS_IS:
851
- default:
852
- return;
853
- }
854
- if (_outputTail >= _outputEnd) {
855
- _flushBuffer();
856
- }
857
- _outputBuffer[_outputTail] = c;
858
- ++_outputTail;
859
- return;
860
- }
861
- // Otherwise, pretty printer knows what to do...
862
- _verifyPrettyValueWrite(typeMsg, status);
863
- }
864
-
865
- protected final void _verifyPrettyValueWrite(String typeMsg, int status)
866
- throws IOException, JsonGenerationException
867
- {
868
- // If we have a pretty printer, it knows what to do:
869
- switch (status) {
870
- case JsonWriteContext.STATUS_OK_AFTER_COMMA: // array
871
- _cfgPrettyPrinter.writeArrayValueSeparator(this);
872
- break;
873
- case JsonWriteContext.STATUS_OK_AFTER_COLON:
874
- _cfgPrettyPrinter.writeObjectFieldValueSeparator(this);
875
- break;
876
- case JsonWriteContext.STATUS_OK_AFTER_SPACE:
877
- _cfgPrettyPrinter.writeRootValueSeparator(this);
878
- break;
879
- case JsonWriteContext.STATUS_OK_AS_IS:
880
- // First entry, but of which context?
881
- if (_writeContext.inArray()) {
882
- _cfgPrettyPrinter.beforeArrayValues(this);
883
- } else if (_writeContext.inObject()) {
884
- _cfgPrettyPrinter.beforeObjectEntries(this);
885
- }
886
- break;
887
- default:
888
- _cantHappen();
889
- break;
890
- }
891
- }
892
-
893
- /*
894
- /**********************************************************
895
- /* Low-level output handling
896
- /**********************************************************
897
- */
898
-
899
- @Override
900
- public final void flush()
901
- throws IOException
902
- {
903
- _flushBuffer();
904
- if (_writer != null) {
905
- if (isEnabled(Feature.FLUSH_PASSED_TO_STREAM)) {
906
- _writer.flush();
907
- }
908
- }
909
- }
910
-
911
- @Override
912
- public void close()
913
- throws IOException
914
- {
915
- super.close();
916
-
917
- /* 05-Dec-2008, tatu: To add [JACKSON-27], need to close open
918
- * scopes.
919
- */
920
- // First: let's see that we still have buffers...
921
- if (_outputBuffer != null
922
- && isEnabled(Feature.AUTO_CLOSE_JSON_CONTENT)) {
923
- while (true) {
924
- JsonStreamContext ctxt = getOutputContext();
925
- if (ctxt.inArray()) {
926
- writeEndArray();
927
- } else if (ctxt.inObject()) {
928
- writeEndObject();
929
- } else {
930
- break;
931
- }
932
- }
933
- }
934
- _flushBuffer();
935
-
936
- /* 25-Nov-2008, tatus: As per [JACKSON-16] we are not to call close()
937
- * on the underlying Reader, unless we "own" it, or auto-closing
938
- * feature is enabled.
939
- * One downside: when using UTF8Writer, underlying buffer(s)
940
- * may not be properly recycled if we don't close the writer.
941
- */
942
- if (_writer != null) {
943
- if (_ioContext.isResourceManaged() || isEnabled(Feature.AUTO_CLOSE_TARGET)) {
944
- _writer.close();
945
- } else if (isEnabled(Feature.FLUSH_PASSED_TO_STREAM)) {
946
- // If we can't close it, we should at least flush
947
- _writer.flush();
948
- }
949
- }
950
- // Internal buffer(s) generator has can now be released as well
951
- _releaseBuffers();
952
- }
953
-
954
- @Override
955
- protected void _releaseBuffers()
956
- {
957
- char[] buf = _outputBuffer;
958
- if (buf != null) {
959
- _outputBuffer = null;
960
- _ioContext.releaseConcatBuffer(buf);
961
- }
962
- }
963
-
964
- /*
965
- /**********************************************************
966
- /* Internal methods, low-level writing; text, default
967
- /**********************************************************
968
- */
969
-
970
- private void _writeString(String text)
971
- throws IOException, JsonGenerationException
972
- {
973
- /* One check first: if String won't fit in the buffer, let's
974
- * segment writes. No point in extending buffer to huge sizes
975
- * (like if someone wants to include multi-megabyte base64
976
- * encoded stuff or such)
977
- */
978
- final int len = text.length();
979
- if (len > _outputEnd) { // Let's reserve space for entity at begin/end
980
- _writeLongString(text);
981
- return;
982
- }
983
-
984
- // Ok: we know String will fit in buffer ok
985
- // But do we need to flush first?
986
- if ((_outputTail + len) > _outputEnd) {
987
- _flushBuffer();
988
- }
989
- text.getChars(0, len, _outputBuffer, _outputTail);
990
-
991
- if (_characterEscapes != null) {
992
- _writeStringCustom(len);
993
- } else if (_maximumNonEscapedChar != 0) {
994
- _writeStringASCII(len, _maximumNonEscapedChar);
995
- } else {
996
- _writeString2(len);
997
- }
998
- }
999
-
1000
- private void _writeString2(final int len)
1001
- throws IOException, JsonGenerationException
1002
- {
1003
- // And then we'll need to verify need for escaping etc:
1004
- int end = _outputTail + len;
1005
- final int[] escCodes = _outputEscapes;
1006
- final int escLen = escCodes.length;
1007
-
1008
- output_loop:
1009
- while (_outputTail < end) {
1010
- // Fast loop for chars not needing escaping
1011
- escape_loop:
1012
- while (true) {
1013
- char c = _outputBuffer[_outputTail];
1014
- if (c < escLen && escCodes[c] != 0) {
1015
- break escape_loop;
1016
- }
1017
- if (++_outputTail >= end) {
1018
- break output_loop;
1019
- }
1020
- }
1021
-
1022
- // Ok, bumped into something that needs escaping.
1023
- /* First things first: need to flush the buffer.
1024
- * Inlined, as we don't want to lose tail pointer
1025
- */
1026
- int flushLen = (_outputTail - _outputHead);
1027
- if (flushLen > 0) {
1028
- _writer.write(_outputBuffer, _outputHead, flushLen);
1029
- }
1030
- /* In any case, tail will be the new start, so hopefully
1031
- * we have room now.
1032
- */
1033
- char c = _outputBuffer[_outputTail++];
1034
- _prependOrWriteCharacterEscape(c, escCodes[c]);
1035
- }
1036
- }
1037
-
1038
- /**
1039
- * Method called to write "long strings", strings whose length exceeds
1040
- * output buffer length.
1041
- */
1042
- private void _writeLongString(String text)
1043
- throws IOException, JsonGenerationException
1044
- {
1045
- // First things first: let's flush the buffer to get some more room
1046
- _flushBuffer();
1047
-
1048
- // Then we can write
1049
- final int textLen = text.length();
1050
- int offset = 0;
1051
- do {
1052
- int max = _outputEnd;
1053
- int segmentLen = ((offset + max) > textLen)
1054
- ? (textLen - offset) : max;
1055
- text.getChars(offset, offset+segmentLen, _outputBuffer, 0);
1056
- if (_characterEscapes != null) {
1057
- _writeSegmentCustom(segmentLen);
1058
- } else if (_maximumNonEscapedChar != 0) {
1059
- _writeSegmentASCII(segmentLen, _maximumNonEscapedChar);
1060
- } else {
1061
- _writeSegment(segmentLen);
1062
- }
1063
- offset += segmentLen;
1064
- } while (offset < textLen);
1065
- }
1066
-
1067
- /**
1068
- * Method called to output textual context which has been copied
1069
- * to the output buffer prior to call. If any escaping is needed,
1070
- * it will also be handled by the method.
1071
- *<p>
1072
- * Note: when called, textual content to write is within output
1073
- * buffer, right after buffered content (if any). That's why only
1074
- * length of that text is passed, as buffer and offset are implied.
1075
- */
1076
- private final void _writeSegment(int end)
1077
- throws IOException, JsonGenerationException
1078
- {
1079
- final int[] escCodes = _outputEscapes;
1080
- final int escLen = escCodes.length;
1081
-
1082
- int ptr = 0;
1083
- int start = ptr;
1084
-
1085
- output_loop:
1086
- while (ptr < end) {
1087
- // Fast loop for chars not needing escaping
1088
- char c;
1089
- while (true) {
1090
- c = _outputBuffer[ptr];
1091
- if (c < escLen && escCodes[c] != 0) {
1092
- break;
1093
- }
1094
- if (++ptr >= end) {
1095
- break;
1096
- }
1097
- }
1098
-
1099
- // Ok, bumped into something that needs escaping.
1100
- /* First things first: need to flush the buffer.
1101
- * Inlined, as we don't want to lose tail pointer
1102
- */
1103
- int flushLen = (ptr - start);
1104
- if (flushLen > 0) {
1105
- _writer.write(_outputBuffer, start, flushLen);
1106
- if (ptr >= end) {
1107
- break output_loop;
1108
- }
1109
- }
1110
- ++ptr;
1111
- // So; either try to prepend (most likely), or write directly:
1112
- start = _prependOrWriteCharacterEscape(_outputBuffer, ptr, end, c, escCodes[c]);
1113
- }
1114
- }
1115
-
1116
- /**
1117
- * This method called when the string content is already in
1118
- * a char buffer, and need not be copied for processing.
1119
- */
1120
- private final void _writeString(char[] text, int offset, int len)
1121
- throws IOException, JsonGenerationException
1122
- {
1123
- if (_characterEscapes != null) {
1124
- _writeStringCustom(text, offset, len);
1125
- return;
1126
- }
1127
- if (_maximumNonEscapedChar != 0) {
1128
- _writeStringASCII(text, offset, len, _maximumNonEscapedChar);
1129
- return;
1130
- }
1131
-
1132
- /* Let's just find longest spans of non-escapable
1133
- * content, and for each see if it makes sense
1134
- * to copy them, or write through
1135
- */
1136
- len += offset; // -> len marks the end from now on
1137
- final int[] escCodes = _outputEscapes;
1138
- final int escLen = escCodes.length;
1139
- while (offset < len) {
1140
- int start = offset;
1141
-
1142
- while (true) {
1143
- char c = text[offset];
1144
- if (c < escLen && escCodes[c] != 0) {
1145
- break;
1146
- }
1147
- if (++offset >= len) {
1148
- break;
1149
- }
1150
- }
1151
-
1152
- // Short span? Better just copy it to buffer first:
1153
- int newAmount = offset - start;
1154
- if (newAmount < SHORT_WRITE) {
1155
- // Note: let's reserve room for escaped char (up to 6 chars)
1156
- if ((_outputTail + newAmount) > _outputEnd) {
1157
- _flushBuffer();
1158
- }
1159
- if (newAmount > 0) {
1160
- System.arraycopy(text, start, _outputBuffer, _outputTail, newAmount);
1161
- _outputTail += newAmount;
1162
- }
1163
- } else { // Nope: better just write through
1164
- _flushBuffer();
1165
- _writer.write(text, start, newAmount);
1166
- }
1167
- // Was this the end?
1168
- if (offset >= len) { // yup
1169
- break;
1170
- }
1171
- // Nope, need to escape the char.
1172
- char c = text[offset++];
1173
- _appendCharacterEscape(c, escCodes[c]);
1174
- }
1175
- }
1176
-
1177
- /*
1178
- /**********************************************************
1179
- /* Internal methods, low-level writing, text segment
1180
- /* with additional escaping (ASCII or such)
1181
- /* (since 1.8; see [JACKSON-102])
1182
- /**********************************************************
1183
- */
1184
-
1185
- /* Same as "_writeString2()", except needs additional escaping
1186
- * for subset of characters
1187
- */
1188
- private void _writeStringASCII(final int len, final int maxNonEscaped)
1189
- throws IOException, JsonGenerationException
1190
- {
1191
- // And then we'll need to verify need for escaping etc:
1192
- int end = _outputTail + len;
1193
- final int[] escCodes = _outputEscapes;
1194
- final int escLimit = Math.min(escCodes.length, _maximumNonEscapedChar+1);
1195
- int escCode = 0;
1196
-
1197
- output_loop:
1198
- while (_outputTail < end) {
1199
- char c;
1200
- // Fast loop for chars not needing escaping
1201
- escape_loop:
1202
- while (true) {
1203
- c = _outputBuffer[_outputTail];
1204
- if (c < escLimit) {
1205
- escCode = escCodes[c];
1206
- if (escCode != 0) {
1207
- break escape_loop;
1208
- }
1209
- } else if (c > maxNonEscaped) {
1210
- escCode = CharacterEscapes.ESCAPE_STANDARD;
1211
- break escape_loop;
1212
- }
1213
- if (++_outputTail >= end) {
1214
- break output_loop;
1215
- }
1216
- }
1217
- int flushLen = (_outputTail - _outputHead);
1218
- if (flushLen > 0) {
1219
- _writer.write(_outputBuffer, _outputHead, flushLen);
1220
- }
1221
- ++_outputTail;
1222
- _prependOrWriteCharacterEscape(c, escCode);
1223
- }
1224
- }
1225
-
1226
- private final void _writeSegmentASCII(int end, final int maxNonEscaped)
1227
- throws IOException, JsonGenerationException
1228
- {
1229
- final int[] escCodes = _outputEscapes;
1230
- final int escLimit = Math.min(escCodes.length, _maximumNonEscapedChar+1);
1231
-
1232
- int ptr = 0;
1233
- int escCode = 0;
1234
- int start = ptr;
1235
-
1236
- output_loop:
1237
- while (ptr < end) {
1238
- // Fast loop for chars not needing escaping
1239
- char c;
1240
- while (true) {
1241
- c = _outputBuffer[ptr];
1242
- if (c < escLimit) {
1243
- escCode = escCodes[c];
1244
- if (escCode != 0) {
1245
- break;
1246
- }
1247
- } else if (c > maxNonEscaped) {
1248
- escCode = CharacterEscapes.ESCAPE_STANDARD;
1249
- break;
1250
- }
1251
- if (++ptr >= end) {
1252
- break;
1253
- }
1254
- }
1255
- int flushLen = (ptr - start);
1256
- if (flushLen > 0) {
1257
- _writer.write(_outputBuffer, start, flushLen);
1258
- if (ptr >= end) {
1259
- break output_loop;
1260
- }
1261
- }
1262
- ++ptr;
1263
- start = _prependOrWriteCharacterEscape(_outputBuffer, ptr, end, c, escCode);
1264
- }
1265
- }
1266
-
1267
- private final void _writeStringASCII(char[] text, int offset, int len,
1268
- final int maxNonEscaped)
1269
- throws IOException, JsonGenerationException
1270
- {
1271
- len += offset; // -> len marks the end from now on
1272
- final int[] escCodes = _outputEscapes;
1273
- final int escLimit = Math.min(escCodes.length, maxNonEscaped+1);
1274
-
1275
- int escCode = 0;
1276
-
1277
- while (offset < len) {
1278
- int start = offset;
1279
- char c;
1280
-
1281
- while (true) {
1282
- c = text[offset];
1283
- if (c < escLimit) {
1284
- escCode = escCodes[c];
1285
- if (escCode != 0) {
1286
- break;
1287
- }
1288
- } else if (c > maxNonEscaped) {
1289
- escCode = CharacterEscapes.ESCAPE_STANDARD;
1290
- break;
1291
- }
1292
- if (++offset >= len) {
1293
- break;
1294
- }
1295
- }
1296
-
1297
- // Short span? Better just copy it to buffer first:
1298
- int newAmount = offset - start;
1299
- if (newAmount < SHORT_WRITE) {
1300
- // Note: let's reserve room for escaped char (up to 6 chars)
1301
- if ((_outputTail + newAmount) > _outputEnd) {
1302
- _flushBuffer();
1303
- }
1304
- if (newAmount > 0) {
1305
- System.arraycopy(text, start, _outputBuffer, _outputTail, newAmount);
1306
- _outputTail += newAmount;
1307
- }
1308
- } else { // Nope: better just write through
1309
- _flushBuffer();
1310
- _writer.write(text, start, newAmount);
1311
- }
1312
- // Was this the end?
1313
- if (offset >= len) { // yup
1314
- break;
1315
- }
1316
- // Nope, need to escape the char.
1317
- ++offset;
1318
- _appendCharacterEscape(c, escCode);
1319
- }
1320
- }
1321
-
1322
- /*
1323
- /**********************************************************
1324
- /* Internal methods, low-level writing, text segment
1325
- /* with custom escaping (possibly coupling with ASCII limits)
1326
- /* (since 1.8; see [JACKSON-106])
1327
- /**********************************************************
1328
- */
1329
-
1330
- /* Same as "_writeString2()", except needs additional escaping
1331
- * for subset of characters
1332
- */
1333
- private void _writeStringCustom(final int len)
1334
- throws IOException, JsonGenerationException
1335
- {
1336
- // And then we'll need to verify need for escaping etc:
1337
- int end = _outputTail + len;
1338
- final int[] escCodes = _outputEscapes;
1339
- final int maxNonEscaped = (_maximumNonEscapedChar < 1) ? 0xFFFF : _maximumNonEscapedChar;
1340
- final int escLimit = Math.min(escCodes.length, maxNonEscaped+1);
1341
- int escCode = 0;
1342
- final CharacterEscapes customEscapes = _characterEscapes;
1343
-
1344
- output_loop:
1345
- while (_outputTail < end) {
1346
- char c;
1347
- // Fast loop for chars not needing escaping
1348
- escape_loop:
1349
- while (true) {
1350
- c = _outputBuffer[_outputTail];
1351
- if (c < escLimit) {
1352
- escCode = escCodes[c];
1353
- if (escCode != 0) {
1354
- break escape_loop;
1355
- }
1356
- } else if (c > maxNonEscaped) {
1357
- escCode = CharacterEscapes.ESCAPE_STANDARD;
1358
- break escape_loop;
1359
- } else {
1360
- if ((_currentEscape = customEscapes.getEscapeSequence(c)) != null) {
1361
- escCode = CharacterEscapes.ESCAPE_CUSTOM;
1362
- break escape_loop;
1363
- }
1364
- }
1365
- if (++_outputTail >= end) {
1366
- break output_loop;
1367
- }
1368
- }
1369
- int flushLen = (_outputTail - _outputHead);
1370
- if (flushLen > 0) {
1371
- _writer.write(_outputBuffer, _outputHead, flushLen);
1372
- }
1373
- ++_outputTail;
1374
- _prependOrWriteCharacterEscape(c, escCode);
1375
- }
1376
- }
1377
-
1378
- private final void _writeSegmentCustom(int end)
1379
- throws IOException, JsonGenerationException
1380
- {
1381
- final int[] escCodes = _outputEscapes;
1382
- final int maxNonEscaped = (_maximumNonEscapedChar < 1) ? 0xFFFF : _maximumNonEscapedChar;
1383
- final int escLimit = Math.min(escCodes.length, _maximumNonEscapedChar+1);
1384
- final CharacterEscapes customEscapes = _characterEscapes;
1385
-
1386
- int ptr = 0;
1387
- int escCode = 0;
1388
- int start = ptr;
1389
-
1390
- output_loop:
1391
- while (ptr < end) {
1392
- // Fast loop for chars not needing escaping
1393
- char c;
1394
- while (true) {
1395
- c = _outputBuffer[ptr];
1396
- if (c < escLimit) {
1397
- escCode = escCodes[c];
1398
- if (escCode != 0) {
1399
- break;
1400
- }
1401
- } else if (c > maxNonEscaped) {
1402
- escCode = CharacterEscapes.ESCAPE_STANDARD;
1403
- break;
1404
- } else {
1405
- if ((_currentEscape = customEscapes.getEscapeSequence(c)) != null) {
1406
- escCode = CharacterEscapes.ESCAPE_CUSTOM;
1407
- break;
1408
- }
1409
- }
1410
- if (++ptr >= end) {
1411
- break;
1412
- }
1413
- }
1414
- int flushLen = (ptr - start);
1415
- if (flushLen > 0) {
1416
- _writer.write(_outputBuffer, start, flushLen);
1417
- if (ptr >= end) {
1418
- break output_loop;
1419
- }
1420
- }
1421
- ++ptr;
1422
- start = _prependOrWriteCharacterEscape(_outputBuffer, ptr, end, c, escCode);
1423
- }
1424
- }
1425
-
1426
- private final void _writeStringCustom(char[] text, int offset, int len)
1427
- throws IOException, JsonGenerationException
1428
- {
1429
- len += offset; // -> len marks the end from now on
1430
- final int[] escCodes = _outputEscapes;
1431
- final int maxNonEscaped = (_maximumNonEscapedChar < 1) ? 0xFFFF : _maximumNonEscapedChar;
1432
- final int escLimit = Math.min(escCodes.length, maxNonEscaped+1);
1433
- final CharacterEscapes customEscapes = _characterEscapes;
1434
-
1435
- int escCode = 0;
1436
-
1437
- while (offset < len) {
1438
- int start = offset;
1439
- char c;
1440
-
1441
- while (true) {
1442
- c = text[offset];
1443
- if (c < escLimit) {
1444
- escCode = escCodes[c];
1445
- if (escCode != 0) {
1446
- break;
1447
- }
1448
- } else if (c > maxNonEscaped) {
1449
- escCode = CharacterEscapes.ESCAPE_STANDARD;
1450
- break;
1451
- } else {
1452
- if ((_currentEscape = customEscapes.getEscapeSequence(c)) != null) {
1453
- escCode = CharacterEscapes.ESCAPE_CUSTOM;
1454
- break;
1455
- }
1456
- }
1457
- if (++offset >= len) {
1458
- break;
1459
- }
1460
- }
1461
-
1462
- // Short span? Better just copy it to buffer first:
1463
- int newAmount = offset - start;
1464
- if (newAmount < SHORT_WRITE) {
1465
- // Note: let's reserve room for escaped char (up to 6 chars)
1466
- if ((_outputTail + newAmount) > _outputEnd) {
1467
- _flushBuffer();
1468
- }
1469
- if (newAmount > 0) {
1470
- System.arraycopy(text, start, _outputBuffer, _outputTail, newAmount);
1471
- _outputTail += newAmount;
1472
- }
1473
- } else { // Nope: better just write through
1474
- _flushBuffer();
1475
- _writer.write(text, start, newAmount);
1476
- }
1477
- // Was this the end?
1478
- if (offset >= len) { // yup
1479
- break;
1480
- }
1481
- // Nope, need to escape the char.
1482
- ++offset;
1483
- _appendCharacterEscape(c, escCode);
1484
- }
1485
- }
1486
-
1487
- /*
1488
- /**********************************************************
1489
- /* Internal methods, low-level writing; binary
1490
- /**********************************************************
1491
- */
1492
-
1493
- protected void _writeBinary(Base64Variant b64variant, byte[] input, int inputPtr, final int inputEnd)
1494
- throws IOException, JsonGenerationException
1495
- {
1496
- // Encoding is by chunks of 3 input, 4 output chars, so:
1497
- int safeInputEnd = inputEnd - 3;
1498
- // Let's also reserve room for possible (and quoted) lf char each round
1499
- int safeOutputEnd = _outputEnd - 6;
1500
- int chunksBeforeLF = b64variant.getMaxLineLength() >> 2;
1501
-
1502
- // Ok, first we loop through all full triplets of data:
1503
- while (inputPtr <= safeInputEnd) {
1504
- if (_outputTail > safeOutputEnd) { // need to flush
1505
- _flushBuffer();
1506
- }
1507
- // First, mash 3 bytes into lsb of 32-bit int
1508
- int b24 = ((int) input[inputPtr++]) << 8;
1509
- b24 |= ((int) input[inputPtr++]) & 0xFF;
1510
- b24 = (b24 << 8) | (((int) input[inputPtr++]) & 0xFF);
1511
- _outputTail = b64variant.encodeBase64Chunk(b24, _outputBuffer, _outputTail);
1512
- if (--chunksBeforeLF <= 0) {
1513
- // note: must quote in JSON value
1514
- _outputBuffer[_outputTail++] = '\\';
1515
- _outputBuffer[_outputTail++] = 'n';
1516
- chunksBeforeLF = b64variant.getMaxLineLength() >> 2;
1517
- }
1518
- }
1519
-
1520
- // And then we may have 1 or 2 leftover bytes to encode
1521
- int inputLeft = inputEnd - inputPtr; // 0, 1 or 2
1522
- if (inputLeft > 0) { // yes, but do we have room for output?
1523
- if (_outputTail > safeOutputEnd) { // don't really need 6 bytes but...
1524
- _flushBuffer();
1525
- }
1526
- int b24 = ((int) input[inputPtr++]) << 16;
1527
- if (inputLeft == 2) {
1528
- b24 |= (((int) input[inputPtr++]) & 0xFF) << 8;
1529
- }
1530
- _outputTail = b64variant.encodeBase64Partial(b24, inputLeft, _outputBuffer, _outputTail);
1531
- }
1532
- }
1533
-
1534
- /*
1535
- /**********************************************************
1536
- /* Internal methods, low-level writing, other
1537
- /**********************************************************
1538
- */
1539
-
1540
- private final void _writeNull() throws IOException
1541
- {
1542
- if ((_outputTail + 4) >= _outputEnd) {
1543
- _flushBuffer();
1544
- }
1545
- int ptr = _outputTail;
1546
- char[] buf = _outputBuffer;
1547
- buf[ptr] = 'n';
1548
- buf[++ptr] = 'u';
1549
- buf[++ptr] = 'l';
1550
- buf[++ptr] = 'l';
1551
- _outputTail = ptr+1;
1552
- }
1553
-
1554
- /*
1555
- /**********************************************************
1556
- /* Internal methods, low-level writing, escapes
1557
- /**********************************************************
1558
- */
1559
-
1560
- /**
1561
- * Method called to try to either prepend character escape at front of
1562
- * given buffer; or if not possible, to write it out directly.
1563
- * Uses head and tail pointers (and updates as necessary)
1564
- */
1565
- private final void _prependOrWriteCharacterEscape(char ch, int escCode)
1566
- throws IOException, JsonGenerationException
1567
- {
1568
- if (escCode >= 0) { // \\N (2 char)
1569
- if (_outputTail >= 2) { // fits, just prepend
1570
- int ptr = _outputTail - 2;
1571
- _outputHead = ptr;
1572
- _outputBuffer[ptr++] = '\\';
1573
- _outputBuffer[ptr] = (char) escCode;
1574
- return;
1575
- }
1576
- // won't fit, write
1577
- char[] buf = _entityBuffer;
1578
- if (buf == null) {
1579
- buf = _allocateEntityBuffer();
1580
- }
1581
- _outputHead = _outputTail;
1582
- buf[1] = (char) escCode;
1583
- _writer.write(buf, 0, 2);
1584
- return;
1585
- }
1586
- if (escCode != CharacterEscapes.ESCAPE_CUSTOM) { // std, \\uXXXX
1587
- if (_outputTail >= 6) { // fits, prepend to buffer
1588
- char[] buf = _outputBuffer;
1589
- int ptr = _outputTail - 6;
1590
- _outputHead = ptr;
1591
- buf[ptr] = '\\';
1592
- buf[++ptr] = 'u';
1593
- // We know it's a control char, so only the last 2 chars are non-0
1594
- if (ch > 0xFF) { // beyond 8 bytes
1595
- int hi = (ch >> 8) & 0xFF;
1596
- buf[++ptr] = HEX_CHARS[hi >> 4];
1597
- buf[++ptr] = HEX_CHARS[hi & 0xF];
1598
- ch &= 0xFF;
1599
- } else {
1600
- buf[++ptr] = '0';
1601
- buf[++ptr] = '0';
1602
- }
1603
- buf[++ptr] = HEX_CHARS[ch >> 4];
1604
- buf[++ptr] = HEX_CHARS[ch & 0xF];
1605
- return;
1606
- }
1607
- // won't fit, flush and write
1608
- char[] buf = _entityBuffer;
1609
- if (buf == null) {
1610
- buf = _allocateEntityBuffer();
1611
- }
1612
- _outputHead = _outputTail;
1613
- if (ch > 0xFF) { // beyond 8 bytes
1614
- int hi = (ch >> 8) & 0xFF;
1615
- int lo = ch & 0xFF;
1616
- buf[10] = HEX_CHARS[hi >> 4];
1617
- buf[11] = HEX_CHARS[hi & 0xF];
1618
- buf[12] = HEX_CHARS[lo >> 4];
1619
- buf[13] = HEX_CHARS[lo & 0xF];
1620
- _writer.write(buf, 8, 6);
1621
- } else { // We know it's a control char, so only the last 2 chars are non-0
1622
- buf[6] = HEX_CHARS[ch >> 4];
1623
- buf[7] = HEX_CHARS[ch & 0xF];
1624
- _writer.write(buf, 2, 6);
1625
- }
1626
- return;
1627
- }
1628
- String escape;
1629
-
1630
- if (_currentEscape == null) {
1631
- escape = _characterEscapes.getEscapeSequence(ch).getValue();
1632
- } else {
1633
- escape = _currentEscape.getValue();
1634
- _currentEscape = null;
1635
- }
1636
- int len = escape.length();
1637
- if (_outputTail >= len) { // fits in, prepend
1638
- int ptr = _outputTail - len;
1639
- _outputHead = ptr;
1640
- escape.getChars(0, len, _outputBuffer, ptr);
1641
- return;
1642
- }
1643
- // won't fit, write separately
1644
- _outputHead = _outputTail;
1645
- _writer.write(escape);
1646
- }
1647
-
1648
- /**
1649
- * Method called to try to either prepend character escape at front of
1650
- * given buffer; or if not possible, to write it out directly.
1651
- *
1652
- * @return Pointer to start of prepended entity (if prepended); or 'ptr'
1653
- * if not.
1654
- */
1655
- private final int _prependOrWriteCharacterEscape(char[] buffer, int ptr, int end,
1656
- char ch, int escCode)
1657
- throws IOException, JsonGenerationException
1658
- {
1659
- if (escCode >= 0) { // \\N (2 char)
1660
- if (ptr > 1 && ptr < end) { // fits, just prepend
1661
- ptr -= 2;
1662
- buffer[ptr] = '\\';
1663
- buffer[ptr+1] = (char) escCode;
1664
- } else { // won't fit, write
1665
- char[] ent = _entityBuffer;
1666
- if (ent == null) {
1667
- ent = _allocateEntityBuffer();
1668
- }
1669
- ent[1] = (char) escCode;
1670
- _writer.write(ent, 0, 2);
1671
- }
1672
- return ptr;
1673
- }
1674
- if (escCode != CharacterEscapes.ESCAPE_CUSTOM) { // std, \\uXXXX
1675
- if (ptr > 5 && ptr < end) { // fits, prepend to buffer
1676
- ptr -= 6;
1677
- buffer[ptr++] = '\\';
1678
- buffer[ptr++] = 'u';
1679
- // We know it's a control char, so only the last 2 chars are non-0
1680
- if (ch > 0xFF) { // beyond 8 bytes
1681
- int hi = (ch >> 8) & 0xFF;
1682
- buffer[ptr++] = HEX_CHARS[hi >> 4];
1683
- buffer[ptr++] = HEX_CHARS[hi & 0xF];
1684
- ch &= 0xFF;
1685
- } else {
1686
- buffer[ptr++] = '0';
1687
- buffer[ptr++] = '0';
1688
- }
1689
- buffer[ptr++] = HEX_CHARS[ch >> 4];
1690
- buffer[ptr] = HEX_CHARS[ch & 0xF];
1691
- ptr -= 5;
1692
- } else {
1693
- // won't fit, flush and write
1694
- char[] ent = _entityBuffer;
1695
- if (ent == null) {
1696
- ent = _allocateEntityBuffer();
1697
- }
1698
- _outputHead = _outputTail;
1699
- if (ch > 0xFF) { // beyond 8 bytes
1700
- int hi = (ch >> 8) & 0xFF;
1701
- int lo = ch & 0xFF;
1702
- ent[10] = HEX_CHARS[hi >> 4];
1703
- ent[11] = HEX_CHARS[hi & 0xF];
1704
- ent[12] = HEX_CHARS[lo >> 4];
1705
- ent[13] = HEX_CHARS[lo & 0xF];
1706
- _writer.write(ent, 8, 6);
1707
- } else { // We know it's a control char, so only the last 2 chars are non-0
1708
- ent[6] = HEX_CHARS[ch >> 4];
1709
- ent[7] = HEX_CHARS[ch & 0xF];
1710
- _writer.write(ent, 2, 6);
1711
- }
1712
- }
1713
- return ptr;
1714
- }
1715
- String escape;
1716
- if (_currentEscape == null) {
1717
- escape = _characterEscapes.getEscapeSequence(ch).getValue();
1718
- } else {
1719
- escape = _currentEscape.getValue();
1720
- _currentEscape = null;
1721
- }
1722
- int len = escape.length();
1723
- if (ptr >= len && ptr < end) { // fits in, prepend
1724
- ptr -= len;
1725
- escape.getChars(0, len, buffer, ptr);
1726
- } else { // won't fit, write separately
1727
- _writer.write(escape);
1728
- }
1729
- return ptr;
1730
- }
1731
-
1732
- /**
1733
- * Method called to append escape sequence for given character, at the
1734
- * end of standard output buffer; or if not possible, write out directly.
1735
- */
1736
- private final void _appendCharacterEscape(char ch, int escCode)
1737
- throws IOException, JsonGenerationException
1738
- {
1739
- if (escCode >= 0) { // \\N (2 char)
1740
- if ((_outputTail + 2) > _outputEnd) {
1741
- _flushBuffer();
1742
- }
1743
- _outputBuffer[_outputTail++] = '\\';
1744
- _outputBuffer[_outputTail++] = (char) escCode;
1745
- return;
1746
- }
1747
- if (escCode != CharacterEscapes.ESCAPE_CUSTOM) { // std, \\uXXXX
1748
- if ((_outputTail + 2) > _outputEnd) {
1749
- _flushBuffer();
1750
- }
1751
- int ptr = _outputTail;
1752
- char[] buf = _outputBuffer;
1753
- buf[ptr++] = '\\';
1754
- buf[ptr++] = 'u';
1755
- // We know it's a control char, so only the last 2 chars are non-0
1756
- if (ch > 0xFF) { // beyond 8 bytes
1757
- int hi = (ch >> 8) & 0xFF;
1758
- buf[ptr++] = HEX_CHARS[hi >> 4];
1759
- buf[ptr++] = HEX_CHARS[hi & 0xF];
1760
- ch &= 0xFF;
1761
- } else {
1762
- buf[ptr++] = '0';
1763
- buf[ptr++] = '0';
1764
- }
1765
- buf[ptr++] = HEX_CHARS[ch >> 4];
1766
- buf[ptr] = HEX_CHARS[ch & 0xF];
1767
- _outputTail = ptr;
1768
- return;
1769
- }
1770
- String escape;
1771
- if (_currentEscape == null) {
1772
- escape = _characterEscapes.getEscapeSequence(ch).getValue();
1773
- } else {
1774
- escape = _currentEscape.getValue();
1775
- _currentEscape = null;
1776
- }
1777
- int len = escape.length();
1778
- if ((_outputTail + len) > _outputEnd) {
1779
- _flushBuffer();
1780
- if (len > _outputEnd) { // very very long escape; unlikely but theoretically possible
1781
- _writer.write(escape);
1782
- return;
1783
- }
1784
- }
1785
- escape.getChars(0, len, _outputBuffer, _outputTail);
1786
- _outputTail += len;
1787
- }
1788
-
1789
- private char[] _allocateEntityBuffer()
1790
- {
1791
- char[] buf = new char[14];
1792
- // first 2 chars, non-numeric escapes (like \n)
1793
- buf[0] = '\\';
1794
- // next 6; 8-bit escapes (control chars mostly)
1795
- buf[2] = '\\';
1796
- buf[3] = 'u';
1797
- buf[4] = '0';
1798
- buf[5] = '0';
1799
- // last 6, beyond 8 bits
1800
- buf[8] = '\\';
1801
- buf[9] = 'u';
1802
- _entityBuffer = buf;
1803
- return buf;
1804
- }
1805
-
1806
- protected final void _flushBuffer() throws IOException
1807
- {
1808
- int len = _outputTail - _outputHead;
1809
- if (len > 0) {
1810
- int offset = _outputHead;
1811
- _outputTail = _outputHead = 0;
1812
- _writer.write(_outputBuffer, offset, len);
1813
- }
1814
- }
1815
- }