calabash-android 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (532) hide show
  1. data/CHANGES.txt +1 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE +8 -0
  4. data/Rakefile +2 -0
  5. data/bin/calabash-android +42 -0
  6. data/bin/calabash-android-build.rb +37 -0
  7. data/bin/calabash-android-generate.rb +26 -0
  8. data/bin/calabash-android-helpers.rb +71 -0
  9. data/bin/calabash-android-run.rb +18 -0
  10. data/bin/calabash-android-setup.rb +392 -0
  11. data/calabash-android.gemspec +23 -0
  12. data/doc/calabash-android-help.txt +21 -0
  13. data/epl-v10.html +261 -0
  14. data/features-skeleton/.irbrc +16 -0
  15. data/features-skeleton/irb_android.sh +2 -0
  16. data/features-skeleton/my_first.feature +5 -0
  17. data/features-skeleton/step_definitions/calabash_steps.rb +1 -0
  18. data/features-skeleton/support/app_installation_hooks.rb +26 -0
  19. data/features-skeleton/support/app_life_cycle_hooks.rb +28 -0
  20. data/features-skeleton/support/env.rb +1 -0
  21. data/features-skeleton/support/hooks.rb +18 -0
  22. data/lib/calabash-android.rb +2 -0
  23. data/lib/calabash-android/calabash_steps.rb +18 -0
  24. data/lib/calabash-android/canned_steps.md +239 -0
  25. data/lib/calabash-android/color_helper.rb +13 -0
  26. data/lib/calabash-android/cucumber.rb +9 -0
  27. data/lib/calabash-android/lib/screenShotTaker.jar +0 -0
  28. data/lib/calabash-android/management/adb.rb +11 -0
  29. data/lib/calabash-android/management/app_installation.rb +21 -0
  30. data/lib/calabash-android/operations.rb +283 -0
  31. data/lib/calabash-android/steps/additions_manual_steps.rb +11 -0
  32. data/lib/calabash-android/steps/app_steps.rb +10 -0
  33. data/lib/calabash-android/steps/assert_steps.rb +32 -0
  34. data/lib/calabash-android/steps/check_box_steps.rb +3 -0
  35. data/lib/calabash-android/steps/context_menu_steps.rb +12 -0
  36. data/lib/calabash-android/steps/date_picker_steps.rb +8 -0
  37. data/lib/calabash-android/steps/enter_text_steps.rb +21 -0
  38. data/lib/calabash-android/steps/location_steps.rb +19 -0
  39. data/lib/calabash-android/steps/navigation_steps.rb +27 -0
  40. data/lib/calabash-android/steps/press_button_steps.rb +35 -0
  41. data/lib/calabash-android/steps/progress_steps.rb +49 -0
  42. data/lib/calabash-android/steps/rotation_steps.rb +8 -0
  43. data/lib/calabash-android/steps/screenshot_steps.rb +11 -0
  44. data/lib/calabash-android/steps/spinner_steps.rb +3 -0
  45. data/lib/calabash-android/steps/time_picker_steps.rb +8 -0
  46. data/lib/calabash-android/version.rb +6 -0
  47. data/test-server/AndroidManifest.xml +13 -0
  48. data/test-server/build.xml +192 -0
  49. data/test-server/calabash-js/src/calabash.js +125 -0
  50. data/test-server/calabash-js/src/set_text.js +132 -0
  51. data/test-server/instrumentation-backend/.classpath +10 -0
  52. data/test-server/instrumentation-backend/.project +33 -0
  53. data/test-server/instrumentation-backend/.settings/org.eclipse.jdt.core.prefs +12 -0
  54. data/test-server/instrumentation-backend/AndroidManifest.xml +15 -0
  55. data/test-server/instrumentation-backend/assets/foo.bar +0 -0
  56. data/test-server/instrumentation-backend/gen/com/lesspainful/simpleui/test/R.java +23 -0
  57. data/test-server/instrumentation-backend/libs/robotium-solo-2.5.jar +0 -0
  58. data/test-server/instrumentation-backend/project.properties +11 -0
  59. data/test-server/instrumentation-backend/res/drawable-hdpi/ic_launcher.png +0 -0
  60. data/test-server/instrumentation-backend/res/drawable-ldpi/ic_launcher.png +0 -0
  61. data/test-server/instrumentation-backend/res/drawable-mdpi/ic_launcher.png +0 -0
  62. data/test-server/instrumentation-backend/res/layout/main.xml +12 -0
  63. data/test-server/instrumentation-backend/res/values/strings.xml +7 -0
  64. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/Command.java +48 -0
  65. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/InstrumentationBackend.java +196 -0
  66. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/Result.java +64 -0
  67. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/TestHelpers.java +136 -0
  68. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/Action.java +11 -0
  69. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/Actions.java +113 -0
  70. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/NullAction.java +23 -0
  71. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/button/PressButtonNumber.java +22 -0
  72. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/button/PressButtonText.java +27 -0
  73. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/button/PressImageButtonNumber.java +22 -0
  74. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/button/WaitForButton.java +47 -0
  75. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/checkbox/ToggleCheckboxNumber.java +22 -0
  76. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/contextmenu/LongPressText.java +22 -0
  77. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/contextmenu/LongPressTextAndSelectFromMenuById.java +26 -0
  78. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/contextmenu/LongPressTextAndSelectFromMenuByIndex.java +22 -0
  79. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/contextmenu/LongPressTextAndSelectFromMenuByText.java +26 -0
  80. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/ClickOnScreen.java +31 -0
  81. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/Swipe.java +28 -0
  82. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/helpers/ListActions.java +26 -0
  83. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/list/LongPressListItems.java +22 -0
  84. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/list/PressListItems.java +22 -0
  85. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/location/FakeGPSLocation.java +79 -0
  86. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/scrolling/ScrollDown.java +28 -0
  87. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/scrolling/ScrollUp.java +28 -0
  88. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/DownKey.java +24 -0
  89. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/GoBack.java +22 -0
  90. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/PressMenu.java +26 -0
  91. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/SelectFromMenuByText.java +24 -0
  92. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/spinner/SelectSpinnerItemByContentDescription.java +43 -0
  93. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/AssertText.java +31 -0
  94. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/AssertTextOfSpecificTextViewByContentDescription.java +32 -0
  95. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/ClearTextByIndex.java +22 -0
  96. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/ClearTextFieldByContentDescription.java +33 -0
  97. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/ClickOnText.java +22 -0
  98. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/EnterTextByContentDescription.java +32 -0
  99. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/EnterTextByIndex.java +22 -0
  100. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/time/SetDateByContentDescription.java +33 -0
  101. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/time/SetDateByIndex.java +24 -0
  102. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/time/SetTimeByContentDescription.java +34 -0
  103. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/time/SetTimeByIndex.java +26 -0
  104. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/ClickOnViewById.java +63 -0
  105. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/LongPressOnViewById.java +34 -0
  106. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/Press.java +89 -0
  107. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/WaitForViewById.java +41 -0
  108. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/Wait.java +24 -0
  109. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForDialogClose.java +21 -0
  110. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForProgress.java +47 -0
  111. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForScreen.java +49 -0
  112. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForText.java +26 -0
  113. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/CalabashChromeClient.java +109 -0
  114. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/DumpBodyHtml.java +33 -0
  115. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/DumpHtml.java +33 -0
  116. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/EnterTextByCssSelector.java +99 -0
  117. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/PressByCssSelector.java +43 -0
  118. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/Query.java +24 -0
  119. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/QueryHelper.java +99 -0
  120. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/ScrollTo.java +74 -0
  121. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/SetPropertyByCssSelector.java +43 -0
  122. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/SetText.java +50 -0
  123. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/Touch.java +44 -0
  124. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Base64Variant.java +413 -0
  125. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Base64Variants.java +90 -0
  126. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/FormatSchema.java +29 -0
  127. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonEncoding.java +47 -0
  128. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonFactory.java +937 -0
  129. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonGenerationException.java +28 -0
  130. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonGenerator.java +1197 -0
  131. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonLocation.java +141 -0
  132. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonNode.java +879 -0
  133. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonParseException.java +23 -0
  134. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonParser.java +1434 -0
  135. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonProcessingException.java +80 -0
  136. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonStreamContext.java +122 -0
  137. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonToken.java +161 -0
  138. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/ObjectCodec.java +157 -0
  139. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/PrettyPrinter.java +166 -0
  140. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/SerializableString.java +54 -0
  141. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Version.java +90 -0
  142. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Versioned.java +20 -0
  143. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JacksonAnnotation.java +20 -0
  144. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonAnyGetter.java +25 -0
  145. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonAnySetter.java +24 -0
  146. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonAutoDetect.java +148 -0
  147. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonBackReference.java +41 -0
  148. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonCreator.java +19 -0
  149. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonGetter.java +35 -0
  150. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonIgnore.java +57 -0
  151. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonIgnoreProperties.java +48 -0
  152. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonIgnoreType.java +33 -0
  153. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonManagedReference.java +41 -0
  154. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonMethod.java +90 -0
  155. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonProperty.java +38 -0
  156. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonPropertyOrder.java +46 -0
  157. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonRawValue.java +33 -0
  158. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonSetter.java +33 -0
  159. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonSubTypes.java +44 -0
  160. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonTypeInfo.java +236 -0
  161. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonTypeName.java +28 -0
  162. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonUnwrapped.java +76 -0
  163. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonValue.java +46 -0
  164. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonWriteNullProperties.java +34 -0
  165. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/package-info.java +16 -0
  166. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/DataFormatDetector.java +176 -0
  167. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/DataFormatMatcher.java +117 -0
  168. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/InputAccessor.java +130 -0
  169. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/MatchStrength.java +64 -0
  170. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/package-info.java +8 -0
  171. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/ByteSourceBootstrapper.java +518 -0
  172. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/DefaultPrettyPrinter.java +13 -0
  173. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/Indenter.java +23 -0
  174. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonGeneratorBase.java +570 -0
  175. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonNumericParserBase.java +20 -0
  176. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonParserBase.java +1067 -0
  177. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonParserMinimalBase.java +539 -0
  178. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonReadContext.java +188 -0
  179. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonWriteContext.java +178 -0
  180. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/ReaderBasedParser.java +1815 -0
  181. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/ReaderBasedParserBase.java +228 -0
  182. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/StreamBasedParserBase.java +197 -0
  183. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/Utf8Generator.java +1757 -0
  184. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/Utf8StreamParser.java +2966 -0
  185. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/WriterBasedGenerator.java +1815 -0
  186. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/package-info.java +6 -0
  187. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/BaseReader.java +117 -0
  188. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/CharacterEscapes.java +73 -0
  189. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/IOContext.java +239 -0
  190. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/InputDecorator.java +67 -0
  191. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/JsonStringEncoder.java +408 -0
  192. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/MergedStream.java +145 -0
  193. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/NumberInput.java +303 -0
  194. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/NumberOutput.java +398 -0
  195. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/OutputDecorator.java +40 -0
  196. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/SegmentedStringWriter.java +104 -0
  197. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/SerializedString.java +114 -0
  198. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/UTF32Reader.java +214 -0
  199. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/UTF8Writer.java +387 -0
  200. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/package.html +4 -0
  201. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/AbstractTypeResolver.java +63 -0
  202. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/AnnotationIntrospector.java +1485 -0
  203. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/BeanDescription.java +171 -0
  204. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/BeanProperty.java +123 -0
  205. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/BeanPropertyDefinition.java +66 -0
  206. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ClassIntrospector.java +117 -0
  207. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ContextualDeserializer.java +38 -0
  208. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ContextualKeyDeserializer.java +33 -0
  209. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ContextualSerializer.java +38 -0
  210. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializationConfig.java +926 -0
  211. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializationContext.java +262 -0
  212. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializationProblemHandler.java +56 -0
  213. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializerFactory.java +356 -0
  214. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializerProvider.java +185 -0
  215. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/Deserializers.java +339 -0
  216. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/HandlerInstantiator.java +115 -0
  217. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/InjectableValues.java +85 -0
  218. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonDeserializer.java +166 -0
  219. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonMappingException.java +335 -0
  220. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonSerializable.java +34 -0
  221. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonSerializableWithType.java +22 -0
  222. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonSerializer.java +138 -0
  223. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/KeyDeserializer.java +31 -0
  224. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/KeyDeserializers.java +21 -0
  225. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/MapperConfig.java +1154 -0
  226. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/MappingIterator.java +190 -0
  227. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/MappingJsonFactory.java +81 -0
  228. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/Module.java +255 -0
  229. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ObjectMapper.java +2885 -0
  230. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ObjectReader.java +958 -0
  231. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ObjectWriter.java +554 -0
  232. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/PropertyNamingStrategy.java +258 -0
  233. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ResolvableDeserializer.java +23 -0
  234. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ResolvableSerializer.java +23 -0
  235. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/RuntimeJsonMappingException.java +21 -0
  236. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/SerializationConfig.java +1041 -0
  237. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/SerializerFactory.java +198 -0
  238. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/SerializerProvider.java +552 -0
  239. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/Serializers.java +137 -0
  240. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/TypeDeserializer.java +118 -0
  241. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/TypeSerializer.java +164 -0
  242. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JacksonInject.java +30 -0
  243. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JacksonStdImpl.java +25 -0
  244. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonCachable.java +32 -0
  245. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonDeserialize.java +109 -0
  246. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonFilter.java +31 -0
  247. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonRootName.java +29 -0
  248. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonSerialize.java +216 -0
  249. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonTypeIdResolver.java +35 -0
  250. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonTypeResolver.java +28 -0
  251. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonValueInstantiator.java +26 -0
  252. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonView.java +37 -0
  253. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/NoClass.java +19 -0
  254. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/package-info.java +5 -0
  255. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/AbstractDeserializer.java +102 -0
  256. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ArrayDeserializer.java +28 -0
  257. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ArrayDeserializers.java +11 -0
  258. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BasicDeserializerFactory.java +894 -0
  259. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializer.java +1537 -0
  260. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializerBuilder.java +277 -0
  261. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializerFactory.java +1474 -0
  262. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializerModifier.java +58 -0
  263. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/CollectionDeserializer.java +47 -0
  264. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ContainerDeserializer.java +14 -0
  265. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/CustomDeserializerFactory.java +227 -0
  266. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/DateDeserializer.java +9 -0
  267. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/EnumDeserializer.java +15 -0
  268. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/EnumResolver.java +17 -0
  269. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/FromStringDeserializer.java +13 -0
  270. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/JsonNodeDeserializer.java +54 -0
  271. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/MapDeserializer.java +44 -0
  272. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/SettableAnyProperty.java +177 -0
  273. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/SettableBeanProperty.java +827 -0
  274. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializationContext.java +326 -0
  275. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializer.java +94 -0
  276. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializerProvider.java +494 -0
  277. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializers.java +119 -0
  278. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdKeyDeserializer.java +12 -0
  279. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdKeyDeserializers.java +11 -0
  280. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdScalarDeserializer.java +13 -0
  281. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ThrowableDeserializer.java +13 -0
  282. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/UntypedObjectDeserializer.java +9 -0
  283. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ValueInstantiator.java +280 -0
  284. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ValueInstantiators.java +52 -0
  285. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/BeanPropertyMap.java +257 -0
  286. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/CreatorCollector.java +141 -0
  287. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/CreatorProperty.java +152 -0
  288. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/ExternalTypeHandler.java +173 -0
  289. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/PropertyBasedCreator.java +117 -0
  290. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/PropertyValue.java +117 -0
  291. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/PropertyValueBuffer.java +102 -0
  292. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/UnwrappedPropertyHandler.java +41 -0
  293. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/ValueInjector.java +45 -0
  294. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/package-info.java +9 -0
  295. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/package-info.java +5 -0
  296. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/AtomicBooleanDeserializer.java +22 -0
  297. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/AtomicReferenceDeserializer.java +47 -0
  298. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/CalendarDeserializer.java +47 -0
  299. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ClassDeserializer.java +49 -0
  300. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/CollectionDeserializer.java +265 -0
  301. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ContainerDeserializerBase.java +37 -0
  302. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/DateDeserializer.java +30 -0
  303. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/EnumDeserializer.java +139 -0
  304. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/EnumMapDeserializer.java +90 -0
  305. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/EnumSetDeserializer.java +89 -0
  306. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/FromStringDeserializer.java +265 -0
  307. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/JavaTypeDeserializer.java +38 -0
  308. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/JsonNodeDeserializer.java +314 -0
  309. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/MapDeserializer.java +412 -0
  310. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ObjectArrayDeserializer.java +201 -0
  311. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/PrimitiveArrayDeserializers.java +583 -0
  312. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdDeserializer.java +1136 -0
  313. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdKeyDeserializer.java +340 -0
  314. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdKeyDeserializers.java +108 -0
  315. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdScalarDeserializer.java +34 -0
  316. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdValueInstantiator.java +392 -0
  317. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StringCollectionDeserializer.java +227 -0
  318. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StringDeserializer.java +55 -0
  319. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ThrowableDeserializer.java +164 -0
  320. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/TimestampDeserializer.java +30 -0
  321. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/TokenBufferDeserializer.java +36 -0
  322. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/UntypedObjectDeserializer.java +248 -0
  323. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/package-info.java +15 -0
  324. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/exc/UnrecognizedPropertyException.java +75 -0
  325. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/CoreXMLDeserializers.java +114 -0
  326. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/CoreXMLSerializers.java +72 -0
  327. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/DOMDeserializer.java +65 -0
  328. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/OptionalHandlerFactory.java +217 -0
  329. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/package-info.java +23 -0
  330. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/Annotated.java +85 -0
  331. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedClass.java +980 -0
  332. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedConstructor.java +143 -0
  333. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedField.java +119 -0
  334. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedMember.java +56 -0
  335. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedMethod.java +188 -0
  336. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedMethodMap.java +85 -0
  337. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedParameter.java +191 -0
  338. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedWithParams.java +195 -0
  339. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotationMap.java +101 -0
  340. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/BasicBeanDescription.java +615 -0
  341. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/BasicClassIntrospector.java +364 -0
  342. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/JacksonAnnotationIntrospector.java +813 -0
  343. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/MemberKey.java +83 -0
  344. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/MethodFilter.java +12 -0
  345. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/NopAnnotationIntrospector.java +209 -0
  346. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/POJOPropertiesCollector.java +713 -0
  347. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/POJOPropertyBuilder.java +648 -0
  348. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/VisibilityChecker.java +424 -0
  349. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/package-info.java +12 -0
  350. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/NamedType.java +53 -0
  351. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/SubtypeResolver.java +39 -0
  352. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/TypeIdResolver.java +74 -0
  353. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/TypeResolverBuilder.java +151 -0
  354. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsArrayTypeDeserializer.java +126 -0
  355. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsArrayTypeSerializer.java +110 -0
  356. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsExternalTypeDeserializer.java +37 -0
  357. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsExternalTypeSerializer.java +129 -0
  358. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsPropertyTypeDeserializer.java +191 -0
  359. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsPropertyTypeSerializer.java +69 -0
  360. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsWrapperTypeDeserializer.java +103 -0
  361. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsWrapperTypeSerializer.java +121 -0
  362. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/ClassNameIdResolver.java +138 -0
  363. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/MinimalClassNameIdResolver.java +66 -0
  364. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/StdSubtypeResolver.java +151 -0
  365. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/StdTypeResolverBuilder.java +202 -0
  366. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeDeserializerBase.java +154 -0
  367. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeIdResolverBase.java +37 -0
  368. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeNameIdResolver.java +154 -0
  369. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeSerializerBase.java +31 -0
  370. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/package-info.java +9 -0
  371. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/package-info.java +10 -0
  372. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleAbstractTypeResolver.java +86 -0
  373. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleDeserializers.java +130 -0
  374. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleKeyDeserializers.java +59 -0
  375. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleModule.java +265 -0
  376. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleSerializers.java +206 -0
  377. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleValueInstantiators.java +45 -0
  378. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/package-info.java +16 -0
  379. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/package-info.java +34 -0
  380. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/AnyGetterWriter.java +48 -0
  381. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ArraySerializers.java +7 -0
  382. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BasicSerializerFactory.java +806 -0
  383. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanPropertyFilter.java +30 -0
  384. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanPropertyWriter.java +512 -0
  385. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializer.java +126 -0
  386. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializerBuilder.java +140 -0
  387. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializerFactory.java +780 -0
  388. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializerModifier.java +95 -0
  389. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ContainerSerializers.java +8 -0
  390. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/CustomSerializerFactory.java +293 -0
  391. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/EnumSerializer.java +17 -0
  392. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/FilterProvider.java +23 -0
  393. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/FilteredBeanPropertyWriter.java +96 -0
  394. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/JdkSerializers.java +11 -0
  395. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/MapSerializer.java +58 -0
  396. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/PropertyBuilder.java +372 -0
  397. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ScalarSerializerBase.java +18 -0
  398. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/SerializerBase.java +23 -0
  399. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/StdKeySerializer.java +10 -0
  400. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/StdSerializerProvider.java +852 -0
  401. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/StdSerializers.java +372 -0
  402. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ToStringSerializer.java +14 -0
  403. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/FailingSerializer.java +43 -0
  404. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/JsonSerializerMap.java +93 -0
  405. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/PropertySerializerMap.java +231 -0
  406. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/ReadOnlyClassToSerializerMap.java +73 -0
  407. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/SerializerCache.java +304 -0
  408. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/SimpleBeanPropertyFilter.java +109 -0
  409. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/SimpleFilterProvider.java +114 -0
  410. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/UnknownSerializer.java +54 -0
  411. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/UnwrappingBeanPropertyWriter.java +99 -0
  412. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/UnwrappingBeanSerializer.java +76 -0
  413. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/package-info.java +5 -0
  414. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/package-info.java +5 -0
  415. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/AsArraySerializerBase.java +185 -0
  416. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/BeanSerializerBase.java +340 -0
  417. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/CalendarSerializer.java +43 -0
  418. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/CollectionSerializer.java +113 -0
  419. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ContainerSerializerBase.java +51 -0
  420. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/DateSerializer.java +42 -0
  421. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/EnumMapSerializer.java +218 -0
  422. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/EnumSerializer.java +84 -0
  423. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/EnumSetSerializer.java +47 -0
  424. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/IndexedStringListSerializer.java +116 -0
  425. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/InetAddressSerializer.java +51 -0
  426. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/IterableSerializer.java +63 -0
  427. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/JsonValueSerializer.java +233 -0
  428. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/MapSerializer.java +422 -0
  429. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/NonTypedScalarSerializerBase.java +34 -0
  430. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/NullSerializer.java +38 -0
  431. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ObjectArraySerializer.java +281 -0
  432. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/RawSerializer.java +52 -0
  433. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ScalarSerializerBase.java +52 -0
  434. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/SerializableSerializer.java +99 -0
  435. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/SerializableWithTypeSerializer.java +90 -0
  436. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/SerializerBase.java +184 -0
  437. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StaticListSerializerBase.java +46 -0
  438. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdArraySerializers.java +476 -0
  439. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdContainerSerializers.java +249 -0
  440. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdJdkSerializers.java +195 -0
  441. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdKeySerializer.java +43 -0
  442. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdKeySerializers.java +95 -0
  443. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StringCollectionSerializer.java +119 -0
  444. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StringSerializer.java +36 -0
  445. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/TimeZoneSerializer.java +38 -0
  446. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ToStringSerializer.java +73 -0
  447. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/TokenBufferSerializer.java +66 -0
  448. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/ArrayType.java +260 -0
  449. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/ClassKey.java +94 -0
  450. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/CollectionLikeType.java +204 -0
  451. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/CollectionType.java +94 -0
  452. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/HierarchicType.java +88 -0
  453. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/MapLikeType.java +265 -0
  454. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/MapType.java +146 -0
  455. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/SimpleType.java +250 -0
  456. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeBase.java +148 -0
  457. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeBindings.java +351 -0
  458. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeFactory.java +1165 -0
  459. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeModifier.java +38 -0
  460. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeParser.java +134 -0
  461. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/package-info.java +10 -0
  462. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Annotations.java +23 -0
  463. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ArrayBuilders.java +293 -0
  464. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/BeanUtil.java +260 -0
  465. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ClassUtil.java +645 -0
  466. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Comparators.java +48 -0
  467. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/EnumResolver.java +108 -0
  468. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/EnumValues.java +82 -0
  469. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ISO8601DateFormat.java +52 -0
  470. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ISO8601Utils.java +230 -0
  471. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/JSONPObject.java +105 -0
  472. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/JSONWrappedObject.java +117 -0
  473. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/LRUMap.java +28 -0
  474. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/LinkedNode.java +45 -0
  475. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Named.java +10 -0
  476. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ObjectBuffer.java +257 -0
  477. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/PrimitiveArrayBuilder.java +180 -0
  478. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Provider.java +21 -0
  479. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/RootNameLookup.java +54 -0
  480. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/StdDateFormat.java +348 -0
  481. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/package-info.java +4 -0
  482. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ArrayNode.java +758 -0
  483. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BaseJsonNode.java +122 -0
  484. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BigIntegerNode.java +104 -0
  485. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BinaryNode.java +136 -0
  486. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BooleanNode.java +84 -0
  487. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ContainerNode.java +185 -0
  488. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/DecimalNode.java +96 -0
  489. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/DoubleNode.java +106 -0
  490. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/IntNode.java +122 -0
  491. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/JsonNodeFactory.java +222 -0
  492. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/LongNode.java +99 -0
  493. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/MissingNode.java +97 -0
  494. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/NodeCursor.java +222 -0
  495. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/NullNode.java +58 -0
  496. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/NumericNode.java +72 -0
  497. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ObjectNode.java +696 -0
  498. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/POJONode.java +145 -0
  499. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/TextNode.java +299 -0
  500. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/TreeTraversingParser.java +383 -0
  501. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ValueNode.java +58 -0
  502. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/package-info.java +8 -0
  503. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/package-info.java +30 -0
  504. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/JsonSchema.java +82 -0
  505. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/JsonSerializableSchema.java +46 -0
  506. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/SchemaAware.java +25 -0
  507. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/package-info.java +5 -0
  508. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/BytesToNameCanonicalizer.java +969 -0
  509. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/CharsToNameCanonicalizer.java +578 -0
  510. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name.java +50 -0
  511. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name1.java +44 -0
  512. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name2.java +40 -0
  513. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name3.java +39 -0
  514. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/NameN.java +68 -0
  515. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/package-info.java +5 -0
  516. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/type/JavaType.java +503 -0
  517. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/type/TypeReference.java +60 -0
  518. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/type/package-info.java +8 -0
  519. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/BufferRecycler.java +109 -0
  520. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/ByteArrayBuilder.java +294 -0
  521. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/CharTypes.java +237 -0
  522. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/DefaultPrettyPrinter.java +282 -0
  523. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/InternCache.java +49 -0
  524. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/JsonGeneratorDelegate.java +273 -0
  525. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/JsonParserDelegate.java +251 -0
  526. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/JsonParserSequence.java +150 -0
  527. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/MinimalPrettyPrinter.java +152 -0
  528. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/TextBuffer.java +707 -0
  529. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/TokenBuffer.java +1233 -0
  530. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/VersionUtil.java +79 -0
  531. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/package-info.java +4 -0
  532. metadata +619 -0
