testautoa 0.4.0.pre16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.calabash_settings +1 -0
- data/CHANGES.txt +254 -0
- data/Gemfile +4 -0
- data/LICENSE +8 -0
- data/Rakefile +51 -0
- data/bin/calabash-android +101 -0
- data/bin/calabash-android-build.rb +43 -0
- data/bin/calabash-android-console.rb +29 -0
- data/bin/calabash-android-generate.rb +20 -0
- data/bin/calabash-android-helpers.rb +46 -0
- data/bin/calabash-android-run.rb +41 -0
- data/bin/calabash-android-setup.rb +29 -0
- data/calabash-android.gemspec +25 -0
- data/doc/calabash-android-help.txt +25 -0
- data/epl-v10.html +261 -0
- data/features-skeleton/my_first.feature +5 -0
- data/features-skeleton/step_definitions/calabash_steps.rb +1 -0
- data/features-skeleton/support/app_installation_hooks.rb +36 -0
- data/features-skeleton/support/app_life_cycle_hooks.rb +14 -0
- data/features-skeleton/support/env.rb +1 -0
- data/features-skeleton/support/hooks.rb +0 -0
- data/irbrc +37 -0
- data/lib/calabash-android/calabash_steps.rb +19 -0
- data/lib/calabash-android/canned_steps.md +283 -0
- data/lib/calabash-android/color_helper.rb +13 -0
- data/lib/calabash-android/cucumber.rb +9 -0
- data/lib/calabash-android/helpers.rb +159 -0
- data/lib/calabash-android/lib/AXMLPrinter2.jar +0 -0
- data/lib/calabash-android/lib/TestServer.apk +0 -0
- data/lib/calabash-android/lib/manifest_extractor.jar +0 -0
- data/lib/calabash-android/lib/screenShotTaker.jar +0 -0
- data/lib/calabash-android/lib/unsign.jar +0 -0
- data/lib/calabash-android/management/adb.rb +0 -0
- data/lib/calabash-android/management/app_installation.rb +1 -0
- data/lib/calabash-android/operations.rb +611 -0
- data/lib/calabash-android/steps/additions_manual_steps.rb +11 -0
- data/lib/calabash-android/steps/app_steps.rb +10 -0
- data/lib/calabash-android/steps/assert_steps.rb +44 -0
- data/lib/calabash-android/steps/check_box_steps.rb +3 -0
- data/lib/calabash-android/steps/context_menu_steps.rb +12 -0
- data/lib/calabash-android/steps/date_picker_steps.rb +8 -0
- data/lib/calabash-android/steps/enter_text_steps.rb +27 -0
- data/lib/calabash-android/steps/l10n_steps.rb +19 -0
- data/lib/calabash-android/steps/list_steps.rb +40 -0
- data/lib/calabash-android/steps/location_steps.rb +19 -0
- data/lib/calabash-android/steps/map_steps.rb +61 -0
- data/lib/calabash-android/steps/navigation_steps.rb +46 -0
- data/lib/calabash-android/steps/press_button_steps.rb +35 -0
- data/lib/calabash-android/steps/progress_steps.rb +71 -0
- data/lib/calabash-android/steps/rotation_steps.rb +7 -0
- data/lib/calabash-android/steps/screenshot_steps.rb +11 -0
- data/lib/calabash-android/steps/search_steps.rb +7 -0
- data/lib/calabash-android/steps/spinner_steps.rb +3 -0
- data/lib/calabash-android/steps/time_picker_steps.rb +8 -0
- data/lib/calabash-android/version.rb +5 -0
- data/lib/calabash-android/wait_helpers.rb +93 -0
- data/lib/calabash-android.rb +2 -0
- data/test-server/AndroidManifest.xml +29 -0
- data/test-server/build.xml +144 -0
- data/test-server/calabash-js/src/calabash.js +125 -0
- data/test-server/calabash-js/src/set_text.js +133 -0
- data/test-server/instrumentation-backend/.classpath +10 -0
- data/test-server/instrumentation-backend/.gitignore +1 -0
- data/test-server/instrumentation-backend/.project +33 -0
- data/test-server/instrumentation-backend/.settings/org.eclipse.jdt.core.prefs +11 -0
- data/test-server/instrumentation-backend/AndroidManifest.xml +17 -0
- data/test-server/instrumentation-backend/antlr/UIQuery.g +113 -0
- data/test-server/instrumentation-backend/antlr/UIQuery.tokens +12 -0
- data/test-server/instrumentation-backend/antlr.sh +2 -0
- data/test-server/instrumentation-backend/assets/foo.bar +0 -0
- data/test-server/instrumentation-backend/build-libs/antlr-3.4-complete.jar +0 -0
- data/test-server/instrumentation-backend/build-libs/junit.jar +0 -0
- data/test-server/instrumentation-backend/build.xml +56 -0
- data/test-server/instrumentation-backend/libs/robotium-solo-3.6.jar +0 -0
- data/test-server/instrumentation-backend/project.properties +11 -0
- data/test-server/instrumentation-backend/res/drawable-hdpi/ic_launcher.png +0 -0
- data/test-server/instrumentation-backend/res/drawable-ldpi/ic_launcher.png +0 -0
- data/test-server/instrumentation-backend/res/drawable-mdpi/ic_launcher.png +0 -0
- data/test-server/instrumentation-backend/res/layout/main.xml +12 -0
- data/test-server/instrumentation-backend/res/values/strings.xml +7 -0
- data/test-server/instrumentation-backend/src/com/jayway/android/robotium/solo/MapViewUtils.java +328 -0
- data/test-server/instrumentation-backend/src/com/jayway/android/robotium/solo/PublicViewFetcher.java +11 -0
- data/test-server/instrumentation-backend/src/com/jayway/android/robotium/solo/SoloEnhanced.java +97 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/ANTLRFileStream.java +78 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/ANTLRInputStream.java +70 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/ANTLRReaderStream.java +95 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/ANTLRStringStream.java +230 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/BaseRecognizer.java +894 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/BitSet.java +325 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/BufferedTokenStream.java +272 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/CharStream.java +57 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/CharStreamState.java +45 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/ClassicToken.java +141 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/CommonToken.java +191 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/CommonTokenStream.java +153 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/DFA.java +250 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/EarlyExitException.java +41 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/FailedPredicateException.java +54 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/IntStream.java +122 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/LegacyCommonTokenStream.java +394 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/Lexer.java +340 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/MismatchedNotSetException.java +41 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/MismatchedRangeException.java +45 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/MismatchedSetException.java +44 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/MismatchedTokenException.java +45 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/MismatchedTreeNodeException.java +49 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/MissingTokenException.java +56 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/NoViableAltException.java +57 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/Parser.java +98 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/ParserRuleReturnScope.java +52 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/RecognitionException.java +180 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/RecognizerSharedState.java +144 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/RuleReturnScope.java +42 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/SerializedGrammar.java +204 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/Token.java +92 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/TokenRewriteStream.java +569 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/TokenSource.java +54 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/TokenStream.java +75 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/UnbufferedTokenStream.java +82 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/UnwantedTokenException.java +53 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/BlankDebugEventListener.java +77 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugEventHub.java +292 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugEventListener.java +323 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugEventRepeater.java +88 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugEventSocketProxy.java +358 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugParser.java +101 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugTokenStream.java +156 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugTreeAdaptor.java +250 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugTreeNodeStream.java +155 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugTreeParser.java +112 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/ParseTreeBuilder.java +109 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/Profiler.java +772 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/RemoteDebugEventSocketListener.java +541 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/TraceDebugEventListener.java +108 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/Tracer.java +69 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/misc/DoubleKeyMap.java +62 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/misc/FastQueue.java +100 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/misc/IntArray.java +87 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/misc/LookaheadStream.java +161 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/misc/Stats.java +189 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/BaseTree.java +349 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/BaseTreeAdaptor.java +279 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/BufferedTreeNodeStream.java +489 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/CommonErrorNode.java +108 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/CommonTree.java +185 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/CommonTreeAdaptor.java +168 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/CommonTreeNodeStream.java +171 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/ParseTree.java +119 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/RewriteCardinalityException.java +47 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/RewriteEarlyExitException.java +39 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/RewriteEmptyStreamException.java +35 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/RewriteRuleElementStream.java +210 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/RewriteRuleNodeStream.java +70 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/RewriteRuleSubtreeStream.java +86 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/RewriteRuleTokenStream.java +76 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/Tree.java +127 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeAdaptor.java +263 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeFilter.java +135 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeIterator.java +132 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeNodeStream.java +106 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeParser.java +169 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreePatternLexer.java +135 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreePatternParser.java +154 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeRewriter.java +124 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeRuleReturnScope.java +41 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeVisitor.java +69 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeVisitorAction.java +47 -0
- data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeWizard.java +531 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/CalabashInstrumentationTestRunner.java +37 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/ClearAppData.java +63 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/Command.java +64 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/FranklyResult.java +95 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/InstrumentationBackend.java +90 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/Result.java +83 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/TestHelpers.java +130 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/WakeUp.java +30 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/Action.java +11 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/Actions.java +112 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/HttpServer.java +222 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/NanoHTTPD.java +1094 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/NullAction.java +23 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/activity/FinishOpenedActivities.java +19 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/activity/GetOpenedActivities.java +31 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/activity/GoBackToActivity.java +67 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/activity/SetActivityOrientation.java +41 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/button/PressButtonNumber.java +22 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/button/PressButtonText.java +27 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/button/PressImageButtonDescription.java +40 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/button/PressImageButtonNumber.java +22 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/button/WaitForButton.java +47 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/checkbox/ToggleCheckboxNumber.java +22 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/contextmenu/LongPressText.java +22 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/contextmenu/LongPressTextAndSelectFromMenuById.java +26 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/contextmenu/LongPressTextAndSelectFromMenuByIndex.java +22 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/contextmenu/LongPressTextAndSelectFromMenuByText.java +26 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/ClickOnScreen.java +31 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/Drag.java +40 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/DragCoordinates.java +28 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/Swipe.java +34 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/TouchCoordinates.java +28 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/helpers/InspectCurrentDialog.java +76 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/helpers/ListActions.java +26 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/l10n/L10nHelper.java +31 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/l10n/PressElement.java +48 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/l10n/WaitForElement.java +47 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/list/GetListData.java +85 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/list/GetListItemProperties.java +194 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/list/GetListItemText.java +136 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/list/LongPressListItems.java +22 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/list/PressListItems.java +22 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/location/FakeGPSLocation.java +138 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/GetMapBounds.java +27 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/GetMapCenter.java +27 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/GetMapMarker.java +31 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/GetMapMarkers.java +48 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/GetMapZoom.java +19 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/PanMapTo.java +23 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/SetMapCenter.java +23 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/SetMapZoom.java +34 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/TapAwayFromMarkers.java +28 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/TapMapMarker.java +29 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/scrolling/ScrollDown.java +22 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/scrolling/ScrollUp.java +22 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/search/EnterQueryByIndex.java +24 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/DownKey.java +24 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/EnterKey.java +24 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/GoBack.java +22 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/LeftKey.java +24 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/PressMenu.java +26 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/RightKey.java +24 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/SelectFromMenuByText.java +24 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/UpKey.java +24 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/spinner/GetSelectedSpinnerItemText.java +36 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/spinner/SelectSpinnerItemByContentDescription.java +43 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/AssertGridViewContainsNoDuplicates.java +72 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/AssertText.java +31 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/AssertTextOfSpecificTextViewByContentDescription.java +32 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/ClearTextById.java +30 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/ClearTextByIndex.java +22 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/ClearTextFieldByContentDescription.java +33 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/ClickOnText.java +22 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/EnterTextByContentDescription.java +32 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/EnterTextById.java +30 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/EnterTextByIndex.java +22 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/GetTextById.java +42 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/time/SetDateByContentDescription.java +33 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/time/SetDateByIndex.java +24 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/time/SetTimeByContentDescription.java +34 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/time/SetTimeByIndex.java +26 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/version/Version.java +31 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/AssertViewProperty.java +141 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/ClickOnViewByDescription.java +46 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/ClickOnViewById.java +56 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/GetActivityName.java +32 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/GetViewProperty.java +101 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/HasView.java +31 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/IsCurrentActivityFocused.java +40 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/IsEnabled.java +30 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/LongPressOnViewById.java +34 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/Press.java +89 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/SelectTab.java +110 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/Wait.java +24 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForDialogClose.java +21 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForProgress.java +47 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForScreen.java +54 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForTab.java +108 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForText.java +37 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForView.java +43 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForViewById.java +51 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/CalabashChromeClient.java +180 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/DumpBodyHtml.java +53 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/DumpHtml.java +55 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/EnterTextByCssSelector.java +121 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/ExecuteAsyncJavascript.java +77 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/ExecuteJavascript.java +75 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/GetLoadProgress.java +21 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/GetUrl.java +21 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/JavaScriptOperation.java +44 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/PressByCssSelector.java +70 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/QueryHelper.java +104 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/ScrollTo.java +87 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/SetPropertyByCssSelector.java +69 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/SetText.java +47 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/CompletedFuture.java +40 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/InvocationOperation.java +222 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/Operation.java +7 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/PropertyOperation.java +56 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/Query.java +181 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/QueryResult.java +27 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/UIQuery.tokens +19 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/UIQueryResultVoid.java +22 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ViewMapper.java +93 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/antlr/UIQueryLexer.java +1713 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/antlr/UIQueryParser.java +771 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/BeginsWithRelation.java +45 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/ComparisonOperator.java +54 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/ContainsRelation.java +41 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/EndsWithRelation.java +42 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/InvalidUIQueryException.java +10 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/LikeRelation.java +79 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/PartialFutureList.java +100 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryAST.java +8 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryASTClassName.java +142 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryASTPredicate.java +147 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryASTPredicateRelation.java +5 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryASTWith.java +202 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryDirection.java +15 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryEvaluator.java +99 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryUtils.java +271 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryVisibility.java +32 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Base64Variant.java +413 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Base64Variants.java +90 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/FormatSchema.java +29 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonEncoding.java +47 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonFactory.java +937 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonGenerationException.java +28 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonGenerator.java +1197 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonLocation.java +141 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonNode.java +879 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonParseException.java +23 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonParser.java +1434 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonProcessingException.java +80 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonStreamContext.java +122 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonToken.java +161 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/ObjectCodec.java +157 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/PrettyPrinter.java +166 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/SerializableString.java +54 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Version.java +90 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Versioned.java +20 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JacksonAnnotation.java +20 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonAnyGetter.java +25 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonAnySetter.java +24 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonAutoDetect.java +148 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonBackReference.java +41 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonCreator.java +19 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonGetter.java +35 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonIgnore.java +57 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonIgnoreProperties.java +48 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonIgnoreType.java +33 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonManagedReference.java +41 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonMethod.java +90 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonProperty.java +38 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonPropertyOrder.java +46 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonRawValue.java +33 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonSetter.java +33 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonSubTypes.java +44 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonTypeInfo.java +236 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonTypeName.java +28 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonUnwrapped.java +76 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonValue.java +46 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonWriteNullProperties.java +34 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/package-info.java +16 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/DataFormatDetector.java +176 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/DataFormatMatcher.java +117 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/InputAccessor.java +130 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/MatchStrength.java +64 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/package-info.java +8 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/ByteSourceBootstrapper.java +518 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/DefaultPrettyPrinter.java +13 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/Indenter.java +23 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonGeneratorBase.java +570 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonNumericParserBase.java +20 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonParserBase.java +1067 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonParserMinimalBase.java +539 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonReadContext.java +188 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonWriteContext.java +178 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/ReaderBasedParser.java +1815 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/ReaderBasedParserBase.java +228 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/StreamBasedParserBase.java +197 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/Utf8Generator.java +1757 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/Utf8StreamParser.java +2966 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/WriterBasedGenerator.java +1815 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/package-info.java +6 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/BaseReader.java +117 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/CharacterEscapes.java +73 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/IOContext.java +239 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/InputDecorator.java +67 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/JsonStringEncoder.java +408 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/MergedStream.java +145 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/NumberInput.java +303 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/NumberOutput.java +398 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/OutputDecorator.java +40 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/SegmentedStringWriter.java +104 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/SerializedString.java +114 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/UTF32Reader.java +214 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/UTF8Writer.java +387 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/package.html +4 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/AbstractTypeResolver.java +63 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/AnnotationIntrospector.java +1485 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/BeanDescription.java +171 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/BeanProperty.java +123 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/BeanPropertyDefinition.java +66 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ClassIntrospector.java +117 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ContextualDeserializer.java +38 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ContextualKeyDeserializer.java +33 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ContextualSerializer.java +38 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializationConfig.java +926 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializationContext.java +262 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializationProblemHandler.java +56 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializerFactory.java +356 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializerProvider.java +185 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/Deserializers.java +339 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/HandlerInstantiator.java +115 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/InjectableValues.java +85 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonDeserializer.java +166 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonMappingException.java +335 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonSerializable.java +34 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonSerializableWithType.java +22 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonSerializer.java +138 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/KeyDeserializer.java +31 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/KeyDeserializers.java +21 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/MapperConfig.java +1154 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/MappingIterator.java +190 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/MappingJsonFactory.java +81 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/Module.java +255 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ObjectMapper.java +2885 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ObjectReader.java +958 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ObjectWriter.java +554 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/PropertyNamingStrategy.java +258 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ResolvableDeserializer.java +23 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ResolvableSerializer.java +23 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/RuntimeJsonMappingException.java +21 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/SerializationConfig.java +1041 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/SerializerFactory.java +198 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/SerializerProvider.java +552 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/Serializers.java +137 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/TypeDeserializer.java +118 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/TypeSerializer.java +164 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JacksonInject.java +30 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JacksonStdImpl.java +25 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonCachable.java +32 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonDeserialize.java +109 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonFilter.java +31 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonRootName.java +29 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonSerialize.java +216 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonTypeIdResolver.java +35 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonTypeResolver.java +28 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonValueInstantiator.java +26 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonView.java +37 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/NoClass.java +19 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/package-info.java +5 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/AbstractDeserializer.java +102 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ArrayDeserializer.java +28 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ArrayDeserializers.java +11 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BasicDeserializerFactory.java +894 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializer.java +1537 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializerBuilder.java +277 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializerFactory.java +1474 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializerModifier.java +58 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/CollectionDeserializer.java +47 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ContainerDeserializer.java +14 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/CustomDeserializerFactory.java +227 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/DateDeserializer.java +9 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/EnumDeserializer.java +15 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/EnumResolver.java +17 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/FromStringDeserializer.java +13 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/JsonNodeDeserializer.java +54 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/MapDeserializer.java +44 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/SettableAnyProperty.java +177 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/SettableBeanProperty.java +827 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializationContext.java +326 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializer.java +94 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializerProvider.java +494 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializers.java +119 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdKeyDeserializer.java +12 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdKeyDeserializers.java +11 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdScalarDeserializer.java +13 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ThrowableDeserializer.java +13 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/UntypedObjectDeserializer.java +9 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ValueInstantiator.java +280 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ValueInstantiators.java +52 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/BeanPropertyMap.java +257 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/CreatorCollector.java +141 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/CreatorProperty.java +152 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/ExternalTypeHandler.java +173 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/PropertyBasedCreator.java +117 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/PropertyValue.java +117 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/PropertyValueBuffer.java +102 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/UnwrappedPropertyHandler.java +41 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/ValueInjector.java +45 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/package-info.java +9 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/package-info.java +5 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/AtomicBooleanDeserializer.java +22 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/AtomicReferenceDeserializer.java +47 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/CalendarDeserializer.java +47 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ClassDeserializer.java +49 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/CollectionDeserializer.java +265 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ContainerDeserializerBase.java +37 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/DateDeserializer.java +30 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/EnumDeserializer.java +139 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/EnumMapDeserializer.java +90 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/EnumSetDeserializer.java +89 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/FromStringDeserializer.java +265 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/JavaTypeDeserializer.java +38 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/JsonNodeDeserializer.java +314 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/MapDeserializer.java +412 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ObjectArrayDeserializer.java +201 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/PrimitiveArrayDeserializers.java +583 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdDeserializer.java +1136 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdKeyDeserializer.java +340 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdKeyDeserializers.java +108 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdScalarDeserializer.java +34 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdValueInstantiator.java +392 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StringCollectionDeserializer.java +227 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StringDeserializer.java +55 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ThrowableDeserializer.java +164 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/TimestampDeserializer.java +30 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/TokenBufferDeserializer.java +36 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/UntypedObjectDeserializer.java +248 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/package-info.java +15 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/exc/UnrecognizedPropertyException.java +75 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/DOMDeserializer.java +65 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/OptionalHandlerFactory.java +217 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/package-info.java +23 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/Annotated.java +85 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedClass.java +980 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedConstructor.java +143 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedField.java +119 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedMember.java +56 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedMethod.java +188 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedMethodMap.java +85 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedParameter.java +191 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedWithParams.java +195 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotationMap.java +101 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/BasicBeanDescription.java +615 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/BasicClassIntrospector.java +364 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/JacksonAnnotationIntrospector.java +813 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/MemberKey.java +83 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/MethodFilter.java +12 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/NopAnnotationIntrospector.java +209 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/POJOPropertiesCollector.java +713 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/POJOPropertyBuilder.java +648 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/VisibilityChecker.java +424 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/package-info.java +12 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/NamedType.java +53 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/SubtypeResolver.java +39 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/TypeIdResolver.java +74 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/TypeResolverBuilder.java +151 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsArrayTypeDeserializer.java +126 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsArrayTypeSerializer.java +110 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsExternalTypeDeserializer.java +37 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsExternalTypeSerializer.java +129 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsPropertyTypeDeserializer.java +191 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsPropertyTypeSerializer.java +69 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsWrapperTypeDeserializer.java +103 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsWrapperTypeSerializer.java +121 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/ClassNameIdResolver.java +138 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/MinimalClassNameIdResolver.java +66 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/StdSubtypeResolver.java +151 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/StdTypeResolverBuilder.java +202 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeDeserializerBase.java +154 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeIdResolverBase.java +37 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeNameIdResolver.java +154 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeSerializerBase.java +31 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/package-info.java +9 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/package-info.java +10 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleAbstractTypeResolver.java +86 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleDeserializers.java +130 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleKeyDeserializers.java +59 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleModule.java +265 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleSerializers.java +206 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleValueInstantiators.java +45 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/package-info.java +16 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/package-info.java +34 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/AnyGetterWriter.java +48 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ArraySerializers.java +7 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BasicSerializerFactory.java +806 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanPropertyFilter.java +30 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanPropertyWriter.java +512 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializer.java +126 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializerBuilder.java +140 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializerFactory.java +780 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializerModifier.java +95 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ContainerSerializers.java +8 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/CustomSerializerFactory.java +293 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/EnumSerializer.java +17 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/FilterProvider.java +23 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/FilteredBeanPropertyWriter.java +96 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/JdkSerializers.java +11 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/MapSerializer.java +58 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/PropertyBuilder.java +372 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ScalarSerializerBase.java +18 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/SerializerBase.java +23 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/StdKeySerializer.java +10 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/StdSerializerProvider.java +852 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/StdSerializers.java +372 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ToStringSerializer.java +14 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/FailingSerializer.java +43 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/JsonSerializerMap.java +93 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/PropertySerializerMap.java +231 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/ReadOnlyClassToSerializerMap.java +73 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/SerializerCache.java +304 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/SimpleBeanPropertyFilter.java +109 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/SimpleFilterProvider.java +114 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/UnknownSerializer.java +54 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/UnwrappingBeanPropertyWriter.java +99 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/UnwrappingBeanSerializer.java +76 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/package-info.java +5 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/package-info.java +5 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/AsArraySerializerBase.java +185 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/BeanSerializerBase.java +340 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/CalendarSerializer.java +43 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/CollectionSerializer.java +113 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ContainerSerializerBase.java +51 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/DateSerializer.java +42 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/EnumMapSerializer.java +218 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/EnumSerializer.java +84 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/EnumSetSerializer.java +47 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/IndexedStringListSerializer.java +116 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/InetAddressSerializer.java +51 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/IterableSerializer.java +63 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/JsonValueSerializer.java +233 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/MapSerializer.java +422 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/NonTypedScalarSerializerBase.java +34 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/NullSerializer.java +38 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ObjectArraySerializer.java +281 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/RawSerializer.java +52 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ScalarSerializerBase.java +52 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/SerializableSerializer.java +99 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/SerializableWithTypeSerializer.java +90 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/SerializerBase.java +184 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StaticListSerializerBase.java +46 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdArraySerializers.java +476 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdContainerSerializers.java +249 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdJdkSerializers.java +195 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdKeySerializer.java +43 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdKeySerializers.java +95 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StringCollectionSerializer.java +119 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StringSerializer.java +36 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/TimeZoneSerializer.java +38 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ToStringSerializer.java +73 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/TokenBufferSerializer.java +66 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/ArrayType.java +260 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/ClassKey.java +94 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/CollectionLikeType.java +204 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/CollectionType.java +94 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/HierarchicType.java +88 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/MapLikeType.java +265 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/MapType.java +146 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/SimpleType.java +250 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeBase.java +148 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeBindings.java +351 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeFactory.java +1165 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeModifier.java +38 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeParser.java +134 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/package-info.java +10 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Annotations.java +23 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ArrayBuilders.java +293 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/BeanUtil.java +260 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ClassUtil.java +645 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Comparators.java +48 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/EnumResolver.java +108 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/EnumValues.java +82 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ISO8601DateFormat.java +52 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ISO8601Utils.java +230 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/JSONPObject.java +105 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/JSONWrappedObject.java +117 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/LRUMap.java +28 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/LinkedNode.java +45 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Named.java +10 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ObjectBuffer.java +257 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/PrimitiveArrayBuilder.java +180 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Provider.java +21 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/RootNameLookup.java +54 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/StdDateFormat.java +348 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/package-info.java +4 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ArrayNode.java +758 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BaseJsonNode.java +122 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BigIntegerNode.java +104 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BinaryNode.java +136 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BooleanNode.java +84 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ContainerNode.java +185 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/DecimalNode.java +96 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/DoubleNode.java +106 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/IntNode.java +122 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/JsonNodeFactory.java +222 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/LongNode.java +99 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/MissingNode.java +97 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/NodeCursor.java +222 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/NullNode.java +58 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/NumericNode.java +72 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ObjectNode.java +696 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/POJONode.java +145 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/TextNode.java +299 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/TreeTraversingParser.java +383 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ValueNode.java +58 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/package-info.java +8 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/package-info.java +30 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/JsonSchema.java +82 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/JsonSerializableSchema.java +46 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/SchemaAware.java +25 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/package-info.java +5 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/BytesToNameCanonicalizer.java +969 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/CharsToNameCanonicalizer.java +578 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name.java +50 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name1.java +44 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name2.java +40 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name3.java +39 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/NameN.java +68 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/package-info.java +5 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/type/JavaType.java +503 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/type/TypeReference.java +60 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/type/package-info.java +8 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/BufferRecycler.java +109 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/ByteArrayBuilder.java +294 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/CharTypes.java +237 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/DefaultPrettyPrinter.java +282 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/InternCache.java +49 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/JsonGeneratorDelegate.java +273 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/JsonParserDelegate.java +251 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/JsonParserSequence.java +150 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/MinimalPrettyPrinter.java +152 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/TextBuffer.java +707 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/TokenBuffer.java +1233 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/VersionUtil.java +79 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/package-info.java +4 -0
- metadata +868 -0
|
@@ -0,0 +1,1434 @@
|
|
|
1
|
+
/* Jackson JSON-processor.
|
|
2
|
+
*
|
|
3
|
+
* Copyright (c) 2007- Tatu Saloranta, tatu.saloranta@iki.fi
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the License specified in file LICENSE, included with
|
|
6
|
+
* the source code and binary code bundles.
|
|
7
|
+
* You may not use this file except in compliance with the License.
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
* See the License for the specific language governing permissions and
|
|
13
|
+
* limitations under the License.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
package sh.calaba.org.codehaus.jackson;
|
|
17
|
+
|
|
18
|
+
import java.io.*;
|
|
19
|
+
import java.math.BigDecimal;
|
|
20
|
+
import java.math.BigInteger;
|
|
21
|
+
import java.util.Iterator;
|
|
22
|
+
|
|
23
|
+
import sh.calaba.org.codehaus.jackson.type.TypeReference;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Base class that defines public API for reading JSON content.
|
|
27
|
+
* Instances are created using factory methods of
|
|
28
|
+
* a {@link JsonFactory} instance.
|
|
29
|
+
*
|
|
30
|
+
* @author Tatu Saloranta
|
|
31
|
+
*/
|
|
32
|
+
public abstract class JsonParser
|
|
33
|
+
implements Closeable, Versioned
|
|
34
|
+
{
|
|
35
|
+
private final static int MIN_BYTE_I = (int) Byte.MIN_VALUE;
|
|
36
|
+
private final static int MAX_BYTE_I = (int) Byte.MAX_VALUE;
|
|
37
|
+
|
|
38
|
+
private final static int MIN_SHORT_I = (int) Short.MIN_VALUE;
|
|
39
|
+
private final static int MAX_SHORT_I = (int) Short.MAX_VALUE;
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Enumeration of possible "native" (optimal) types that can be
|
|
43
|
+
* used for numbers.
|
|
44
|
+
*/
|
|
45
|
+
public enum NumberType {
|
|
46
|
+
INT, LONG, BIG_INTEGER, FLOAT, DOUBLE, BIG_DECIMAL
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Enumeration that defines all togglable features for parsers.
|
|
51
|
+
*/
|
|
52
|
+
public enum Feature {
|
|
53
|
+
|
|
54
|
+
// // // Low-level I/O handling features:
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Feature that determines whether parser will automatically
|
|
58
|
+
* close underlying input source that is NOT owned by the
|
|
59
|
+
* parser. If disabled, calling application has to separately
|
|
60
|
+
* close the underlying {@link InputStream} and {@link Reader}
|
|
61
|
+
* instances used to create the parser. If enabled, parser
|
|
62
|
+
* will handle closing, as long as parser itself gets closed:
|
|
63
|
+
* this happens when end-of-input is encountered, or parser
|
|
64
|
+
* is closed by a call to {@link JsonParser#close}.
|
|
65
|
+
*<p>
|
|
66
|
+
* Feature is enabled by default.
|
|
67
|
+
*/
|
|
68
|
+
AUTO_CLOSE_SOURCE(true),
|
|
69
|
+
|
|
70
|
+
// // // Support for non-standard data format constructs
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Feature that determines whether parser will allow use
|
|
74
|
+
* of Java/C++ style comments (both '/'+'*' and
|
|
75
|
+
* '//' varieties) within parsed content or not.
|
|
76
|
+
*<p>
|
|
77
|
+
* Since JSON specification does not mention comments as legal
|
|
78
|
+
* construct,
|
|
79
|
+
* this is a non-standard feature; however, in the wild
|
|
80
|
+
* this is extensively used. As such, feature is
|
|
81
|
+
* <b>disabled by default</b> for parsers and must be
|
|
82
|
+
* explicitly enabled (via factory or parser instance).
|
|
83
|
+
*<p>
|
|
84
|
+
* This feature can be changed for parser instances.
|
|
85
|
+
*/
|
|
86
|
+
ALLOW_COMMENTS(false),
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Feature that determines whether parser will allow use
|
|
90
|
+
* of unquoted field names (which is allowed by Javascript,
|
|
91
|
+
* but not by JSON specification).
|
|
92
|
+
*<p>
|
|
93
|
+
* Since JSON specification requires use of double quotes for
|
|
94
|
+
* field names,
|
|
95
|
+
* this is a non-standard feature, and as such disabled by
|
|
96
|
+
* default.
|
|
97
|
+
*<p>
|
|
98
|
+
* This feature can be changed for parser instances.
|
|
99
|
+
*
|
|
100
|
+
* @since 1.2
|
|
101
|
+
*/
|
|
102
|
+
ALLOW_UNQUOTED_FIELD_NAMES(false),
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Feature that determines whether parser will allow use
|
|
106
|
+
* of single quotes (apostrophe, character '\'') for
|
|
107
|
+
* quoting Strings (names and String values). If so,
|
|
108
|
+
* this is in addition to other acceptabl markers.
|
|
109
|
+
* but not by JSON specification).
|
|
110
|
+
*<p>
|
|
111
|
+
* Since JSON specification requires use of double quotes for
|
|
112
|
+
* field names,
|
|
113
|
+
* this is a non-standard feature, and as such disabled by
|
|
114
|
+
* default.
|
|
115
|
+
*<p>
|
|
116
|
+
* This feature can be changed for parser instances.
|
|
117
|
+
*
|
|
118
|
+
* @since 1.3
|
|
119
|
+
*/
|
|
120
|
+
ALLOW_SINGLE_QUOTES(false),
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Feature that determines whether parser will allow
|
|
124
|
+
* JSON Strings to contain unquoted control characters
|
|
125
|
+
* (ASCII characters with value less than 32, including
|
|
126
|
+
* tab and line feed characters) or not.
|
|
127
|
+
* If feature is set false, an exception is thrown if such a
|
|
128
|
+
* character is encountered.
|
|
129
|
+
*<p>
|
|
130
|
+
* Since JSON specification requires quoting for all control characters,
|
|
131
|
+
* this is a non-standard feature, and as such disabled by default.
|
|
132
|
+
*<p>
|
|
133
|
+
* This feature can be changed for parser instances.
|
|
134
|
+
*
|
|
135
|
+
* @since 1.4
|
|
136
|
+
*/
|
|
137
|
+
ALLOW_UNQUOTED_CONTROL_CHARS(false),
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Feature that can be enabled to accept quoting of all character
|
|
141
|
+
* using backslash qooting mechanism: if not enabled, only characters
|
|
142
|
+
* that are explicitly listed by JSON specification can be thus
|
|
143
|
+
* escaped (see JSON spec for small list of these characters)
|
|
144
|
+
*<p>
|
|
145
|
+
* Since JSON specification requires quoting for all control characters,
|
|
146
|
+
* this is a non-standard feature, and as such disabled by default.
|
|
147
|
+
*<p>
|
|
148
|
+
* This feature can be changed for parser instances.
|
|
149
|
+
*
|
|
150
|
+
* @since 1.6
|
|
151
|
+
*/
|
|
152
|
+
ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER(false),
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Feature that determines whether parser will allow
|
|
156
|
+
* JSON integral numbers to start with additional (ignorable)
|
|
157
|
+
* zeroes (like: 000001). If enabled, no exception is thrown, and extra
|
|
158
|
+
* nulls are silently ignored (and not included in textual representation
|
|
159
|
+
* exposed via {@link JsonParser#getText}).
|
|
160
|
+
*<p>
|
|
161
|
+
* Since JSON specification does not allow leading zeroes,
|
|
162
|
+
* this is a non-standard feature, and as such disabled by default.
|
|
163
|
+
*<p>
|
|
164
|
+
* This feature can be changed for parser instances.
|
|
165
|
+
*
|
|
166
|
+
* @since 1.8
|
|
167
|
+
*/
|
|
168
|
+
ALLOW_NUMERIC_LEADING_ZEROS(false),
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* Feature that allows parser to recognize set of
|
|
172
|
+
* "Not-a-Number" (NaN) tokens as legal floating number
|
|
173
|
+
* values (similar to how many other data formats and
|
|
174
|
+
* programming language source code allows it).
|
|
175
|
+
* Specific subset contains values that
|
|
176
|
+
* <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema</a>
|
|
177
|
+
* (see section 3.2.4.1, Lexical Representation)
|
|
178
|
+
* allows (tokens are quoted contents, not including quotes):
|
|
179
|
+
*<ul>
|
|
180
|
+
* <li>"INF" (for positive infinity), as well as alias of "Infinity"
|
|
181
|
+
* <li>"-INF" (for negative infinity), alias "-Infinity"
|
|
182
|
+
* <li>"NaN" (for other not-a-numbers, like result of division by zero)
|
|
183
|
+
*</ul>
|
|
184
|
+
*/
|
|
185
|
+
|
|
186
|
+
ALLOW_NON_NUMERIC_NUMBERS(false),
|
|
187
|
+
|
|
188
|
+
// // // Controlling canonicalization (interning etc)
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* Feature that determines whether JSON object field names are
|
|
192
|
+
* to be canonicalized using {@link String#intern} or not:
|
|
193
|
+
* if enabled, all field names will be intern()ed (and caller
|
|
194
|
+
* can count on this being true for all such names); if disabled,
|
|
195
|
+
* no intern()ing is done. There may still be basic
|
|
196
|
+
* canonicalization (that is, same String will be used to represent
|
|
197
|
+
* all identical object property names for a single document).
|
|
198
|
+
*<p>
|
|
199
|
+
* Note: this setting only has effect if
|
|
200
|
+
* {@link #CANONICALIZE_FIELD_NAMES} is true -- otherwise no
|
|
201
|
+
* canonicalization of any sort is done.
|
|
202
|
+
*
|
|
203
|
+
* @since 1.3
|
|
204
|
+
*/
|
|
205
|
+
INTERN_FIELD_NAMES(true),
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* Feature that determines whether JSON object field names are
|
|
209
|
+
* to be canonicalized (details of how canonicalization is done
|
|
210
|
+
* then further specified by
|
|
211
|
+
* {@link #INTERN_FIELD_NAMES}).
|
|
212
|
+
*
|
|
213
|
+
* @since 1.5
|
|
214
|
+
*/
|
|
215
|
+
CANONICALIZE_FIELD_NAMES(true),
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
;
|
|
219
|
+
|
|
220
|
+
final boolean _defaultState;
|
|
221
|
+
|
|
222
|
+
/**
|
|
223
|
+
* Method that calculates bit set (flags) of all features that
|
|
224
|
+
* are enabled by default.
|
|
225
|
+
*/
|
|
226
|
+
public static int collectDefaults()
|
|
227
|
+
{
|
|
228
|
+
int flags = 0;
|
|
229
|
+
for (Feature f : values()) {
|
|
230
|
+
if (f.enabledByDefault()) {
|
|
231
|
+
flags |= f.getMask();
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
return flags;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
private Feature(boolean defaultState) {
|
|
238
|
+
_defaultState = defaultState;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
public boolean enabledByDefault() { return _defaultState; }
|
|
242
|
+
|
|
243
|
+
public boolean enabledIn(int flags) { return (flags & getMask()) != 0; }
|
|
244
|
+
|
|
245
|
+
public int getMask() { return (1 << ordinal()); }
|
|
246
|
+
};
|
|
247
|
+
|
|
248
|
+
/*
|
|
249
|
+
/**********************************************************
|
|
250
|
+
/* Minimal configuration state
|
|
251
|
+
/**********************************************************
|
|
252
|
+
*/
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* Bit flag composed of bits that indicate which
|
|
256
|
+
* {@link sh.calaba.org.codehaus.jackson.JsonParser.Feature}s
|
|
257
|
+
* are enabled.
|
|
258
|
+
*/
|
|
259
|
+
protected int _features;
|
|
260
|
+
|
|
261
|
+
/*
|
|
262
|
+
/**********************************************************
|
|
263
|
+
/* Minimal generic state
|
|
264
|
+
/**********************************************************
|
|
265
|
+
*/
|
|
266
|
+
|
|
267
|
+
/**
|
|
268
|
+
* Last token retrieved via {@link #nextToken}, if any.
|
|
269
|
+
* Null before the first call to <code>nextToken()</code>,
|
|
270
|
+
* as well as if token has been explicitly cleared
|
|
271
|
+
* (by call to {@link #clearCurrentToken})
|
|
272
|
+
*/
|
|
273
|
+
protected JsonToken _currToken;
|
|
274
|
+
|
|
275
|
+
/**
|
|
276
|
+
* Last cleared token, if any: that is, value that was in
|
|
277
|
+
* effect when {@link #clearCurrentToken} was called.
|
|
278
|
+
*/
|
|
279
|
+
protected JsonToken _lastClearedToken;
|
|
280
|
+
|
|
281
|
+
/*
|
|
282
|
+
/**********************************************************
|
|
283
|
+
/* Construction, configuration, initialization
|
|
284
|
+
/**********************************************************
|
|
285
|
+
*/
|
|
286
|
+
|
|
287
|
+
protected JsonParser() { }
|
|
288
|
+
protected JsonParser(int features) {
|
|
289
|
+
_features = features;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
/**
|
|
293
|
+
* Accessor for {@link ObjectCodec} associated with this
|
|
294
|
+
* parser, if any. Codec is used by {@link #readValueAs(Class)}
|
|
295
|
+
* method (and its variants).
|
|
296
|
+
*
|
|
297
|
+
* @since 1.3
|
|
298
|
+
*/
|
|
299
|
+
public abstract ObjectCodec getCodec();
|
|
300
|
+
|
|
301
|
+
/**
|
|
302
|
+
* Setter that allows defining {@link ObjectCodec} associated with this
|
|
303
|
+
* parser, if any. Codec is used by {@link #readValueAs(Class)}
|
|
304
|
+
* method (and its variants).
|
|
305
|
+
*
|
|
306
|
+
* @since 1.3
|
|
307
|
+
*/
|
|
308
|
+
public abstract void setCodec(ObjectCodec c);
|
|
309
|
+
|
|
310
|
+
/**
|
|
311
|
+
* Method to call to make this parser use specified schema. Method must
|
|
312
|
+
* be called before trying to parse any content, right after parser instance
|
|
313
|
+
* has been created.
|
|
314
|
+
* Note that not all parsers support schemas; and those that do usually only
|
|
315
|
+
* accept specific types of schemas: ones defined for data format parser can read.
|
|
316
|
+
*<p>
|
|
317
|
+
* If parser does not support specified schema, {@link UnsupportedOperationException}
|
|
318
|
+
* is thrown.
|
|
319
|
+
*
|
|
320
|
+
* @param schema Schema to use
|
|
321
|
+
*
|
|
322
|
+
* @throws UnsupportedOperationException if parser does not support schema
|
|
323
|
+
*
|
|
324
|
+
* @since 1.8
|
|
325
|
+
*/
|
|
326
|
+
public void setSchema(FormatSchema schema)
|
|
327
|
+
{
|
|
328
|
+
throw new UnsupportedOperationException("Parser of type "+getClass().getName()+" does not support schema of type '"
|
|
329
|
+
+schema.getSchemaType()+"'");
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
/**
|
|
333
|
+
* Method that can be used to verify that given schema can be used with
|
|
334
|
+
* this parser (using {@link #setSchema}).
|
|
335
|
+
*
|
|
336
|
+
* @param schema Schema to check
|
|
337
|
+
*
|
|
338
|
+
* @return True if this parser can use given schema; false if not
|
|
339
|
+
*
|
|
340
|
+
* @since 1.8
|
|
341
|
+
*/
|
|
342
|
+
public boolean canUseSchema(FormatSchema schema) {
|
|
343
|
+
return false;
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
/**
|
|
347
|
+
* @since 1.6
|
|
348
|
+
*/
|
|
349
|
+
@Override
|
|
350
|
+
public Version version() {
|
|
351
|
+
return Version.unknownVersion();
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
/**
|
|
355
|
+
* Method that can be used to get access to object that is used
|
|
356
|
+
* to access input being parsed; this is usually either
|
|
357
|
+
* {@link InputStream} or {@link Reader}, depending on what
|
|
358
|
+
* parser was constructed with.
|
|
359
|
+
* Note that returned value may be null in some cases; including
|
|
360
|
+
* case where parser implementation does not want to exposed raw
|
|
361
|
+
* source to caller.
|
|
362
|
+
* In cases where input has been decorated, object returned here
|
|
363
|
+
* is the decorated version; this allows some level of interaction
|
|
364
|
+
* between users of parser and decorator object.
|
|
365
|
+
*<p>
|
|
366
|
+
* In general use of this accessor should be considered as
|
|
367
|
+
* "last effort", i.e. only used if no other mechanism is applicable.
|
|
368
|
+
*
|
|
369
|
+
* @since 1.8
|
|
370
|
+
*/
|
|
371
|
+
public Object getInputSource() {
|
|
372
|
+
return null;
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
/*
|
|
376
|
+
/**********************************************************
|
|
377
|
+
/* Closeable implementation
|
|
378
|
+
/**********************************************************
|
|
379
|
+
*/
|
|
380
|
+
|
|
381
|
+
/**
|
|
382
|
+
* Closes the parser so that no further iteration or data access
|
|
383
|
+
* can be made; will also close the underlying input source
|
|
384
|
+
* if parser either <b>owns</b> the input source, or feature
|
|
385
|
+
* {@link Feature#AUTO_CLOSE_SOURCE} is enabled.
|
|
386
|
+
* Whether parser owns the input source depends on factory
|
|
387
|
+
* method that was used to construct instance (so check
|
|
388
|
+
* {@link sh.calaba.org.codehaus.jackson.JsonFactory} for details,
|
|
389
|
+
* but the general
|
|
390
|
+
* idea is that if caller passes in closable resource (such
|
|
391
|
+
* as {@link InputStream} or {@link Reader}) parser does NOT
|
|
392
|
+
* own the source; but if it passes a reference (such as
|
|
393
|
+
* {@link java.io.File} or {@link java.net.URL} and creates
|
|
394
|
+
* stream or reader it does own them.
|
|
395
|
+
*/
|
|
396
|
+
@Override
|
|
397
|
+
public abstract void close() throws IOException;
|
|
398
|
+
|
|
399
|
+
/*
|
|
400
|
+
/**********************************************************
|
|
401
|
+
/* Buffer handling
|
|
402
|
+
/**********************************************************
|
|
403
|
+
*/
|
|
404
|
+
|
|
405
|
+
/**
|
|
406
|
+
* Method that can be called to push back any content that
|
|
407
|
+
* has been read but not consumed by the parser. This is usually
|
|
408
|
+
* done after reading all content of interest using parser.
|
|
409
|
+
* Content is released by writing it to given stream if possible;
|
|
410
|
+
* if underlying input is byte-based it can released, if not (char-based)
|
|
411
|
+
* it can not.
|
|
412
|
+
*
|
|
413
|
+
* @return -1 if the underlying content source is not byte based
|
|
414
|
+
* (that is, input can not be sent to {@link OutputStream};
|
|
415
|
+
* otherwise number of bytes released (0 if there was nothing to release)
|
|
416
|
+
*
|
|
417
|
+
* @throws IOException if write to stream threw exception
|
|
418
|
+
*
|
|
419
|
+
* @since 1.6
|
|
420
|
+
*/
|
|
421
|
+
public int releaseBuffered(OutputStream out) throws IOException
|
|
422
|
+
{
|
|
423
|
+
return -1;
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
/**
|
|
427
|
+
* Method that can be called to push back any content that
|
|
428
|
+
* has been read but not consumed by the parser.
|
|
429
|
+
* This is usually
|
|
430
|
+
* done after reading all content of interest using parser.
|
|
431
|
+
* Content is released by writing it to given writer if possible;
|
|
432
|
+
* if underlying input is char-based it can released, if not (byte-based)
|
|
433
|
+
* it can not.
|
|
434
|
+
*
|
|
435
|
+
* @return -1 if the underlying content source is not char-based
|
|
436
|
+
* (that is, input can not be sent to {@link Writer};
|
|
437
|
+
* otherwise number of chars released (0 if there was nothing to release)
|
|
438
|
+
*
|
|
439
|
+
* @throws IOException if write using Writer threw exception
|
|
440
|
+
*
|
|
441
|
+
* @since 1.6
|
|
442
|
+
*/
|
|
443
|
+
public int releaseBuffered(Writer w) throws IOException
|
|
444
|
+
{
|
|
445
|
+
return -1;
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
/*
|
|
449
|
+
/***************************************************
|
|
450
|
+
/* Public API, configuration
|
|
451
|
+
/***************************************************
|
|
452
|
+
*/
|
|
453
|
+
|
|
454
|
+
/**
|
|
455
|
+
* Method for enabling specified parser feature
|
|
456
|
+
* (check {@link Feature} for list of features)
|
|
457
|
+
*
|
|
458
|
+
* @since 1.2
|
|
459
|
+
*/
|
|
460
|
+
public JsonParser enable(Feature f)
|
|
461
|
+
{
|
|
462
|
+
_features |= f.getMask();
|
|
463
|
+
return this;
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
/**
|
|
467
|
+
* Method for disabling specified feature
|
|
468
|
+
* (check {@link Feature} for list of features)
|
|
469
|
+
*
|
|
470
|
+
* @since 1.2
|
|
471
|
+
*/
|
|
472
|
+
public JsonParser disable(Feature f)
|
|
473
|
+
{
|
|
474
|
+
_features &= ~f.getMask();
|
|
475
|
+
return this;
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
/**
|
|
479
|
+
* Method for enabling or disabling specified feature
|
|
480
|
+
* (check {@link Feature} for list of features)
|
|
481
|
+
*
|
|
482
|
+
* @since 1.2
|
|
483
|
+
*/
|
|
484
|
+
public JsonParser configure(Feature f, boolean state)
|
|
485
|
+
{
|
|
486
|
+
if (state) {
|
|
487
|
+
enableFeature(f);
|
|
488
|
+
} else {
|
|
489
|
+
disableFeature(f);
|
|
490
|
+
}
|
|
491
|
+
return this;
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
/**
|
|
495
|
+
* Method for checking whether specified {@link Feature}
|
|
496
|
+
* is enabled.
|
|
497
|
+
*
|
|
498
|
+
* @since 1.2
|
|
499
|
+
*/
|
|
500
|
+
public boolean isEnabled(Feature f) {
|
|
501
|
+
return (_features & f.getMask()) != 0;
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
/** @deprecated Use {@link #configure} instead
|
|
505
|
+
*/
|
|
506
|
+
@SuppressWarnings("dep-ann")
|
|
507
|
+
public void setFeature(Feature f, boolean state) { configure(f, state); }
|
|
508
|
+
|
|
509
|
+
/** @deprecated Use {@link #enable(Feature)} instead
|
|
510
|
+
*/
|
|
511
|
+
@SuppressWarnings("dep-ann")
|
|
512
|
+
public void enableFeature(Feature f) { enable(f); }
|
|
513
|
+
|
|
514
|
+
/** @deprecated Use {@link #disable(Feature)} instead
|
|
515
|
+
*/
|
|
516
|
+
@SuppressWarnings("dep-ann")
|
|
517
|
+
public void disableFeature(Feature f) { disable(f); }
|
|
518
|
+
|
|
519
|
+
/** @deprecated Use {@link #isEnabled(Feature)} instead
|
|
520
|
+
*/
|
|
521
|
+
@SuppressWarnings("dep-ann")
|
|
522
|
+
public final boolean isFeatureEnabled(Feature f) { return isEnabled(f); }
|
|
523
|
+
|
|
524
|
+
|
|
525
|
+
/*
|
|
526
|
+
/**********************************************************
|
|
527
|
+
/* Public API, traversal
|
|
528
|
+
/**********************************************************
|
|
529
|
+
*/
|
|
530
|
+
|
|
531
|
+
/**
|
|
532
|
+
* Main iteration method, which will advance stream enough
|
|
533
|
+
* to determine type of the next token, if any. If none
|
|
534
|
+
* remaining (stream has no content other than possible
|
|
535
|
+
* white space before ending), null will be returned.
|
|
536
|
+
*
|
|
537
|
+
* @return Next token from the stream, if any found, or null
|
|
538
|
+
* to indicate end-of-input
|
|
539
|
+
*/
|
|
540
|
+
public abstract JsonToken nextToken()
|
|
541
|
+
throws IOException, JsonParseException;
|
|
542
|
+
|
|
543
|
+
/**
|
|
544
|
+
* Iteration method that will advance stream enough
|
|
545
|
+
* to determine type of the next token that is a value type
|
|
546
|
+
* (including JSON Array and Object start/end markers).
|
|
547
|
+
* Or put another way, nextToken() will be called once,
|
|
548
|
+
* and if {@link JsonToken#FIELD_NAME} is returned, another
|
|
549
|
+
* time to get the value for the field.
|
|
550
|
+
* Method is most useful for iterating over value entries
|
|
551
|
+
* of JSON objects; field name will still be available
|
|
552
|
+
* by calling {@link #getCurrentName} when parser points to
|
|
553
|
+
* the value.
|
|
554
|
+
*
|
|
555
|
+
* @return Next non-field-name token from the stream, if any found,
|
|
556
|
+
* or null to indicate end-of-input (or, for non-blocking
|
|
557
|
+
* parsers, {@link JsonToken#NOT_AVAILABLE} if no tokens were
|
|
558
|
+
* available yet)
|
|
559
|
+
*/
|
|
560
|
+
public JsonToken nextValue()
|
|
561
|
+
throws IOException, JsonParseException
|
|
562
|
+
{
|
|
563
|
+
/* Implementation should be as trivial as follows; only
|
|
564
|
+
* needs to change if we are to skip other tokens (for
|
|
565
|
+
* example, if comments were exposed as tokens)
|
|
566
|
+
*/
|
|
567
|
+
JsonToken t = nextToken();
|
|
568
|
+
if (t == JsonToken.FIELD_NAME) {
|
|
569
|
+
t = nextToken();
|
|
570
|
+
}
|
|
571
|
+
return t;
|
|
572
|
+
}
|
|
573
|
+
|
|
574
|
+
/**
|
|
575
|
+
* Method that fetches next token (as if calling {@link #nextToken}) and
|
|
576
|
+
* verifies whether it is {@link JsonToken#FIELD_NAME} with specified name
|
|
577
|
+
* and returns result of that comparison.
|
|
578
|
+
* It is functionally equivalent to:
|
|
579
|
+
*<pre>
|
|
580
|
+
* return (nextToken() == JsonToken.FIELD_NAME) && str.getValue().equals(getCurrentName());
|
|
581
|
+
*</pre>
|
|
582
|
+
* but may be faster for parser to verify, and can therefore be used if caller
|
|
583
|
+
* expects to get such a property name from input next.
|
|
584
|
+
*
|
|
585
|
+
* @param str Property name to compare next token to (if next token is <code>JsonToken.FIELD_NAME<code>)
|
|
586
|
+
*
|
|
587
|
+
* @since 1.9
|
|
588
|
+
*/
|
|
589
|
+
public boolean nextFieldName(SerializableString str)
|
|
590
|
+
throws IOException, JsonParseException
|
|
591
|
+
{
|
|
592
|
+
return (nextToken() == JsonToken.FIELD_NAME) && str.getValue().equals(getCurrentName());
|
|
593
|
+
}
|
|
594
|
+
|
|
595
|
+
/**
|
|
596
|
+
* Method that fetches next token (as if calling {@link #nextToken}) and
|
|
597
|
+
* if it is {@link JsonToken#VALUE_STRING} returns contained String value;
|
|
598
|
+
* otherwise returns null.
|
|
599
|
+
* It is functionally equivalent to:
|
|
600
|
+
*<pre>
|
|
601
|
+
* return (nextToken() == JsonToken.VALUE_STRING) ? getText() : null;
|
|
602
|
+
*</pre>
|
|
603
|
+
* but may be faster for parser to process, and can therefore be used if caller
|
|
604
|
+
* expects to get a String value next from input.
|
|
605
|
+
*
|
|
606
|
+
* @since 1.9
|
|
607
|
+
*/
|
|
608
|
+
public String nextTextValue()
|
|
609
|
+
throws IOException, JsonParseException
|
|
610
|
+
{
|
|
611
|
+
return (nextToken() == JsonToken.VALUE_STRING) ? getText() : null;
|
|
612
|
+
}
|
|
613
|
+
|
|
614
|
+
/**
|
|
615
|
+
* Method that fetches next token (as if calling {@link #nextToken}) and
|
|
616
|
+
* if it is {@link JsonToken#VALUE_NUMBER_INT} returns 32-bit int value;
|
|
617
|
+
* otherwise returns specified default value
|
|
618
|
+
* It is functionally equivalent to:
|
|
619
|
+
*<pre>
|
|
620
|
+
* return (nextToken() == JsonToken.VALUE_NUMBER_INT) ? getIntValue() : defaultValue;
|
|
621
|
+
*</pre>
|
|
622
|
+
* but may be faster for parser to process, and can therefore be used if caller
|
|
623
|
+
* expects to get a String value next from input.
|
|
624
|
+
*
|
|
625
|
+
* @since 1.9
|
|
626
|
+
*/
|
|
627
|
+
public int nextIntValue(int defaultValue)
|
|
628
|
+
throws IOException, JsonParseException
|
|
629
|
+
{
|
|
630
|
+
return (nextToken() == JsonToken.VALUE_NUMBER_INT) ? getIntValue() : defaultValue;
|
|
631
|
+
}
|
|
632
|
+
|
|
633
|
+
/**
|
|
634
|
+
* Method that fetches next token (as if calling {@link #nextToken}) and
|
|
635
|
+
* if it is {@link JsonToken#VALUE_NUMBER_INT} returns 64-bit long value;
|
|
636
|
+
* otherwise returns specified default value
|
|
637
|
+
* It is functionally equivalent to:
|
|
638
|
+
*<pre>
|
|
639
|
+
* return (nextToken() == JsonToken.VALUE_NUMBER_INT) ? getLongValue() : defaultValue;
|
|
640
|
+
*</pre>
|
|
641
|
+
* but may be faster for parser to process, and can therefore be used if caller
|
|
642
|
+
* expects to get a String value next from input.
|
|
643
|
+
*
|
|
644
|
+
* @since 1.9
|
|
645
|
+
*/
|
|
646
|
+
public long nextLongValue(long defaultValue)
|
|
647
|
+
throws IOException, JsonParseException
|
|
648
|
+
{
|
|
649
|
+
return (nextToken() == JsonToken.VALUE_NUMBER_INT) ? getLongValue() : defaultValue;
|
|
650
|
+
}
|
|
651
|
+
|
|
652
|
+
/**
|
|
653
|
+
* Method that fetches next token (as if calling {@link #nextToken}) and
|
|
654
|
+
* if it is {@link JsonToken#VALUE_TRUE} or {@link JsonToken#VALUE_FALSE}
|
|
655
|
+
* returns matching Boolean value; otherwise return null.
|
|
656
|
+
* It is functionally equivalent to:
|
|
657
|
+
*<pre>
|
|
658
|
+
* JsonToken t = nextToken();
|
|
659
|
+
* if (t == JsonToken.VALUE_TRUE) return Boolean.TRUE;
|
|
660
|
+
* if (t == JsonToken.VALUE_FALSE) return Boolean.FALSE;
|
|
661
|
+
* return null;
|
|
662
|
+
*</pre>
|
|
663
|
+
* but may be faster for parser to process, and can therefore be used if caller
|
|
664
|
+
* expects to get a String value next from input.
|
|
665
|
+
*
|
|
666
|
+
* @since 1.9
|
|
667
|
+
*/
|
|
668
|
+
public Boolean nextBooleanValue()
|
|
669
|
+
throws IOException, JsonParseException
|
|
670
|
+
{
|
|
671
|
+
switch (nextToken()) {
|
|
672
|
+
case VALUE_TRUE:
|
|
673
|
+
return Boolean.TRUE;
|
|
674
|
+
case VALUE_FALSE:
|
|
675
|
+
return Boolean.FALSE;
|
|
676
|
+
}
|
|
677
|
+
return null;
|
|
678
|
+
}
|
|
679
|
+
|
|
680
|
+
/**
|
|
681
|
+
* Method that will skip all child tokens of an array or
|
|
682
|
+
* object token that the parser currently points to,
|
|
683
|
+
* iff stream points to
|
|
684
|
+
* {@link JsonToken#START_OBJECT} or {@link JsonToken#START_ARRAY}.
|
|
685
|
+
* If not, it will do nothing.
|
|
686
|
+
* After skipping, stream will point to <b>matching</b>
|
|
687
|
+
* {@link JsonToken#END_OBJECT} or {@link JsonToken#END_ARRAY}
|
|
688
|
+
* (possibly skipping nested pairs of START/END OBJECT/ARRAY tokens
|
|
689
|
+
* as well as value tokens).
|
|
690
|
+
* The idea is that after calling this method, application
|
|
691
|
+
* will call {@link #nextToken} to point to the next
|
|
692
|
+
* available token, if any.
|
|
693
|
+
*/
|
|
694
|
+
public abstract JsonParser skipChildren()
|
|
695
|
+
throws IOException, JsonParseException;
|
|
696
|
+
|
|
697
|
+
/**
|
|
698
|
+
* Method that can be called to determine whether this parser
|
|
699
|
+
* is closed or not. If it is closed, no new tokens can be
|
|
700
|
+
* retrieved by calling {@link #nextToken} (and the underlying
|
|
701
|
+
* stream may be closed). Closing may be due to an explicit
|
|
702
|
+
* call to {@link #close} or because parser has encountered
|
|
703
|
+
* end of input.
|
|
704
|
+
*/
|
|
705
|
+
public abstract boolean isClosed();
|
|
706
|
+
|
|
707
|
+
/*
|
|
708
|
+
/**********************************************************
|
|
709
|
+
/* Public API, token accessors
|
|
710
|
+
/**********************************************************
|
|
711
|
+
*/
|
|
712
|
+
|
|
713
|
+
/**
|
|
714
|
+
* Accessor to find which token parser currently points to, if any;
|
|
715
|
+
* null will be returned if none.
|
|
716
|
+
* If return value is non-null, data associated with the token
|
|
717
|
+
* is available via other accessor methods.
|
|
718
|
+
*
|
|
719
|
+
* @return Type of the token this parser currently points to,
|
|
720
|
+
* if any: null before any tokens have been read, and
|
|
721
|
+
* after end-of-input has been encountered, as well as
|
|
722
|
+
* if the current token has been explicitly cleared.
|
|
723
|
+
*/
|
|
724
|
+
public JsonToken getCurrentToken() {
|
|
725
|
+
return _currToken;
|
|
726
|
+
}
|
|
727
|
+
|
|
728
|
+
/**
|
|
729
|
+
* Method for checking whether parser currently points to
|
|
730
|
+
* a token (and data for that token is available).
|
|
731
|
+
* Equivalent to check for <code>parser.getCurrentToken() != null</code>.
|
|
732
|
+
*
|
|
733
|
+
* @return True if the parser just returned a valid
|
|
734
|
+
* token via {@link #nextToken}; false otherwise (parser
|
|
735
|
+
* was just constructed, encountered end-of-input
|
|
736
|
+
* and returned null from {@link #nextToken}, or the token
|
|
737
|
+
* has been consumed)
|
|
738
|
+
*/
|
|
739
|
+
public boolean hasCurrentToken() {
|
|
740
|
+
return _currToken != null;
|
|
741
|
+
}
|
|
742
|
+
|
|
743
|
+
|
|
744
|
+
/**
|
|
745
|
+
* Method called to "consume" the current token by effectively
|
|
746
|
+
* removing it so that {@link #hasCurrentToken} returns false, and
|
|
747
|
+
* {@link #getCurrentToken} null).
|
|
748
|
+
* Cleared token value can still be accessed by calling
|
|
749
|
+
* {@link #getLastClearedToken} (if absolutely needed), but
|
|
750
|
+
* usually isn't.
|
|
751
|
+
*<p>
|
|
752
|
+
* Method was added to be used by the optional data binder, since
|
|
753
|
+
* it has to be able to consume last token used for binding (so that
|
|
754
|
+
* it will not be used again).
|
|
755
|
+
*/
|
|
756
|
+
public void clearCurrentToken() {
|
|
757
|
+
if (_currToken != null) {
|
|
758
|
+
_lastClearedToken = _currToken;
|
|
759
|
+
_currToken = null;
|
|
760
|
+
}
|
|
761
|
+
}
|
|
762
|
+
|
|
763
|
+
/**
|
|
764
|
+
* Method that can be called to get the name associated with
|
|
765
|
+
* the current token: for {@link JsonToken#FIELD_NAME}s it will
|
|
766
|
+
* be the same as what {@link #getText} returns;
|
|
767
|
+
* for field values it will be preceding field name;
|
|
768
|
+
* and for others (array values, root-level values) null.
|
|
769
|
+
*/
|
|
770
|
+
public abstract String getCurrentName()
|
|
771
|
+
throws IOException, JsonParseException;
|
|
772
|
+
|
|
773
|
+
/**
|
|
774
|
+
* Method that can be used to access current parsing context reader
|
|
775
|
+
* is in. There are 3 different types: root, array and object contexts,
|
|
776
|
+
* with slightly different available information. Contexts are
|
|
777
|
+
* hierarchically nested, and can be used for example for figuring
|
|
778
|
+
* out part of the input document that correspond to specific
|
|
779
|
+
* array or object (for highlighting purposes, or error reporting).
|
|
780
|
+
* Contexts can also be used for simple xpath-like matching of
|
|
781
|
+
* input, if so desired.
|
|
782
|
+
*/
|
|
783
|
+
public abstract JsonStreamContext getParsingContext();
|
|
784
|
+
|
|
785
|
+
/**
|
|
786
|
+
* Method that return the <b>starting</b> location of the current
|
|
787
|
+
* token; that is, position of the first character from input
|
|
788
|
+
* that starts the current token.
|
|
789
|
+
*/
|
|
790
|
+
public abstract JsonLocation getTokenLocation();
|
|
791
|
+
|
|
792
|
+
/**
|
|
793
|
+
* Method that returns location of the last processed character;
|
|
794
|
+
* usually for error reporting purposes.
|
|
795
|
+
*/
|
|
796
|
+
public abstract JsonLocation getCurrentLocation();
|
|
797
|
+
|
|
798
|
+
/**
|
|
799
|
+
* Method that can be called to get the last token that was
|
|
800
|
+
* cleared using {@link #clearCurrentToken}. This is not necessarily
|
|
801
|
+
* the latest token read.
|
|
802
|
+
* Will return null if no tokens have been cleared,
|
|
803
|
+
* or if parser has been closed.
|
|
804
|
+
*/
|
|
805
|
+
public JsonToken getLastClearedToken() {
|
|
806
|
+
return _lastClearedToken;
|
|
807
|
+
}
|
|
808
|
+
|
|
809
|
+
/**
|
|
810
|
+
* Specialized accessor that can be used to verify that the current
|
|
811
|
+
* token indicates start array (usually meaning that current token
|
|
812
|
+
* is {@link JsonToken#START_ARRAY}) when start array is expected.
|
|
813
|
+
* For some specialized parsers this can return true for other cases
|
|
814
|
+
* as well; this is usually done to emulate arrays.
|
|
815
|
+
*<p>
|
|
816
|
+
* Default implementation is equivalent to:
|
|
817
|
+
*<pre>
|
|
818
|
+
* getCurrentToken() == JsonToken.START_ARRAY
|
|
819
|
+
*</pre>
|
|
820
|
+
* but may be overridden by custom parser implementations.
|
|
821
|
+
*
|
|
822
|
+
* @return True if the current token can be considered as a
|
|
823
|
+
* start-array marker (such {@link JsonToken#START_ARRAY});
|
|
824
|
+
* false if not.
|
|
825
|
+
*
|
|
826
|
+
* @since 1.7
|
|
827
|
+
*/
|
|
828
|
+
public boolean isExpectedStartArrayToken() {
|
|
829
|
+
return getCurrentToken() == JsonToken.START_ARRAY;
|
|
830
|
+
}
|
|
831
|
+
|
|
832
|
+
/*
|
|
833
|
+
/**********************************************************
|
|
834
|
+
/* Public API, access to token information, text
|
|
835
|
+
/**********************************************************
|
|
836
|
+
*/
|
|
837
|
+
|
|
838
|
+
/**
|
|
839
|
+
* Method for accessing textual representation of the current token;
|
|
840
|
+
* if no current token (before first call to {@link #nextToken}, or
|
|
841
|
+
* after encountering end-of-input), returns null.
|
|
842
|
+
* Method can be called for any token type.
|
|
843
|
+
*/
|
|
844
|
+
public abstract String getText()
|
|
845
|
+
throws IOException, JsonParseException;
|
|
846
|
+
|
|
847
|
+
/**
|
|
848
|
+
* Method similar to {@link #getText}, but that will return
|
|
849
|
+
* underlying (unmodifiable) character array that contains
|
|
850
|
+
* textual value, instead of constructing a String object
|
|
851
|
+
* to contain this information.
|
|
852
|
+
* Note, however, that:
|
|
853
|
+
*<ul>
|
|
854
|
+
* <li>Textual contents are not guaranteed to start at
|
|
855
|
+
* index 0 (rather, call {@link #getTextOffset}) to
|
|
856
|
+
* know the actual offset
|
|
857
|
+
* </li>
|
|
858
|
+
* <li>Length of textual contents may be less than the
|
|
859
|
+
* length of returned buffer: call {@link #getTextLength}
|
|
860
|
+
* for actual length of returned content.
|
|
861
|
+
* </li>
|
|
862
|
+
* </ul>
|
|
863
|
+
*<p>
|
|
864
|
+
* Note that caller <b>MUST NOT</b> modify the returned
|
|
865
|
+
* character array in any way -- doing so may corrupt
|
|
866
|
+
* current parser state and render parser instance useless.
|
|
867
|
+
*<p>
|
|
868
|
+
* The only reason to call this method (over {@link #getText})
|
|
869
|
+
* is to avoid construction of a String object (which
|
|
870
|
+
* will make a copy of contents).
|
|
871
|
+
*/
|
|
872
|
+
public abstract char[] getTextCharacters()
|
|
873
|
+
throws IOException, JsonParseException;
|
|
874
|
+
|
|
875
|
+
/**
|
|
876
|
+
* Accessor used with {@link #getTextCharacters}, to know length
|
|
877
|
+
* of String stored in returned buffer.
|
|
878
|
+
*
|
|
879
|
+
* @return Number of characters within buffer returned
|
|
880
|
+
* by {@link #getTextCharacters} that are part of
|
|
881
|
+
* textual content of the current token.
|
|
882
|
+
*/
|
|
883
|
+
public abstract int getTextLength()
|
|
884
|
+
throws IOException, JsonParseException;
|
|
885
|
+
|
|
886
|
+
/**
|
|
887
|
+
* Accessor used with {@link #getTextCharacters}, to know offset
|
|
888
|
+
* of the first text content character within buffer.
|
|
889
|
+
*
|
|
890
|
+
* @return Offset of the first character within buffer returned
|
|
891
|
+
* by {@link #getTextCharacters} that is part of
|
|
892
|
+
* textual content of the current token.
|
|
893
|
+
*/
|
|
894
|
+
public abstract int getTextOffset()
|
|
895
|
+
throws IOException, JsonParseException;
|
|
896
|
+
|
|
897
|
+
/**
|
|
898
|
+
* Method that can be used to determine whether calling of
|
|
899
|
+
* {@link #getTextCharacters} would be the most efficient
|
|
900
|
+
* way to access textual content for the event parser currently
|
|
901
|
+
* points to.
|
|
902
|
+
*<p>
|
|
903
|
+
* Default implementation simply returns false since only actual
|
|
904
|
+
* implementation class has knowledge of its internal buffering
|
|
905
|
+
* state.
|
|
906
|
+
* Implementations are strongly encouraged to properly override
|
|
907
|
+
* this method, to allow efficient copying of content by other
|
|
908
|
+
* code.
|
|
909
|
+
*
|
|
910
|
+
* @return True if parser currently has character array that can
|
|
911
|
+
* be efficiently returned via {@link #getTextCharacters}; false
|
|
912
|
+
* means that it may or may not exist
|
|
913
|
+
*
|
|
914
|
+
* @since 1.6
|
|
915
|
+
*/
|
|
916
|
+
public boolean hasTextCharacters() {
|
|
917
|
+
return false;
|
|
918
|
+
}
|
|
919
|
+
|
|
920
|
+
/*
|
|
921
|
+
/**********************************************************
|
|
922
|
+
/* Public API, access to token information, numeric
|
|
923
|
+
/**********************************************************
|
|
924
|
+
*/
|
|
925
|
+
|
|
926
|
+
/**
|
|
927
|
+
* Generic number value accessor method that will work for
|
|
928
|
+
* all kinds of numeric values. It will return the optimal
|
|
929
|
+
* (simplest/smallest possible) wrapper object that can
|
|
930
|
+
* express the numeric value just parsed.
|
|
931
|
+
*/
|
|
932
|
+
public abstract Number getNumberValue()
|
|
933
|
+
throws IOException, JsonParseException;
|
|
934
|
+
|
|
935
|
+
/**
|
|
936
|
+
* If current token is of type
|
|
937
|
+
* {@link JsonToken#VALUE_NUMBER_INT} or
|
|
938
|
+
* {@link JsonToken#VALUE_NUMBER_FLOAT}, returns
|
|
939
|
+
* one of {@link NumberType} constants; otherwise returns null.
|
|
940
|
+
*/
|
|
941
|
+
public abstract NumberType getNumberType()
|
|
942
|
+
throws IOException, JsonParseException;
|
|
943
|
+
|
|
944
|
+
/**
|
|
945
|
+
* Numeric accessor that can be called when the current
|
|
946
|
+
* token is of type {@link JsonToken#VALUE_NUMBER_INT} and
|
|
947
|
+
* it can be expressed as a value of Java byte primitive type.
|
|
948
|
+
* It can also be called for {@link JsonToken#VALUE_NUMBER_FLOAT};
|
|
949
|
+
* if so, it is equivalent to calling {@link #getDoubleValue}
|
|
950
|
+
* and then casting; except for possible overflow/underflow
|
|
951
|
+
* exception.
|
|
952
|
+
*<p>
|
|
953
|
+
* Note: if the resulting integer value falls outside range of
|
|
954
|
+
* Java byte, a {@link JsonParseException}
|
|
955
|
+
* will be thrown to indicate numeric overflow/underflow.
|
|
956
|
+
*/
|
|
957
|
+
public byte getByteValue()
|
|
958
|
+
throws IOException, JsonParseException
|
|
959
|
+
{
|
|
960
|
+
int value = getIntValue();
|
|
961
|
+
// So far so good: but does it fit?
|
|
962
|
+
if (value < MIN_BYTE_I || value > MAX_BYTE_I) {
|
|
963
|
+
throw _constructError("Numeric value ("+getText()+") out of range of Java byte");
|
|
964
|
+
}
|
|
965
|
+
return (byte) value;
|
|
966
|
+
}
|
|
967
|
+
|
|
968
|
+
/**
|
|
969
|
+
* Numeric accessor that can be called when the current
|
|
970
|
+
* token is of type {@link JsonToken#VALUE_NUMBER_INT} and
|
|
971
|
+
* it can be expressed as a value of Java short primitive type.
|
|
972
|
+
* It can also be called for {@link JsonToken#VALUE_NUMBER_FLOAT};
|
|
973
|
+
* if so, it is equivalent to calling {@link #getDoubleValue}
|
|
974
|
+
* and then casting; except for possible overflow/underflow
|
|
975
|
+
* exception.
|
|
976
|
+
*<p>
|
|
977
|
+
* Note: if the resulting integer value falls outside range of
|
|
978
|
+
* Java short, a {@link JsonParseException}
|
|
979
|
+
* will be thrown to indicate numeric overflow/underflow.
|
|
980
|
+
*/
|
|
981
|
+
public short getShortValue()
|
|
982
|
+
throws IOException, JsonParseException
|
|
983
|
+
{
|
|
984
|
+
int value = getIntValue();
|
|
985
|
+
if (value < MIN_SHORT_I || value > MAX_SHORT_I) {
|
|
986
|
+
throw _constructError("Numeric value ("+getText()+") out of range of Java short");
|
|
987
|
+
}
|
|
988
|
+
return (short) value;
|
|
989
|
+
}
|
|
990
|
+
|
|
991
|
+
/**
|
|
992
|
+
* Numeric accessor that can be called when the current
|
|
993
|
+
* token is of type {@link JsonToken#VALUE_NUMBER_INT} and
|
|
994
|
+
* it can be expressed as a value of Java int primitive type.
|
|
995
|
+
* It can also be called for {@link JsonToken#VALUE_NUMBER_FLOAT};
|
|
996
|
+
* if so, it is equivalent to calling {@link #getDoubleValue}
|
|
997
|
+
* and then casting; except for possible overflow/underflow
|
|
998
|
+
* exception.
|
|
999
|
+
*<p>
|
|
1000
|
+
* Note: if the resulting integer value falls outside range of
|
|
1001
|
+
* Java int, a {@link JsonParseException}
|
|
1002
|
+
* may be thrown to indicate numeric overflow/underflow.
|
|
1003
|
+
*/
|
|
1004
|
+
public abstract int getIntValue()
|
|
1005
|
+
throws IOException, JsonParseException;
|
|
1006
|
+
|
|
1007
|
+
/**
|
|
1008
|
+
* Numeric accessor that can be called when the current
|
|
1009
|
+
* token is of type {@link JsonToken#VALUE_NUMBER_INT} and
|
|
1010
|
+
* it can be expressed as a Java long primitive type.
|
|
1011
|
+
* It can also be called for {@link JsonToken#VALUE_NUMBER_FLOAT};
|
|
1012
|
+
* if so, it is equivalent to calling {@link #getDoubleValue}
|
|
1013
|
+
* and then casting to int; except for possible overflow/underflow
|
|
1014
|
+
* exception.
|
|
1015
|
+
*<p>
|
|
1016
|
+
* Note: if the token is an integer, but its value falls
|
|
1017
|
+
* outside of range of Java long, a {@link JsonParseException}
|
|
1018
|
+
* may be thrown to indicate numeric overflow/underflow.
|
|
1019
|
+
*/
|
|
1020
|
+
public abstract long getLongValue()
|
|
1021
|
+
throws IOException, JsonParseException;
|
|
1022
|
+
|
|
1023
|
+
/**
|
|
1024
|
+
* Numeric accessor that can be called when the current
|
|
1025
|
+
* token is of type {@link JsonToken#VALUE_NUMBER_INT} and
|
|
1026
|
+
* it can not be used as a Java long primitive type due to its
|
|
1027
|
+
* magnitude.
|
|
1028
|
+
* It can also be called for {@link JsonToken#VALUE_NUMBER_FLOAT};
|
|
1029
|
+
* if so, it is equivalent to calling {@link #getDecimalValue}
|
|
1030
|
+
* and then constructing a {@link BigInteger} from that value.
|
|
1031
|
+
*/
|
|
1032
|
+
public abstract BigInteger getBigIntegerValue()
|
|
1033
|
+
throws IOException, JsonParseException;
|
|
1034
|
+
|
|
1035
|
+
/**
|
|
1036
|
+
* Numeric accessor that can be called when the current
|
|
1037
|
+
* token is of type {@link JsonToken#VALUE_NUMBER_FLOAT} and
|
|
1038
|
+
* it can be expressed as a Java float primitive type.
|
|
1039
|
+
* It can also be called for {@link JsonToken#VALUE_NUMBER_INT};
|
|
1040
|
+
* if so, it is equivalent to calling {@link #getLongValue}
|
|
1041
|
+
* and then casting; except for possible overflow/underflow
|
|
1042
|
+
* exception.
|
|
1043
|
+
*<p>
|
|
1044
|
+
* Note: if the value falls
|
|
1045
|
+
* outside of range of Java float, a {@link JsonParseException}
|
|
1046
|
+
* will be thrown to indicate numeric overflow/underflow.
|
|
1047
|
+
*/
|
|
1048
|
+
public abstract float getFloatValue()
|
|
1049
|
+
throws IOException, JsonParseException;
|
|
1050
|
+
|
|
1051
|
+
/**
|
|
1052
|
+
* Numeric accessor that can be called when the current
|
|
1053
|
+
* token is of type {@link JsonToken#VALUE_NUMBER_FLOAT} and
|
|
1054
|
+
* it can be expressed as a Java double primitive type.
|
|
1055
|
+
* It can also be called for {@link JsonToken#VALUE_NUMBER_INT};
|
|
1056
|
+
* if so, it is equivalent to calling {@link #getLongValue}
|
|
1057
|
+
* and then casting; except for possible overflow/underflow
|
|
1058
|
+
* exception.
|
|
1059
|
+
*<p>
|
|
1060
|
+
* Note: if the value falls
|
|
1061
|
+
* outside of range of Java double, a {@link JsonParseException}
|
|
1062
|
+
* will be thrown to indicate numeric overflow/underflow.
|
|
1063
|
+
*/
|
|
1064
|
+
public abstract double getDoubleValue()
|
|
1065
|
+
throws IOException, JsonParseException;
|
|
1066
|
+
|
|
1067
|
+
/**
|
|
1068
|
+
* Numeric accessor that can be called when the current
|
|
1069
|
+
* token is of type {@link JsonToken#VALUE_NUMBER_FLOAT} or
|
|
1070
|
+
* {@link JsonToken#VALUE_NUMBER_INT}. No under/overflow exceptions
|
|
1071
|
+
* are ever thrown.
|
|
1072
|
+
*/
|
|
1073
|
+
public abstract BigDecimal getDecimalValue()
|
|
1074
|
+
throws IOException, JsonParseException;
|
|
1075
|
+
|
|
1076
|
+
/*
|
|
1077
|
+
/**********************************************************
|
|
1078
|
+
/* Public API, access to token information, other
|
|
1079
|
+
/**********************************************************
|
|
1080
|
+
*/
|
|
1081
|
+
|
|
1082
|
+
/**
|
|
1083
|
+
* Convenience accessor that can be called when the current
|
|
1084
|
+
* token is {@link JsonToken#VALUE_TRUE} or
|
|
1085
|
+
* {@link JsonToken#VALUE_FALSE}.
|
|
1086
|
+
*<p>
|
|
1087
|
+
* Note: if the token is not of above-mentioned boolean types,
|
|
1088
|
+
an integer, but its value falls
|
|
1089
|
+
* outside of range of Java long, a {@link JsonParseException}
|
|
1090
|
+
* may be thrown to indicate numeric overflow/underflow.
|
|
1091
|
+
*
|
|
1092
|
+
* @since 1.3
|
|
1093
|
+
*/
|
|
1094
|
+
public boolean getBooleanValue()
|
|
1095
|
+
throws IOException, JsonParseException
|
|
1096
|
+
{
|
|
1097
|
+
if (getCurrentToken() == JsonToken.VALUE_TRUE) return true;
|
|
1098
|
+
if (getCurrentToken() == JsonToken.VALUE_FALSE) return false;
|
|
1099
|
+
throw new JsonParseException("Current token ("+_currToken+") not of boolean type", getCurrentLocation());
|
|
1100
|
+
}
|
|
1101
|
+
|
|
1102
|
+
/**
|
|
1103
|
+
* Accessor that can be called if (and only if) the current token
|
|
1104
|
+
* is {@link JsonToken#VALUE_EMBEDDED_OBJECT}. For other token types,
|
|
1105
|
+
* null is returned.
|
|
1106
|
+
*<p>
|
|
1107
|
+
* Note: only some specialized parser implementations support
|
|
1108
|
+
* embedding of objects (usually ones that are facades on top
|
|
1109
|
+
* of non-streaming sources, such as object trees).
|
|
1110
|
+
*
|
|
1111
|
+
* @since 1.3
|
|
1112
|
+
*/
|
|
1113
|
+
public Object getEmbeddedObject()
|
|
1114
|
+
throws IOException, JsonParseException
|
|
1115
|
+
{
|
|
1116
|
+
// By default we will always return null
|
|
1117
|
+
return null;
|
|
1118
|
+
}
|
|
1119
|
+
|
|
1120
|
+
/*
|
|
1121
|
+
/**********************************************************
|
|
1122
|
+
/* Public API, access to token information, binary
|
|
1123
|
+
/**********************************************************
|
|
1124
|
+
*/
|
|
1125
|
+
|
|
1126
|
+
/**
|
|
1127
|
+
* Method that can be used to read (and consume -- results
|
|
1128
|
+
* may not be accessible using other methods after the call)
|
|
1129
|
+
* base64-encoded binary data
|
|
1130
|
+
* included in the current textual JSON value.
|
|
1131
|
+
* It works similar to getting String value via {@link #getText}
|
|
1132
|
+
* and decoding result (except for decoding part),
|
|
1133
|
+
* but should be significantly more performant.
|
|
1134
|
+
*<p>
|
|
1135
|
+
* Note that non-decoded textual contents of the current token
|
|
1136
|
+
* are not guaranteed to be accessible after this method
|
|
1137
|
+
* is called. Current implementation, for example, clears up
|
|
1138
|
+
* textual content during decoding.
|
|
1139
|
+
* Decoded binary content, however, will be retained until
|
|
1140
|
+
* parser is advanced to the next event.
|
|
1141
|
+
*
|
|
1142
|
+
* @param b64variant Expected variant of base64 encoded
|
|
1143
|
+
* content (see {@link Base64Variants} for definitions
|
|
1144
|
+
* of "standard" variants).
|
|
1145
|
+
*
|
|
1146
|
+
* @return Decoded binary data
|
|
1147
|
+
*/
|
|
1148
|
+
public abstract byte[] getBinaryValue(Base64Variant b64variant) throws IOException, JsonParseException;
|
|
1149
|
+
|
|
1150
|
+
/**
|
|
1151
|
+
* Convenience alternative to {@link #getBinaryValue(Base64Variant)}
|
|
1152
|
+
* that defaults to using
|
|
1153
|
+
* {@link Base64Variants#getDefaultVariant} as the default encoding.
|
|
1154
|
+
*/
|
|
1155
|
+
public byte[] getBinaryValue() throws IOException, JsonParseException
|
|
1156
|
+
{
|
|
1157
|
+
return getBinaryValue(Base64Variants.getDefaultVariant());
|
|
1158
|
+
}
|
|
1159
|
+
|
|
1160
|
+
/*
|
|
1161
|
+
/**********************************************************
|
|
1162
|
+
/* Public API, access to token information, coercion/conversion
|
|
1163
|
+
/**********************************************************
|
|
1164
|
+
*/
|
|
1165
|
+
|
|
1166
|
+
/**
|
|
1167
|
+
* Method that will try to convert value of current token to a
|
|
1168
|
+
* <b>int</b>.
|
|
1169
|
+
* Numbers are coerced using default Java rules; booleans convert to 0 (false)
|
|
1170
|
+
* and 1 (true), and Strings are parsed using default Java language integer
|
|
1171
|
+
* parsing rules.
|
|
1172
|
+
*<p>
|
|
1173
|
+
* If representation can not be converted to an int (including structured type
|
|
1174
|
+
* markers like start/end Object/Array)
|
|
1175
|
+
* default value of <b>0</b> will be returned; no exceptions are thrown.
|
|
1176
|
+
*
|
|
1177
|
+
* @since 1.6
|
|
1178
|
+
*/
|
|
1179
|
+
public int getValueAsInt() throws IOException, JsonParseException {
|
|
1180
|
+
return getValueAsInt(0);
|
|
1181
|
+
}
|
|
1182
|
+
|
|
1183
|
+
/**
|
|
1184
|
+
* Method that will try to convert value of current token to a
|
|
1185
|
+
* <b>int</b>.
|
|
1186
|
+
* Numbers are coerced using default Java rules; booleans convert to 0 (false)
|
|
1187
|
+
* and 1 (true), and Strings are parsed using default Java language integer
|
|
1188
|
+
* parsing rules.
|
|
1189
|
+
*<p>
|
|
1190
|
+
* If representation can not be converted to an int (including structured type
|
|
1191
|
+
* markers like start/end Object/Array)
|
|
1192
|
+
* specified <b>defaultValue</b> will be returned; no exceptions are thrown.
|
|
1193
|
+
*
|
|
1194
|
+
* @since 1.6
|
|
1195
|
+
*/
|
|
1196
|
+
public int getValueAsInt(int defaultValue) throws IOException, JsonParseException {
|
|
1197
|
+
return defaultValue;
|
|
1198
|
+
}
|
|
1199
|
+
|
|
1200
|
+
/**
|
|
1201
|
+
* Method that will try to convert value of current token to a
|
|
1202
|
+
* <b>long</b>.
|
|
1203
|
+
* Numbers are coerced using default Java rules; booleans convert to 0 (false)
|
|
1204
|
+
* and 1 (true), and Strings are parsed using default Java language integer
|
|
1205
|
+
* parsing rules.
|
|
1206
|
+
*<p>
|
|
1207
|
+
* If representation can not be converted to an int (including structured type
|
|
1208
|
+
* markers like start/end Object/Array)
|
|
1209
|
+
* default value of <b>0</b> will be returned; no exceptions are thrown.
|
|
1210
|
+
*
|
|
1211
|
+
* @since 1.6
|
|
1212
|
+
*/
|
|
1213
|
+
public long getValueAsLong() throws IOException, JsonParseException {
|
|
1214
|
+
return getValueAsInt(0);
|
|
1215
|
+
}
|
|
1216
|
+
|
|
1217
|
+
/**
|
|
1218
|
+
* Method that will try to convert value of current token to a
|
|
1219
|
+
* <b>long</b>.
|
|
1220
|
+
* Numbers are coerced using default Java rules; booleans convert to 0 (false)
|
|
1221
|
+
* and 1 (true), and Strings are parsed using default Java language integer
|
|
1222
|
+
* parsing rules.
|
|
1223
|
+
*<p>
|
|
1224
|
+
* If representation can not be converted to an int (including structured type
|
|
1225
|
+
* markers like start/end Object/Array)
|
|
1226
|
+
* specified <b>defaultValue</b> will be returned; no exceptions are thrown.
|
|
1227
|
+
*
|
|
1228
|
+
* @since 1.6
|
|
1229
|
+
*/
|
|
1230
|
+
public long getValueAsLong(long defaultValue) throws IOException, JsonParseException {
|
|
1231
|
+
return defaultValue;
|
|
1232
|
+
}
|
|
1233
|
+
|
|
1234
|
+
/**
|
|
1235
|
+
* Method that will try to convert value of current token to a Java
|
|
1236
|
+
* <b>double</b>.
|
|
1237
|
+
* Numbers are coerced using default Java rules; booleans convert to 0.0 (false)
|
|
1238
|
+
* and 1.0 (true), and Strings are parsed using default Java language integer
|
|
1239
|
+
* parsing rules.
|
|
1240
|
+
*<p>
|
|
1241
|
+
* If representation can not be converted to an int (including structured types
|
|
1242
|
+
* like Objects and Arrays),
|
|
1243
|
+
* default value of <b>0.0</b> will be returned; no exceptions are thrown.
|
|
1244
|
+
*
|
|
1245
|
+
* @since 1.6
|
|
1246
|
+
*/
|
|
1247
|
+
public double getValueAsDouble() throws IOException, JsonParseException {
|
|
1248
|
+
return getValueAsDouble(0.0);
|
|
1249
|
+
}
|
|
1250
|
+
|
|
1251
|
+
/**
|
|
1252
|
+
* Method that will try to convert value of current token to a
|
|
1253
|
+
* Java <b>double</b>.
|
|
1254
|
+
* Numbers are coerced using default Java rules; booleans convert to 0.0 (false)
|
|
1255
|
+
* and 1.0 (true), and Strings are parsed using default Java language integer
|
|
1256
|
+
* parsing rules.
|
|
1257
|
+
*<p>
|
|
1258
|
+
* If representation can not be converted to an int (including structured types
|
|
1259
|
+
* like Objects and Arrays),
|
|
1260
|
+
* specified <b>defaultValue</b> will be returned; no exceptions are thrown.
|
|
1261
|
+
*
|
|
1262
|
+
* @since 1.6
|
|
1263
|
+
*/
|
|
1264
|
+
public double getValueAsDouble(double defaultValue) throws IOException, JsonParseException {
|
|
1265
|
+
return defaultValue;
|
|
1266
|
+
}
|
|
1267
|
+
|
|
1268
|
+
/**
|
|
1269
|
+
* Method that will try to convert value of current token to a
|
|
1270
|
+
* <b>boolean</b>.
|
|
1271
|
+
* JSON booleans map naturally; integer numbers other than 0 map to true, and
|
|
1272
|
+
* 0 maps to false
|
|
1273
|
+
* and Strings 'true' and 'false' map to corresponding values.
|
|
1274
|
+
*<p>
|
|
1275
|
+
* If representation can not be converted to a boolean value (including structured types
|
|
1276
|
+
* like Objects and Arrays),
|
|
1277
|
+
* default value of <b>false</b> will be returned; no exceptions are thrown.
|
|
1278
|
+
*
|
|
1279
|
+
* @since 1.7
|
|
1280
|
+
*/
|
|
1281
|
+
public boolean getValueAsBoolean() throws IOException, JsonParseException {
|
|
1282
|
+
return getValueAsBoolean(false);
|
|
1283
|
+
}
|
|
1284
|
+
|
|
1285
|
+
/**
|
|
1286
|
+
* Method that will try to convert value of current token to a
|
|
1287
|
+
* <b>boolean</b>.
|
|
1288
|
+
* JSON booleans map naturally; integer numbers other than 0 map to true, and
|
|
1289
|
+
* 0 maps to false
|
|
1290
|
+
* and Strings 'true' and 'false' map to corresponding values.
|
|
1291
|
+
*<p>
|
|
1292
|
+
* If representation can not be converted to a boolean value (including structured types
|
|
1293
|
+
* like Objects and Arrays),
|
|
1294
|
+
* specified <b>defaultValue</b> will be returned; no exceptions are thrown.
|
|
1295
|
+
*
|
|
1296
|
+
* @since 1.7
|
|
1297
|
+
*/
|
|
1298
|
+
public boolean getValueAsBoolean(boolean defaultValue) throws IOException, JsonParseException {
|
|
1299
|
+
return defaultValue;
|
|
1300
|
+
}
|
|
1301
|
+
|
|
1302
|
+
/*
|
|
1303
|
+
/**********************************************************
|
|
1304
|
+
/* Public API, optional data binding functionality
|
|
1305
|
+
/**********************************************************
|
|
1306
|
+
*/
|
|
1307
|
+
|
|
1308
|
+
/**
|
|
1309
|
+
* Method to deserialize JSON content into a non-container
|
|
1310
|
+
* type (it can be an array type, however): typically a bean, array
|
|
1311
|
+
* or a wrapper type (like {@link java.lang.Boolean}).
|
|
1312
|
+
* <b>Note</b>: method can only be called if the parser has
|
|
1313
|
+
* an object codec assigned; this is true for parsers constructed
|
|
1314
|
+
* by {@link sh.calaba.org.codehaus.jackson.map.MappingJsonFactory} but
|
|
1315
|
+
* not for {@link JsonFactory} (unless its <code>setCodec</code>
|
|
1316
|
+
* method has been explicitly called).
|
|
1317
|
+
*<p>
|
|
1318
|
+
* This method may advance the event stream, for structured types
|
|
1319
|
+
* the current token will be the closing end marker (END_ARRAY,
|
|
1320
|
+
* END_OBJECT) of the bound structure. For non-structured Json types
|
|
1321
|
+
* (and for {@link JsonToken#VALUE_EMBEDDED_OBJECT})
|
|
1322
|
+
* stream is not advanced.
|
|
1323
|
+
*<p>
|
|
1324
|
+
* Note: this method should NOT be used if the result type is a
|
|
1325
|
+
* container ({@link java.util.Collection} or {@link java.util.Map}.
|
|
1326
|
+
* The reason is that due to type erasure, key and value types
|
|
1327
|
+
* can not be introspected when using this method.
|
|
1328
|
+
*/
|
|
1329
|
+
public <T> T readValueAs(Class<T> valueType)
|
|
1330
|
+
throws IOException, JsonProcessingException
|
|
1331
|
+
{
|
|
1332
|
+
ObjectCodec codec = getCodec();
|
|
1333
|
+
if (codec == null) {
|
|
1334
|
+
throw new IllegalStateException("No ObjectCodec defined for the parser, can not deserialize JSON into Java objects");
|
|
1335
|
+
}
|
|
1336
|
+
return codec.readValue(this, valueType);
|
|
1337
|
+
}
|
|
1338
|
+
|
|
1339
|
+
/**
|
|
1340
|
+
* Method to deserialize JSON content into a Java type, reference
|
|
1341
|
+
* to which is passed as argument. Type is passed using so-called
|
|
1342
|
+
* "super type token"
|
|
1343
|
+
* and specifically needs to be used if the root type is a
|
|
1344
|
+
* parameterized (generic) container type.
|
|
1345
|
+
* <b>Note</b>: method can only be called if the parser has
|
|
1346
|
+
* an object codec assigned; this is true for parsers constructed
|
|
1347
|
+
* by {@link sh.calaba.org.codehaus.jackson.map.MappingJsonFactory} but
|
|
1348
|
+
* not for {@link JsonFactory} (unless its <code>setCodec</code>
|
|
1349
|
+
* method has been explicitly called).
|
|
1350
|
+
*<p>
|
|
1351
|
+
* This method may advance the event stream, for structured types
|
|
1352
|
+
* the current token will be the closing end marker (END_ARRAY,
|
|
1353
|
+
* END_OBJECT) of the bound structure. For non-structured Json types
|
|
1354
|
+
* (and for {@link JsonToken#VALUE_EMBEDDED_OBJECT})
|
|
1355
|
+
* stream is not advanced.
|
|
1356
|
+
*/
|
|
1357
|
+
@SuppressWarnings("unchecked")
|
|
1358
|
+
public <T> T readValueAs(TypeReference<?> valueTypeRef)
|
|
1359
|
+
throws IOException, JsonProcessingException
|
|
1360
|
+
{
|
|
1361
|
+
ObjectCodec codec = getCodec();
|
|
1362
|
+
if (codec == null) {
|
|
1363
|
+
throw new IllegalStateException("No ObjectCodec defined for the parser, can not deserialize JSON into Java objects");
|
|
1364
|
+
}
|
|
1365
|
+
/* Ugh. Stupid Java type erasure... can't just chain call,s
|
|
1366
|
+
* must cast here also.
|
|
1367
|
+
*/
|
|
1368
|
+
return (T) codec.readValue(this, valueTypeRef);
|
|
1369
|
+
}
|
|
1370
|
+
|
|
1371
|
+
/**
|
|
1372
|
+
* Method for reading sequence of Objects from parser stream,
|
|
1373
|
+
* all with same specified value type.
|
|
1374
|
+
*
|
|
1375
|
+
* @since 1.9
|
|
1376
|
+
*/
|
|
1377
|
+
public <T> Iterator<T> readValuesAs(Class<T> valueType)
|
|
1378
|
+
throws IOException, JsonProcessingException
|
|
1379
|
+
{
|
|
1380
|
+
ObjectCodec codec = getCodec();
|
|
1381
|
+
if (codec == null) {
|
|
1382
|
+
throw new IllegalStateException("No ObjectCodec defined for the parser, can not deserialize JSON into Java objects");
|
|
1383
|
+
}
|
|
1384
|
+
return codec.readValues(this, valueType);
|
|
1385
|
+
}
|
|
1386
|
+
|
|
1387
|
+
/**
|
|
1388
|
+
* Method for reading sequence of Objects from parser stream,
|
|
1389
|
+
* all with same specified value type.
|
|
1390
|
+
*
|
|
1391
|
+
* @since 1.9
|
|
1392
|
+
*/
|
|
1393
|
+
public <T> Iterator<T> readValuesAs(TypeReference<?> valueTypeRef)
|
|
1394
|
+
throws IOException, JsonProcessingException
|
|
1395
|
+
{
|
|
1396
|
+
ObjectCodec codec = getCodec();
|
|
1397
|
+
if (codec == null) {
|
|
1398
|
+
throw new IllegalStateException("No ObjectCodec defined for the parser, can not deserialize JSON into Java objects");
|
|
1399
|
+
}
|
|
1400
|
+
return codec.readValues(this, valueTypeRef);
|
|
1401
|
+
}
|
|
1402
|
+
|
|
1403
|
+
/**
|
|
1404
|
+
* Method to deserialize JSON content into equivalent "tree model",
|
|
1405
|
+
* represented by root {@link JsonNode} of resulting model.
|
|
1406
|
+
* For JSON Arrays it will an array node (with child nodes),
|
|
1407
|
+
* for objects object node (with child nodes), and for other types
|
|
1408
|
+
* matching leaf node type
|
|
1409
|
+
*/
|
|
1410
|
+
public JsonNode readValueAsTree()
|
|
1411
|
+
throws IOException, JsonProcessingException
|
|
1412
|
+
{
|
|
1413
|
+
ObjectCodec codec = getCodec();
|
|
1414
|
+
if (codec == null) {
|
|
1415
|
+
throw new IllegalStateException("No ObjectCodec defined for the parser, can not deserialize JSON into JsonNode tree");
|
|
1416
|
+
}
|
|
1417
|
+
return codec.readTree(this);
|
|
1418
|
+
}
|
|
1419
|
+
|
|
1420
|
+
/*
|
|
1421
|
+
/**********************************************************
|
|
1422
|
+
/* Internal methods
|
|
1423
|
+
/**********************************************************
|
|
1424
|
+
*/
|
|
1425
|
+
|
|
1426
|
+
/**
|
|
1427
|
+
* Helper method for constructing {@link JsonParseException}s
|
|
1428
|
+
* based on current state of the parser
|
|
1429
|
+
*/
|
|
1430
|
+
protected JsonParseException _constructError(String msg)
|
|
1431
|
+
{
|
|
1432
|
+
return new JsonParseException(msg, getCurrentLocation());
|
|
1433
|
+
}
|
|
1434
|
+
}
|