@@ -0,0 +1,150 @@
1
+ package sh.calaba.org.codehaus.jackson.util;
2
+
3
+ import java.io.IOException;
4
+ import java.util.*;
5
+
6
+ import sh.calaba.org.codehaus.jackson.*;
7
+
8
+ /**
9
+ * Helper class that can be used to sequence multiple physical
10
+ * {@link JsonParser}s to create a single logical sequence of
11
+ * tokens, as a single {@link JsonParser}.
12
+ *<p>
13
+ * Fairly simple use of {@link JsonParserDelegate}: only need
14
+ * to override {@link #nextToken} to handle transition
15
+ *
16
+ * @author tatu
17
+ * @since 1.5
18
+ */
19
+ public class JsonParserSequence extends JsonParserDelegate
20
+ {
21
+ /**
22
+ * Parsers other than the first one (which is initially assigned
23
+ * as delegate)
24
+ */
25
+ protected final JsonParser[] _parsers;
26
+
27
+ /**
28
+ * Index of the next parser in {@link #_parsers}.
29
+ */
30
+ protected int _nextParser;
31
+
32
+ /*
33
+ *******************************************************
34
+ * Construction
35
+ *******************************************************
36
+ */
37
+
38
+ protected JsonParserSequence(JsonParser[] parsers)
39
+ {
40
+ super(parsers[0]);
41
+ _parsers = parsers;
42
+ _nextParser = 1;
43
+ }
44
+
45
+ /**
46
+ * Method that will construct a parser (possibly a sequence) that
47
+ * contains all given sub-parsers.
48
+ * All parsers given are checked to see if they are sequences: and
49
+ * if so, they will be "flattened", that is, contained parsers are
50
+ * directly added in a new sequence instead of adding sequences
51
+ * within sequences. This is done to minimize delegation depth,
52
+ * ideally only having just a single level of delegation.
53
+ */
54
+ public static JsonParserSequence createFlattened(JsonParser first, JsonParser second)
55
+ {
56
+ if (!(first instanceof JsonParserSequence || second instanceof JsonParserSequence)) {
57
+ // simple:
58
+ return new JsonParserSequence(new JsonParser[] { first, second });
59
+ }
60
+ ArrayList<JsonParser> p = new ArrayList<JsonParser>();
61
+ if (first instanceof JsonParserSequence) {
62
+ ((JsonParserSequence) first).addFlattenedActiveParsers(p);
63
+ } else {
64
+ p.add(first);
65
+ }
66
+ if (second instanceof JsonParserSequence) {
67
+ ((JsonParserSequence) second).addFlattenedActiveParsers(p);
68
+ } else {
69
+ p.add(second);
70
+ }
71
+ return new JsonParserSequence(p.toArray(new JsonParser[p.size()]));
72
+ }
73
+
74
+ protected void addFlattenedActiveParsers(List<JsonParser> result)
75
+ {
76
+ for (int i = _nextParser-1, len = _parsers.length; i < len; ++i) {
77
+ JsonParser p = _parsers[i];
78
+ if (p instanceof JsonParserSequence) {
79
+ ((JsonParserSequence) p).addFlattenedActiveParsers(result);
80
+ } else {
81
+ result.add(p);
82
+ }
83
+ }
84
+ }
85
+
86
+ /*
87
+ *******************************************************
88
+ * Overridden methods, needed: cases where default
89
+ * delegation does not work
90
+ *******************************************************
91
+ */
92
+
93
+ @Override
94
+ public void close() throws IOException
95
+ {
96
+ do {
97
+ delegate.close();
98
+ } while (switchToNext());
99
+ }
100
+
101
+ @Override
102
+ public JsonToken nextToken() throws IOException, JsonParseException
103
+ {
104
+ JsonToken t = delegate.nextToken();
105
+ if (t != null) return t;
106
+ while (switchToNext()) {
107
+ t = delegate.nextToken();
108
+ if (t != null) return t;
109
+ }
110
+ return null;
111
+ }
112
+
113
+ /*
114
+ /*******************************************************
115
+ /* Additional extended API
116
+ /*******************************************************
117
+ */
118
+
119
+ /**
120
+ * Method that is most useful for debugging or testing;
121
+ * returns actual number of underlying parsers sequence
122
+ * was constructed with (nor just ones remaining active)
123
+ */
124
+ public int containedParsersCount() {
125
+ return _parsers.length;
126
+ }
127
+
128
+ /*
129
+ /*******************************************************
130
+ /* Helper methods
131
+ /*******************************************************
132
+ */
133
+
134
+ /**
135
+ * Method that will switch active parser from the current one
136
+ * to next parser in sequence, if there is another parser left,
137
+ * making this the new delegate. Old delegate is returned if
138
+ * switch succeeds.
139
+ *
140
+ * @return True if switch succeeded; false otherwise
141
+ */
142
+ protected boolean switchToNext()
143
+ {
144
+ if (_nextParser >= _parsers.length) {
145
+ return false;
146
+ }
147
+ delegate = _parsers[_nextParser++];
148
+ return true;
149
+ }
150
+ }
@@ -0,0 +1,152 @@
1
+ package sh.calaba.org.codehaus.jackson.util;
2
+
3
+ import java.io.IOException;
4
+
5
+ import sh.calaba.org.codehaus.jackson.JsonGenerationException;
6
+ import sh.calaba.org.codehaus.jackson.JsonGenerator;
7
+ import sh.calaba.org.codehaus.jackson.PrettyPrinter;
8
+
9
+ /**
10
+ * {@link PrettyPrinter} implementation that adds no indentation,
11
+ * just implements everything necessary for value output to work
12
+ * as expected, and provide simpler extension points to allow
13
+ * for creating simple custom implementations that add specific
14
+ * decoration or overrides. Since behavior then is very similar
15
+ * to using no pretty printer at all, usually sub-classes are used.
16
+ *<p>
17
+ * Beyond purely minimal implementation, there is limited amount of
18
+ * configurability which may be useful for actual use: for example,
19
+ * it is possible to redefine separator used between root-level
20
+ * values (default is single space; can be changed to line-feed).
21
+ *
22
+ * @since 1.6
23
+ */
24
+ public class MinimalPrettyPrinter
25
+ implements PrettyPrinter
26
+ {
27
+ /**
28
+ * Default String used for separating root values is single space.
29
+ */
30
+ public final static String DEFAULT_ROOT_VALUE_SEPARATOR = " ";
31
+
32
+ protected String _rootValueSeparator = DEFAULT_ROOT_VALUE_SEPARATOR;
33
+
34
+ /*
35
+ /**********************************************************
36
+ /* Life-cycle, construction, configuration
37
+ /**********************************************************
38
+ */
39
+
40
+ public MinimalPrettyPrinter() {
41
+ this(DEFAULT_ROOT_VALUE_SEPARATOR);
42
+ }
43
+
44
+ /**
45
+ * @since 1.9
46
+ */
47
+ public MinimalPrettyPrinter(String rootValueSeparator) {
48
+ _rootValueSeparator = rootValueSeparator;
49
+ }
50
+
51
+ public void setRootValueSeparator(String sep) {
52
+ _rootValueSeparator = sep;
53
+ }
54
+
55
+ /*
56
+ /**********************************************************
57
+ /* PrettyPrinter impl
58
+ /**********************************************************
59
+ */
60
+
61
+ @Override
62
+ public void writeRootValueSeparator(JsonGenerator jg) throws IOException, JsonGenerationException
63
+ {
64
+ if (_rootValueSeparator != null) {
65
+ jg.writeRaw(_rootValueSeparator);
66
+ }
67
+ }
68
+
69
+ @Override
70
+ public void writeStartObject(JsonGenerator jg)
71
+ throws IOException, JsonGenerationException
72
+ {
73
+ jg.writeRaw('{');
74
+ }
75
+
76
+ @Override
77
+ public void beforeObjectEntries(JsonGenerator jg)
78
+ throws IOException, JsonGenerationException
79
+ {
80
+ // nothing special, since no indentation is added
81
+ }
82
+
83
+ /**
84
+ * Method called after an object field has been output, but
85
+ * before the value is output.
86
+ *<p>
87
+ * Default handling will just output a single
88
+ * colon to separate the two, without additional spaces.
89
+ */
90
+ @Override
91
+ public void writeObjectFieldValueSeparator(JsonGenerator jg)
92
+ throws IOException, JsonGenerationException
93
+ {
94
+ jg.writeRaw(':');
95
+ }
96
+
97
+ /**
98
+ * Method called after an object entry (field:value) has been completely
99
+ * output, and before another value is to be output.
100
+ *<p>
101
+ * Default handling (without pretty-printing) will output a single
102
+ * comma to separate the two.
103
+ */
104
+ @Override
105
+ public void writeObjectEntrySeparator(JsonGenerator jg)
106
+ throws IOException, JsonGenerationException
107
+ {
108
+ jg.writeRaw(',');
109
+ }
110
+
111
+ @Override
112
+ public void writeEndObject(JsonGenerator jg, int nrOfEntries)
113
+ throws IOException, JsonGenerationException
114
+ {
115
+ jg.writeRaw('}');
116
+ }
117
+
118
+ @Override
119
+ public void writeStartArray(JsonGenerator jg)
120
+ throws IOException, JsonGenerationException
121
+ {
122
+ jg.writeRaw('[');
123
+ }
124
+
125
+ @Override
126
+ public void beforeArrayValues(JsonGenerator jg)
127
+ throws IOException, JsonGenerationException
128
+ {
129
+ // nothing special, since no indentation is added
130
+ }
131
+
132
+ /**
133
+ * Method called after an array value has been completely
134
+ * output, and before another value is to be output.
135
+ *<p>
136
+ * Default handling (without pretty-printing) will output a single
137
+ * comma to separate values.
138
+ */
139
+ @Override
140
+ public void writeArrayValueSeparator(JsonGenerator jg)
141
+ throws IOException, JsonGenerationException
142
+ {
143
+ jg.writeRaw(',');
144
+ }
145
+
146
+ @Override
147
+ public void writeEndArray(JsonGenerator jg, int nrOfValues)
148
+ throws IOException, JsonGenerationException
149
+ {
150
+ jg.writeRaw(']');
151
+ }
152
+ }
@@ -0,0 +1,707 @@
1
+ package sh.calaba.org.codehaus.jackson.util;
2
+
3
+ import java.math.BigDecimal;
4
+ import java.util.ArrayList;
5
+
6
+ import sh.calaba.org.codehaus.jackson.io.NumberInput;
7
+
8
+ /**
9
+ * TextBuffer is a class similar to {@link StringBuffer}, with
10
+ * following differences:
11
+ *<ul>
12
+ * <li>TextBuffer uses segments character arrays, to avoid having
13
+ * to do additional array copies when array is not big enough.
14
+ * This means that only reallocating that is necessary is done only once:
15
+ * if and when caller
16
+ * wants to access contents in a linear array (char[], String).
17
+ * </li>
18
+ * <li>TextBuffer can also be initialized in "shared mode", in which
19
+ * it will just act as a wrapper to a single char array managed
20
+ * by another object (like parser that owns it)
21
+ * </li>
22
+ * <li>TextBuffer is not synchronized.
23
+ * </li>
24
+ * </ul>
25
+ */
26
+ public final class TextBuffer
27
+ {
28
+ final static char[] NO_CHARS = new char[0];
29
+
30
+ /**
31
+ * Let's start with sizable but not huge buffer, will grow as necessary
32
+ */
33
+ final static int MIN_SEGMENT_LEN = 1000;
34
+
35
+ /**
36
+ * Let's limit maximum segment length to something sensible
37
+ * like 256k
38
+ */
39
+ final static int MAX_SEGMENT_LEN = 0x40000;
40
+
41
+ /*
42
+ /**********************************************************
43
+ /* Configuration:
44
+ /**********************************************************
45
+ */
46
+
47
+ private final BufferRecycler _allocator;
48
+
49
+ /*
50
+ /**********************************************************
51
+ /* Shared input buffers
52
+ /**********************************************************
53
+ */
54
+
55
+ /**
56
+ * Shared input buffer; stored here in case some input can be returned
57
+ * as is, without being copied to collector's own buffers. Note that
58
+ * this is read-only for this Object.
59
+ */
60
+ private char[] _inputBuffer;
61
+
62
+ /**
63
+ * Character offset of first char in input buffer; -1 to indicate
64
+ * that input buffer currently does not contain any useful char data
65
+ */
66
+ private int _inputStart;
67
+
68
+ private int _inputLen;
69
+
70
+ /*
71
+ /**********************************************************
72
+ /* Aggregation segments (when not using input buf)
73
+ /**********************************************************
74
+ */
75
+
76
+ /**
77
+ * List of segments prior to currently active segment.
78
+ */
79
+ private ArrayList<char[]> _segments;
80
+
81
+ /**
82
+ * Flag that indicates whether _seqments is non-empty
83
+ */
84
+ private boolean _hasSegments = false;
85
+
86
+ // // // Currently used segment; not (yet) contained in _seqments
87
+
88
+ /**
89
+ * Amount of characters in segments in {@link _segments}
90
+ */
91
+ private int _segmentSize;
92
+
93
+ private char[] _currentSegment;
94
+
95
+ /**
96
+ * Number of characters in currently active (last) segment
97
+ */
98
+ private int _currentSize;
99
+
100
+ /*
101
+ /**********************************************************
102
+ /* Caching of results
103
+ /**********************************************************
104
+ */
105
+
106
+ /**
107
+ * String that will be constructed when the whole contents are
108
+ * needed; will be temporarily stored in case asked for again.
109
+ */
110
+ private String _resultString;
111
+
112
+ private char[] _resultArray;
113
+
114
+ /*
115
+ /**********************************************************
116
+ /* Life-cycle
117
+ /**********************************************************
118
+ */
119
+
120
+ public TextBuffer(BufferRecycler allocator)
121
+ {
122
+ _allocator = allocator;
123
+ }
124
+
125
+ /**
126
+ * Method called to indicate that the underlying buffers should now
127
+ * be recycled if they haven't yet been recycled. Although caller
128
+ * can still use this text buffer, it is not advisable to call this
129
+ * method if that is likely, since next time a buffer is needed,
130
+ * buffers need to reallocated.
131
+ * Note: calling this method automatically also clears contents
132
+ * of the buffer.
133
+ */
134
+ public void releaseBuffers()
135
+ {
136
+ if (_allocator == null) {
137
+ resetWithEmpty();
138
+ } else {
139
+ if (_currentSegment != null) {
140
+ // First, let's get rid of all but the largest char array
141
+ resetWithEmpty();
142
+ // And then return that array
143
+ char[] buf = _currentSegment;
144
+ _currentSegment = null;
145
+ _allocator.releaseCharBuffer(BufferRecycler.CharBufferType.TEXT_BUFFER, buf);
146
+ }
147
+ }
148
+ }
149
+
150
+ /**
151
+ * Method called to clear out any content text buffer may have, and
152
+ * initializes buffer to use non-shared data.
153
+ */
154
+ public void resetWithEmpty()
155
+ {
156
+ _inputStart = -1; // indicates shared buffer not used
157
+ _currentSize = 0;
158
+ _inputLen = 0;
159
+
160
+ _inputBuffer = null;
161
+ _resultString = null;
162
+ _resultArray = null;
163
+
164
+ // And then reset internal input buffers, if necessary:
165
+ if (_hasSegments) {
166
+ clearSegments();
167
+ }
168
+ }
169
+
170
+ /**
171
+ * Method called to initialize the buffer with a shared copy of data;
172
+ * this means that buffer will just have pointers to actual data. It
173
+ * also means that if anything is to be appended to the buffer, it
174
+ * will first have to unshare it (make a local copy).
175
+ */
176
+ public void resetWithShared(char[] buf, int start, int len)
177
+ {
178
+ // First, let's clear intermediate values, if any:
179
+ _resultString = null;
180
+ _resultArray = null;
181
+
182
+ // Then let's mark things we need about input buffer
183
+ _inputBuffer = buf;
184
+ _inputStart = start;
185
+ _inputLen = len;
186
+
187
+ // And then reset internal input buffers, if necessary:
188
+ if (_hasSegments) {
189
+ clearSegments();
190
+ }
191
+ }
192
+
193
+ public void resetWithCopy(char[] buf, int start, int len)
194
+ {
195
+ _inputBuffer = null;
196
+ _inputStart = -1; // indicates shared buffer not used
197
+ _inputLen = 0;
198
+
199
+ _resultString = null;
200
+ _resultArray = null;
201
+
202
+ // And then reset internal input buffers, if necessary:
203
+ if (_hasSegments) {
204
+ clearSegments();
205
+ } else if (_currentSegment == null) {
206
+ _currentSegment = findBuffer(len);
207
+ }
208
+ _currentSize = _segmentSize = 0;
209
+ append(buf, start, len);
210
+ }
211
+
212
+ public void resetWithString(String value)
213
+ {
214
+ _inputBuffer = null;
215
+ _inputStart = -1;
216
+ _inputLen = 0;
217
+
218
+ _resultString = value;
219
+ _resultArray = null;
220
+
221
+ if (_hasSegments) {
222
+ clearSegments();
223
+ }
224
+ _currentSize = 0;
225
+
226
+ }
227
+
228
+ /**
229
+ * Helper method used to find a buffer to use, ideally one
230
+ * recycled earlier.
231
+ */
232
+ private final char[] findBuffer(int needed)
233
+ {
234
+ if (_allocator != null) {
235
+ return _allocator.allocCharBuffer(BufferRecycler.CharBufferType.TEXT_BUFFER, needed);
236
+ }
237
+ return new char[Math.max(needed, MIN_SEGMENT_LEN)];
238
+ }
239
+
240
+ private final void clearSegments()
241
+ {
242
+ _hasSegments = false;
243
+ /* Let's start using _last_ segment from list; for one, it's
244
+ * the biggest one, and it's also most likely to be cached
245
+ */
246
+ /* 28-Aug-2009, tatu: Actually, the current segment should
247
+ * be the biggest one, already
248
+ */
249
+ //_currentSegment = _segments.get(_segments.size() - 1);
250
+ _segments.clear();
251
+ _currentSize = _segmentSize = 0;
252
+ }
253
+
254
+ /*
255
+ /**********************************************************
256
+ /* Accessors for implementing public interface
257
+ /**********************************************************
258
+ */
259
+
260
+ /**
261
+ * @return Number of characters currently stored by this collector
262
+ */
263
+ public int size() {
264
+ if (_inputStart >= 0) { // shared copy from input buf
265
+ return _inputLen;
266
+ }
267
+ if (_resultArray != null) {
268
+ return _resultArray.length;
269
+ }
270
+ if (_resultString != null) {
271
+ return _resultString.length();
272
+ }
273
+ // local segmented buffers
274
+ return _segmentSize + _currentSize;
275
+ }
276
+
277
+ public int getTextOffset()
278
+ {
279
+ /* Only shared input buffer can have non-zero offset; buffer
280
+ * segments start at 0, and if we have to create a combo buffer,
281
+ * that too will start from beginning of the buffer
282
+ */
283
+ return (_inputStart >= 0) ? _inputStart : 0;
284
+ }
285
+
286
+ /**
287
+ * Method that can be used to check whether textual contents can
288
+ * be efficiently accessed using {@link #getTextBuffer}.
289
+ *
290
+ * @since 1.9
291
+ */
292
+ public boolean hasTextAsCharacters()
293
+ {
294
+ // if we have array in some form, sure
295
+ if (_inputStart >= 0 || _resultArray != null) {
296
+ return true;
297
+ }
298
+ // not if we have String as value
299
+ if (_resultString != null) {
300
+ return false;
301
+ }
302
+ return true;
303
+ }
304
+
305
+ public char[] getTextBuffer()
306
+ {
307
+ // Are we just using shared input buffer?
308
+ if (_inputStart >= 0) {
309
+ return _inputBuffer;
310
+ }
311
+ if (_resultArray != null) {
312
+ return _resultArray;
313
+ }
314
+ if (_resultString != null) {
315
+ return (_resultArray = _resultString.toCharArray());
316
+ }
317
+ // Nope; but does it fit in just one segment?
318
+ if (!_hasSegments) {
319
+ return _currentSegment;
320
+ }
321
+ // Nope, need to have/create a non-segmented array and return it
322
+ return contentsAsArray();
323
+ }
324
+
325
+ /*
326
+ /**********************************************************
327
+ /* Other accessors:
328
+ /**********************************************************
329
+ */
330
+
331
+ public String contentsAsString()
332
+ {
333
+ if (_resultString == null) {
334
+ // Has array been requested? Can make a shortcut, if so:
335
+ if (_resultArray != null) {
336
+ _resultString = new String(_resultArray);
337
+ } else {
338
+ // Do we use shared array?
339
+ if (_inputStart >= 0) {
340
+ if (_inputLen < 1) {
341
+ return (_resultString = "");
342
+ }
343
+ _resultString = new String(_inputBuffer, _inputStart, _inputLen);
344
+ } else { // nope... need to copy
345
+ // But first, let's see if we have just one buffer
346
+ int segLen = _segmentSize;
347
+ int currLen = _currentSize;
348
+
349
+ if (segLen == 0) { // yup
350
+ _resultString = (currLen == 0) ? "" : new String(_currentSegment, 0, currLen);
351
+ } else { // no, need to combine
352
+ StringBuilder sb = new StringBuilder(segLen + currLen);
353
+ // First stored segments
354
+ if (_segments != null) {
355
+ for (int i = 0, len = _segments.size(); i < len; ++i) {
356
+ char[] curr = _segments.get(i);
357
+ sb.append(curr, 0, curr.length);
358
+ }
359
+ }
360
+ // And finally, current segment:
361
+ sb.append(_currentSegment, 0, _currentSize);
362
+ _resultString = sb.toString();
363
+ }
364
+ }
365
+ }
366
+ }
367
+ return _resultString;
368
+ }
369
+
370
+ public char[] contentsAsArray()
371
+ {
372
+ char[] result = _resultArray;
373
+ if (result == null) {
374
+ _resultArray = result = buildResultArray();
375
+ }
376
+ return result;
377
+ }
378
+
379
+ /**
380
+ * Convenience method for converting contents of the buffer
381
+ * into a {@link BigDecimal}.
382
+ */
383
+ public BigDecimal contentsAsDecimal()
384
+ throws NumberFormatException
385
+ {
386
+ // Already got a pre-cut array?
387
+ if (_resultArray != null) {
388
+ return new BigDecimal(_resultArray);
389
+ }
390
+ // Or a shared buffer?
391
+ if (_inputStart >= 0) {
392
+ return new BigDecimal(_inputBuffer, _inputStart, _inputLen);
393
+ }
394
+ // Or if not, just a single buffer (the usual case)
395
+ if (_segmentSize == 0) {
396
+ return new BigDecimal(_currentSegment, 0, _currentSize);
397
+ }
398
+ // If not, let's just get it aggregated...
399
+ return new BigDecimal(contentsAsArray());
400
+ }
401
+
402
+ /**
403
+ * Convenience method for converting contents of the buffer
404
+ * into a Double value.
405
+ */
406
+ public double contentsAsDouble()
407
+ throws NumberFormatException
408
+ {
409
+ return NumberInput.parseDouble(contentsAsString());
410
+ }
411
+
412
+ /*
413
+ /**********************************************************
414
+ /* Public mutators:
415
+ /**********************************************************
416
+ */
417
+
418
+ /**
419
+ * Method called to make sure that buffer is not using shared input
420
+ * buffer; if it is, it will copy such contents to private buffer.
421
+ */
422
+ public void ensureNotShared() {
423
+ if (_inputStart >= 0) {
424
+ unshare(16);
425
+ }
426
+ }
427
+
428
+ public void append(char c) {
429
+ // Using shared buffer so far?
430
+ if (_inputStart >= 0) {
431
+ unshare(16);
432
+ }
433
+ _resultString = null;
434
+ _resultArray = null;
435
+ // Room in current segment?
436
+ char[] curr = _currentSegment;
437
+ if (_currentSize >= curr.length) {
438
+ expand(1);
439
+ curr = _currentSegment;
440
+ }
441
+ curr[_currentSize++] = c;
442
+ }
443
+
444
+ public void append(char[] c, int start, int len)
445
+ {
446
+ // Can't append to shared buf (sanity check)
447
+ if (_inputStart >= 0) {
448
+ unshare(len);
449
+ }
450
+ _resultString = null;
451
+ _resultArray = null;
452
+
453
+ // Room in current segment?
454
+ char[] curr = _currentSegment;
455
+ int max = curr.length - _currentSize;
456
+
457
+ if (max >= len) {
458
+ System.arraycopy(c, start, curr, _currentSize, len);
459
+ _currentSize += len;
460
+ } else {
461
+ // No room for all, need to copy part(s):
462
+ if (max > 0) {
463
+ System.arraycopy(c, start, curr, _currentSize, max);
464
+ start += max;
465
+ len -= max;
466
+ }
467
+ // And then allocate new segment; we are guaranteed to now
468
+ // have enough room in segment.
469
+ expand(len); // note: curr != _currentSegment after this
470
+ System.arraycopy(c, start, _currentSegment, 0, len);
471
+ _currentSize = len;
472
+ }
473
+ }
474
+
475
+ public void append(String str, int offset, int len)
476
+ {
477
+ // Can't append to shared buf (sanity check)
478
+ if (_inputStart >= 0) {
479
+ unshare(len);
480
+ }
481
+ _resultString = null;
482
+ _resultArray = null;
483
+
484
+ // Room in current segment?
485
+ char[] curr = _currentSegment;
486
+ int max = curr.length - _currentSize;
487
+ if (max >= len) {
488
+ str.getChars(offset, offset+len, curr, _currentSize);
489
+ _currentSize += len;
490
+ } else {
491
+ // No room for all, need to copy part(s):
492
+ if (max > 0) {
493
+ str.getChars(offset, offset+max, curr, _currentSize);
494
+ len -= max;
495
+ offset += max;
496
+ }
497
+ /* And then allocate new segment; we are guaranteed to now
498
+ * have enough room in segment.
499
+ */
500
+ expand(len);
501
+ str.getChars(offset, offset+len, _currentSegment, 0);
502
+ _currentSize = len;
503
+ }
504
+ }
505
+
506
+ /*
507
+ /**********************************************************
508
+ /* Raw access, for high-performance use:
509
+ /**********************************************************
510
+ */
511
+
512
+ public char[] getCurrentSegment()
513
+ {
514
+ /* Since the intention of the caller is to directly add stuff into
515
+ * buffers, we should NOT have anything in shared buffer... ie. may
516
+ * need to unshare contents.
517
+ */
518
+ if (_inputStart >= 0) {
519
+ unshare(1);
520
+ } else {
521
+ char[] curr = _currentSegment;
522
+ if (curr == null) {
523
+ _currentSegment = findBuffer(0);
524
+ } else if (_currentSize >= curr.length) {
525
+ // Plus, we better have room for at least one more char
526
+ expand(1);
527
+ }
528
+ }
529
+ return _currentSegment;
530
+ }
531
+
532
+ public final char[] emptyAndGetCurrentSegment()
533
+ {
534
+ // inlined 'resetWithEmpty()'
535
+ _inputStart = -1; // indicates shared buffer not used
536
+ _currentSize = 0;
537
+ _inputLen = 0;
538
+
539
+ _inputBuffer = null;
540
+ _resultString = null;
541
+ _resultArray = null;
542
+
543
+ // And then reset internal input buffers, if necessary:
544
+ if (_hasSegments) {
545
+ clearSegments();
546
+ }
547
+ char[] curr = _currentSegment;
548
+ if (curr == null) {
549
+ _currentSegment = curr = findBuffer(0);
550
+ }
551
+ return curr;
552
+ }
553
+
554
+ public int getCurrentSegmentSize() {
555
+ return _currentSize;
556
+ }
557
+
558
+ public void setCurrentLength(int len) {
559
+ _currentSize = len;
560
+ }
561
+
562
+ public char[] finishCurrentSegment()
563
+ {
564
+ if (_segments == null) {
565
+ _segments = new ArrayList<char[]>();
566
+ }
567
+ _hasSegments = true;
568
+ _segments.add(_currentSegment);
569
+ int oldLen = _currentSegment.length;
570
+ _segmentSize += oldLen;
571
+ // Let's grow segments by 50%
572
+ int newLen = Math.min(oldLen + (oldLen >> 1), MAX_SEGMENT_LEN);
573
+ char[] curr = _charArray(newLen);
574
+ _currentSize = 0;
575
+ _currentSegment = curr;
576
+ return curr;
577
+ }
578
+
579
+ /**
580
+ * Method called to expand size of the current segment, to
581
+ * accomodate for more contiguous content. Usually only
582
+ * used when parsing tokens like names.
583
+ */
584
+ public char[] expandCurrentSegment()
585
+ {
586
+ char[] curr = _currentSegment;
587
+ // Let's grow by 50%
588
+ int len = curr.length;
589
+ // Must grow by at least 1 char, no matter what
590
+ int newLen = (len == MAX_SEGMENT_LEN) ?
591
+ (MAX_SEGMENT_LEN + 1) : Math.min(MAX_SEGMENT_LEN, len + (len >> 1));
592
+ _currentSegment = _charArray(newLen);
593
+ System.arraycopy(curr, 0, _currentSegment, 0, len);
594
+ return _currentSegment;
595
+ }
596
+
597
+ /*
598
+ /**********************************************************
599
+ /* Standard methods:
600
+ /**********************************************************
601
+ */
602
+
603
+ /**
604
+ * Note: calling this method may not be as efficient as calling
605
+ * {@link #contentsAsString}, since it's not guaranteed that resulting
606
+ * String is cached.
607
+ */
608
+ @Override
609
+ public String toString() {
610
+ return contentsAsString();
611
+ }
612
+
613
+ /*
614
+ /**********************************************************
615
+ /* Internal methods:
616
+ /**********************************************************
617
+ */
618
+
619
+ /**
620
+ * Method called if/when we need to append content when we have been
621
+ * initialized to use shared buffer.
622
+ */
623
+ private void unshare(int needExtra)
624
+ {
625
+ int sharedLen = _inputLen;
626
+ _inputLen = 0;
627
+ char[] inputBuf = _inputBuffer;
628
+ _inputBuffer = null;
629
+ int start = _inputStart;
630
+ _inputStart = -1;
631
+
632
+ // Is buffer big enough, or do we need to reallocate?
633
+ int needed = sharedLen+needExtra;
634
+ if (_currentSegment == null || needed > _currentSegment.length) {
635
+ _currentSegment = findBuffer(needed);
636
+ }
637
+ if (sharedLen > 0) {
638
+ System.arraycopy(inputBuf, start, _currentSegment, 0, sharedLen);
639
+ }
640
+ _segmentSize = 0;
641
+ _currentSize = sharedLen;
642
+ }
643
+
644
+ /**
645
+ * Method called when current segment is full, to allocate new
646
+ * segment.
647
+ */
648
+ private void expand(int minNewSegmentSize)
649
+ {
650
+ // First, let's move current segment to segment list:
651
+ if (_segments == null) {
652
+ _segments = new ArrayList<char[]>();
653
+ }
654
+ char[] curr = _currentSegment;
655
+ _hasSegments = true;
656
+ _segments.add(curr);
657
+ _segmentSize += curr.length;
658
+ int oldLen = curr.length;
659
+ // Let's grow segments by 50% minimum
660
+ int sizeAddition = oldLen >> 1;
661
+ if (sizeAddition < minNewSegmentSize) {
662
+ sizeAddition = minNewSegmentSize;
663
+ }
664
+ curr = _charArray(Math.min(MAX_SEGMENT_LEN, oldLen + sizeAddition));
665
+ _currentSize = 0;
666
+ _currentSegment = curr;
667
+ }
668
+
669
+ private char[] buildResultArray()
670
+ {
671
+ if (_resultString != null) { // Can take a shortcut...
672
+ return _resultString.toCharArray();
673
+ }
674
+ char[] result;
675
+
676
+ // Do we use shared array?
677
+ if (_inputStart >= 0) {
678
+ if (_inputLen < 1) {
679
+ return NO_CHARS;
680
+ }
681
+ result = _charArray(_inputLen);
682
+ System.arraycopy(_inputBuffer, _inputStart, result, 0,
683
+ _inputLen);
684
+ } else { // nope
685
+ int size = size();
686
+ if (size < 1) {
687
+ return NO_CHARS;
688
+ }
689
+ int offset = 0;
690
+ result = _charArray(size);
691
+ if (_segments != null) {
692
+ for (int i = 0, len = _segments.size(); i < len; ++i) {
693
+ char[] curr = (char[]) _segments.get(i);
694
+ int currLen = curr.length;
695
+ System.arraycopy(curr, 0, result, offset, currLen);
696
+ offset += currLen;
697
+ }
698
+ }
699
+ System.arraycopy(_currentSegment, 0, result, offset, _currentSize);
700
+ }
701
+ return result;
702
+ }
703
+
704
+ private final char[] _charArray(int len) {
705
+ return new char[len];
706
+ }
707
+ }