calabash-android 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGES.txt +1 -0
- data/Gemfile +4 -0
- data/LICENSE +8 -0
- data/Rakefile +2 -0
- data/bin/calabash-android +42 -0
- data/bin/calabash-android-build.rb +37 -0
- data/bin/calabash-android-generate.rb +26 -0
- data/bin/calabash-android-helpers.rb +71 -0
- data/bin/calabash-android-run.rb +18 -0
- data/bin/calabash-android-setup.rb +392 -0
- data/calabash-android.gemspec +23 -0
- data/doc/calabash-android-help.txt +21 -0
- data/epl-v10.html +261 -0
- data/features-skeleton/.irbrc +16 -0
- data/features-skeleton/irb_android.sh +2 -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 +26 -0
- data/features-skeleton/support/app_life_cycle_hooks.rb +28 -0
- data/features-skeleton/support/env.rb +1 -0
- data/features-skeleton/support/hooks.rb +18 -0
- data/lib/calabash-android.rb +2 -0
- data/lib/calabash-android/calabash_steps.rb +18 -0
- data/lib/calabash-android/canned_steps.md +239 -0
- data/lib/calabash-android/color_helper.rb +13 -0
- data/lib/calabash-android/cucumber.rb +9 -0
- data/lib/calabash-android/lib/screenShotTaker.jar +0 -0
- data/lib/calabash-android/management/adb.rb +11 -0
- data/lib/calabash-android/management/app_installation.rb +21 -0
- data/lib/calabash-android/operations.rb +283 -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 +32 -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 +21 -0
- data/lib/calabash-android/steps/location_steps.rb +19 -0
- data/lib/calabash-android/steps/navigation_steps.rb +27 -0
- data/lib/calabash-android/steps/press_button_steps.rb +35 -0
- data/lib/calabash-android/steps/progress_steps.rb +49 -0
- data/lib/calabash-android/steps/rotation_steps.rb +8 -0
- data/lib/calabash-android/steps/screenshot_steps.rb +11 -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 +6 -0
- data/test-server/AndroidManifest.xml +13 -0
- data/test-server/build.xml +192 -0
- data/test-server/calabash-js/src/calabash.js +125 -0
- data/test-server/calabash-js/src/set_text.js +132 -0
- data/test-server/instrumentation-backend/.classpath +10 -0
- data/test-server/instrumentation-backend/.project +33 -0
- data/test-server/instrumentation-backend/.settings/org.eclipse.jdt.core.prefs +12 -0
- data/test-server/instrumentation-backend/AndroidManifest.xml +15 -0
- data/test-server/instrumentation-backend/assets/foo.bar +0 -0
- data/test-server/instrumentation-backend/gen/com/lesspainful/simpleui/test/R.java +23 -0
- data/test-server/instrumentation-backend/libs/robotium-solo-2.5.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/sh/calaba/instrumentationbackend/Command.java +48 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/InstrumentationBackend.java +196 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/Result.java +64 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/TestHelpers.java +136 -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 +113 -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/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/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/Swipe.java +28 -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/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 +79 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/scrolling/ScrollDown.java +28 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/scrolling/ScrollUp.java +28 -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/GoBack.java +22 -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/SelectFromMenuByText.java +24 -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/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/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/EnterTextByIndex.java +22 -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/view/ClickOnViewById.java +63 -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/WaitForViewById.java +41 -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 +49 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForText.java +26 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/CalabashChromeClient.java +109 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/DumpBodyHtml.java +33 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/DumpHtml.java +33 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/EnterTextByCssSelector.java +99 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/PressByCssSelector.java +43 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/Query.java +24 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/QueryHelper.java +99 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/ScrollTo.java +74 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/SetPropertyByCssSelector.java +43 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/SetText.java +50 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/Touch.java +44 -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/CoreXMLDeserializers.java +114 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/CoreXMLSerializers.java +72 -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 +619 -0
data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ObjectReader.java
ADDED
|
@@ -0,0 +1,958 @@
|
|
|
1
|
+
package sh.calaba.org.codehaus.jackson.map;
|
|
2
|
+
|
|
3
|
+
import java.io.EOFException;
|
|
4
|
+
import java.io.File;
|
|
5
|
+
import java.io.IOException;
|
|
6
|
+
import java.io.InputStream;
|
|
7
|
+
import java.io.Reader;
|
|
8
|
+
import java.net.URL;
|
|
9
|
+
import java.util.Iterator;
|
|
10
|
+
import java.util.concurrent.ConcurrentHashMap;
|
|
11
|
+
|
|
12
|
+
import sh.calaba.org.codehaus.jackson.FormatSchema;
|
|
13
|
+
import sh.calaba.org.codehaus.jackson.JsonFactory;
|
|
14
|
+
import sh.calaba.org.codehaus.jackson.JsonGenerator;
|
|
15
|
+
import sh.calaba.org.codehaus.jackson.JsonNode;
|
|
16
|
+
import sh.calaba.org.codehaus.jackson.JsonParseException;
|
|
17
|
+
import sh.calaba.org.codehaus.jackson.JsonParser;
|
|
18
|
+
import sh.calaba.org.codehaus.jackson.JsonProcessingException;
|
|
19
|
+
import sh.calaba.org.codehaus.jackson.JsonToken;
|
|
20
|
+
import sh.calaba.org.codehaus.jackson.ObjectCodec;
|
|
21
|
+
import sh.calaba.org.codehaus.jackson.Version;
|
|
22
|
+
import sh.calaba.org.codehaus.jackson.Versioned;
|
|
23
|
+
import sh.calaba.org.codehaus.jackson.io.SerializedString;
|
|
24
|
+
import sh.calaba.org.codehaus.jackson.map.deser.StdDeserializationContext;
|
|
25
|
+
import sh.calaba.org.codehaus.jackson.map.type.SimpleType;
|
|
26
|
+
import sh.calaba.org.codehaus.jackson.node.JsonNodeFactory;
|
|
27
|
+
import sh.calaba.org.codehaus.jackson.node.NullNode;
|
|
28
|
+
import sh.calaba.org.codehaus.jackson.node.TreeTraversingParser;
|
|
29
|
+
import sh.calaba.org.codehaus.jackson.type.JavaType;
|
|
30
|
+
import sh.calaba.org.codehaus.jackson.type.TypeReference;
|
|
31
|
+
import sh.calaba.org.codehaus.jackson.util.VersionUtil;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Builder object that can be used for per-serialization configuration of
|
|
35
|
+
* deserialization parameters, such as root type to use or object
|
|
36
|
+
* to update (instead of constructing new instance).
|
|
37
|
+
* Uses "fluid" (aka builder) pattern so that instances are immutable
|
|
38
|
+
* (and thus fully thread-safe with no external synchronization);
|
|
39
|
+
* new instances are constructed for different configurations.
|
|
40
|
+
* Instances are initially constructed by {@link ObjectMapper} and can be
|
|
41
|
+
* reused.
|
|
42
|
+
*
|
|
43
|
+
* @author tatu
|
|
44
|
+
* @since 1.6
|
|
45
|
+
*/
|
|
46
|
+
public class ObjectReader
|
|
47
|
+
extends ObjectCodec
|
|
48
|
+
implements Versioned
|
|
49
|
+
{
|
|
50
|
+
private final static JavaType JSON_NODE_TYPE = SimpleType.constructUnsafe(JsonNode.class);
|
|
51
|
+
|
|
52
|
+
/*
|
|
53
|
+
/**********************************************************
|
|
54
|
+
/* Immutable configuration from ObjectMapper
|
|
55
|
+
/**********************************************************
|
|
56
|
+
*/
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* General serialization configuration settings; while immutable,
|
|
60
|
+
* can use copy-constructor to create modified instances as necessary.
|
|
61
|
+
*/
|
|
62
|
+
protected final DeserializationConfig _config;
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Flag that indicates whether root values are expected to be unwrapped
|
|
66
|
+
* or not
|
|
67
|
+
*
|
|
68
|
+
* @since 1.9
|
|
69
|
+
*/
|
|
70
|
+
protected final boolean _unwrapRoot;
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Root-level cached deserializers
|
|
74
|
+
*/
|
|
75
|
+
final protected ConcurrentHashMap<JavaType, JsonDeserializer<Object>> _rootDeserializers;
|
|
76
|
+
|
|
77
|
+
protected final DeserializerProvider _provider;
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Factory used for constructing {@link JsonGenerator}s
|
|
81
|
+
*/
|
|
82
|
+
protected final JsonFactory _jsonFactory;
|
|
83
|
+
|
|
84
|
+
/*
|
|
85
|
+
/**********************************************************
|
|
86
|
+
/* Configuration that can be changed during building
|
|
87
|
+
/**********************************************************
|
|
88
|
+
*/
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Declared type of value to instantiate during deserialization.
|
|
92
|
+
* Defines which deserializer to use; as well as base type of instance
|
|
93
|
+
* to construct if an updatable value is not configured to be used
|
|
94
|
+
* (subject to changes by embedded type information, for polymorphic
|
|
95
|
+
* types). If {@link #_valueToUpdate} is non-null, only used for
|
|
96
|
+
* locating deserializer.
|
|
97
|
+
*/
|
|
98
|
+
protected final JavaType _valueType;
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Instance to update with data binding; if any. If null,
|
|
102
|
+
* a new instance is created, if non-null, properties of
|
|
103
|
+
* this value object will be updated instead.
|
|
104
|
+
* Note that value can be of almost any type, except not
|
|
105
|
+
* {@link sh.calaba.org.codehaus.jackson.map.type.ArrayType}; array
|
|
106
|
+
* types can not be modified because array size is immutable.
|
|
107
|
+
*/
|
|
108
|
+
protected final Object _valueToUpdate;
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* When using data format that uses a schema, schema is passed
|
|
112
|
+
* to parser.
|
|
113
|
+
*
|
|
114
|
+
* @since 1.8
|
|
115
|
+
*/
|
|
116
|
+
protected final FormatSchema _schema;
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Values that can be injected during deserialization, if any.
|
|
120
|
+
*
|
|
121
|
+
* @since 1.9
|
|
122
|
+
*/
|
|
123
|
+
protected final InjectableValues _injectableValues;
|
|
124
|
+
|
|
125
|
+
/*
|
|
126
|
+
/**********************************************************
|
|
127
|
+
/* Life-cycle
|
|
128
|
+
/**********************************************************
|
|
129
|
+
*/
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Constructor used by {@link ObjectMapper} for initial instantiation
|
|
133
|
+
*
|
|
134
|
+
* @since 1.8
|
|
135
|
+
*/
|
|
136
|
+
protected ObjectReader(ObjectMapper mapper, DeserializationConfig config)
|
|
137
|
+
{
|
|
138
|
+
this(mapper, config, null, null, null, null);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
protected ObjectReader(ObjectMapper mapper, DeserializationConfig config,
|
|
142
|
+
JavaType valueType, Object valueToUpdate, FormatSchema schema,
|
|
143
|
+
InjectableValues injectableValues)
|
|
144
|
+
{
|
|
145
|
+
_config = config;
|
|
146
|
+
_rootDeserializers = mapper._rootDeserializers;
|
|
147
|
+
_provider = mapper._deserializerProvider;
|
|
148
|
+
_jsonFactory = mapper._jsonFactory;
|
|
149
|
+
_valueType = valueType;
|
|
150
|
+
_valueToUpdate = valueToUpdate;
|
|
151
|
+
if (valueToUpdate != null && valueType.isArrayType()) {
|
|
152
|
+
throw new IllegalArgumentException("Can not update an array value");
|
|
153
|
+
}
|
|
154
|
+
_schema = schema;
|
|
155
|
+
_injectableValues = injectableValues;
|
|
156
|
+
_unwrapRoot = config.isEnabled(DeserializationConfig.Feature.UNWRAP_ROOT_VALUE);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* Copy constructor used for building variations.
|
|
161
|
+
*/
|
|
162
|
+
protected ObjectReader(ObjectReader base, DeserializationConfig config,
|
|
163
|
+
JavaType valueType, Object valueToUpdate, FormatSchema schema,
|
|
164
|
+
InjectableValues injectableValues)
|
|
165
|
+
{
|
|
166
|
+
_config = config;
|
|
167
|
+
|
|
168
|
+
_rootDeserializers = base._rootDeserializers;
|
|
169
|
+
_provider = base._provider;
|
|
170
|
+
_jsonFactory = base._jsonFactory;
|
|
171
|
+
|
|
172
|
+
_valueType = valueType;
|
|
173
|
+
_valueToUpdate = valueToUpdate;
|
|
174
|
+
if (valueToUpdate != null && valueType.isArrayType()) {
|
|
175
|
+
throw new IllegalArgumentException("Can not update an array value");
|
|
176
|
+
}
|
|
177
|
+
_schema = schema;
|
|
178
|
+
_injectableValues = injectableValues;
|
|
179
|
+
_unwrapRoot = config.isEnabled(DeserializationConfig.Feature.UNWRAP_ROOT_VALUE);
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* Method that will return version information stored in and read from jar
|
|
184
|
+
* that contains this class.
|
|
185
|
+
*
|
|
186
|
+
* @since 1.6
|
|
187
|
+
*/
|
|
188
|
+
@Override
|
|
189
|
+
public Version version() {
|
|
190
|
+
return VersionUtil.versionFor(getClass());
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* Method for constructing a new reader instance that is configured
|
|
195
|
+
* to data bind into specified type.
|
|
196
|
+
*<p>
|
|
197
|
+
* Note that the method does NOT change state of this reader, but
|
|
198
|
+
* rather construct and returns a newly configured instance.
|
|
199
|
+
*/
|
|
200
|
+
public ObjectReader withType(JavaType valueType)
|
|
201
|
+
{
|
|
202
|
+
if (valueType == _valueType) return this;
|
|
203
|
+
// type is stored here, no need to make a copy of config
|
|
204
|
+
return new ObjectReader(this, _config, valueType, _valueToUpdate,
|
|
205
|
+
_schema, _injectableValues);
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
/**
|
|
209
|
+
* Method for constructing a new reader instance that is configured
|
|
210
|
+
* to data bind into specified type.
|
|
211
|
+
*<p>
|
|
212
|
+
* Note that the method does NOT change state of this reader, but
|
|
213
|
+
* rather construct and returns a newly configured instance.
|
|
214
|
+
*/
|
|
215
|
+
public ObjectReader withType(Class<?> valueType)
|
|
216
|
+
{
|
|
217
|
+
return withType(_config.constructType(valueType));
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
/**
|
|
221
|
+
* Method for constructing a new reader instance that is configured
|
|
222
|
+
* to data bind into specified type.
|
|
223
|
+
*<p>
|
|
224
|
+
* Note that the method does NOT change state of this reader, but
|
|
225
|
+
* rather construct and returns a newly configured instance.
|
|
226
|
+
*/
|
|
227
|
+
public ObjectReader withType(java.lang.reflect.Type valueType)
|
|
228
|
+
{
|
|
229
|
+
return withType(_config.getTypeFactory().constructType(valueType));
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* Method for constructing a new reader instance that is configured
|
|
234
|
+
* to data bind into specified type.
|
|
235
|
+
*<p>
|
|
236
|
+
* Note that the method does NOT change state of this reader, but
|
|
237
|
+
* rather construct and returns a newly configured instance.
|
|
238
|
+
*
|
|
239
|
+
* @since 1.8
|
|
240
|
+
*/
|
|
241
|
+
public ObjectReader withType(TypeReference<?> valueTypeRef)
|
|
242
|
+
{
|
|
243
|
+
return withType(_config.getTypeFactory().constructType(valueTypeRef.getType()));
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
/**
|
|
247
|
+
* Method for constructing a new reader instance with configuration that uses
|
|
248
|
+
* passed {@link JsonNodeFactory} for constructing {@link JsonNode}
|
|
249
|
+
* instances.
|
|
250
|
+
*<p>
|
|
251
|
+
* Note that the method does NOT change state of this reader, but
|
|
252
|
+
* rather construct and returns a newly configured instance.
|
|
253
|
+
*/
|
|
254
|
+
public ObjectReader withNodeFactory(JsonNodeFactory f)
|
|
255
|
+
{
|
|
256
|
+
// node factory is stored within config, so need to copy that first
|
|
257
|
+
if (f == _config.getNodeFactory()) return this;
|
|
258
|
+
return new ObjectReader(this, _config.withNodeFactory(f), _valueType, _valueToUpdate,
|
|
259
|
+
_schema, _injectableValues);
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
/**
|
|
263
|
+
* Method for constructing a new instance with configuration that
|
|
264
|
+
* updates passed Object (as root value), instead of constructing
|
|
265
|
+
* a new value.
|
|
266
|
+
*<p>
|
|
267
|
+
* Note that the method does NOT change state of this reader, but
|
|
268
|
+
* rather construct and returns a newly configured instance.
|
|
269
|
+
*/
|
|
270
|
+
public ObjectReader withValueToUpdate(Object value)
|
|
271
|
+
{
|
|
272
|
+
if (value == _valueToUpdate) return this;
|
|
273
|
+
if (value == null) {
|
|
274
|
+
throw new IllegalArgumentException("cat not update null value");
|
|
275
|
+
}
|
|
276
|
+
JavaType t = (_valueType == null) ? _config.constructType(value.getClass()) : _valueType;
|
|
277
|
+
return new ObjectReader(this, _config, t, value,
|
|
278
|
+
_schema, _injectableValues);
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
/**
|
|
282
|
+
* Method for constructing a new instance with configuration that
|
|
283
|
+
* passes specified {@link FormatSchema} to {@link JsonParser} that
|
|
284
|
+
* is constructed for parsing content.
|
|
285
|
+
*<p>
|
|
286
|
+
* Note that the method does NOT change state of this reader, but
|
|
287
|
+
* rather construct and returns a newly configured instance.
|
|
288
|
+
*
|
|
289
|
+
* @since 1.8
|
|
290
|
+
*/
|
|
291
|
+
public ObjectReader withSchema(FormatSchema schema)
|
|
292
|
+
{
|
|
293
|
+
if (_schema == schema) {
|
|
294
|
+
return this;
|
|
295
|
+
}
|
|
296
|
+
return new ObjectReader(this, _config, _valueType, _valueToUpdate,
|
|
297
|
+
schema, _injectableValues);
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
/**
|
|
301
|
+
* Method for constructing a new instance with configuration that uses
|
|
302
|
+
* passed {@link InjectableValues} to provide injectable values.
|
|
303
|
+
*<p>
|
|
304
|
+
* Note that the method does NOT change state of this reader, but
|
|
305
|
+
* rather construct and returns a newly configured instance.
|
|
306
|
+
*
|
|
307
|
+
* @since 1.9
|
|
308
|
+
*/
|
|
309
|
+
public ObjectReader withInjectableValues(InjectableValues injectableValues)
|
|
310
|
+
{
|
|
311
|
+
if (_injectableValues == injectableValues) {
|
|
312
|
+
return this;
|
|
313
|
+
}
|
|
314
|
+
return new ObjectReader(this, _config, _valueType, _valueToUpdate,
|
|
315
|
+
_schema, injectableValues);
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
/*
|
|
319
|
+
/**********************************************************
|
|
320
|
+
/* Deserialization methods; basic ones to support ObjectCodec first
|
|
321
|
+
/* (ones that take JsonParser)
|
|
322
|
+
/**********************************************************
|
|
323
|
+
*/
|
|
324
|
+
|
|
325
|
+
/**
|
|
326
|
+
* Method that binds content read using given parser, using
|
|
327
|
+
* configuration of this reader, including expected result type.
|
|
328
|
+
* Value return is either newly constructed, or root value that
|
|
329
|
+
* was specified with {@link #withValueToUpdate(Object)}.
|
|
330
|
+
*/
|
|
331
|
+
@SuppressWarnings("unchecked")
|
|
332
|
+
public <T> T readValue(JsonParser jp)
|
|
333
|
+
throws IOException, JsonProcessingException
|
|
334
|
+
{
|
|
335
|
+
return (T) _bind(jp);
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
/**
|
|
339
|
+
* Convenience method that binds content read using given parser, using
|
|
340
|
+
* configuration of this reader, except that expected value type
|
|
341
|
+
* is specified with the call (instead of currently configured root type).
|
|
342
|
+
* Value return is either newly constructed, or root value that
|
|
343
|
+
* was specified with {@link #withValueToUpdate(Object)}.
|
|
344
|
+
*/
|
|
345
|
+
@SuppressWarnings("unchecked")
|
|
346
|
+
@Override
|
|
347
|
+
public <T> T readValue(JsonParser jp, Class<T> valueType)
|
|
348
|
+
throws IOException, JsonProcessingException
|
|
349
|
+
{
|
|
350
|
+
return (T) withType(valueType).readValue(jp);
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
/**
|
|
354
|
+
* Convenience method that binds content read using given parser, using
|
|
355
|
+
* configuration of this reader, except that expected value type
|
|
356
|
+
* is specified with the call (instead of currently configured root type).
|
|
357
|
+
* Value return is either newly constructed, or root value that
|
|
358
|
+
* was specified with {@link #withValueToUpdate(Object)}.
|
|
359
|
+
*/
|
|
360
|
+
@SuppressWarnings("unchecked")
|
|
361
|
+
@Override
|
|
362
|
+
public <T> T readValue(JsonParser jp, TypeReference<?> valueTypeRef)
|
|
363
|
+
throws IOException, JsonProcessingException
|
|
364
|
+
{
|
|
365
|
+
return (T) withType(valueTypeRef).readValue(jp);
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
/**
|
|
369
|
+
* Convenience method that binds content read using given parser, using
|
|
370
|
+
* configuration of this reader, except that expected value type
|
|
371
|
+
* is specified with the call (instead of currently configured root type).
|
|
372
|
+
* Value return is either newly constructed, or root value that
|
|
373
|
+
* was specified with {@link #withValueToUpdate(Object)}.
|
|
374
|
+
*/
|
|
375
|
+
@SuppressWarnings("unchecked")
|
|
376
|
+
@Override
|
|
377
|
+
public <T> T readValue(JsonParser jp, JavaType valueType) throws IOException, JsonProcessingException {
|
|
378
|
+
return (T) withType(valueType).readValue(jp);
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
/**
|
|
382
|
+
* Convenience method that binds content read using given parser, using
|
|
383
|
+
* configuration of this reader, except that content is bound as
|
|
384
|
+
* JSON tree instead of configured root value type.
|
|
385
|
+
*<p>
|
|
386
|
+
* Note: if an object was specified with {@link #withValueToUpdate}, it
|
|
387
|
+
* will be ignored.
|
|
388
|
+
*/
|
|
389
|
+
@Override
|
|
390
|
+
public JsonNode readTree(JsonParser jp)
|
|
391
|
+
throws IOException, JsonProcessingException
|
|
392
|
+
{
|
|
393
|
+
return _bindAsTree(jp);
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
/**
|
|
397
|
+
* Convenience method that is equivalent to:
|
|
398
|
+
*<pre>
|
|
399
|
+
* withType(valueType).readValues(jp);
|
|
400
|
+
*</pre>
|
|
401
|
+
*/
|
|
402
|
+
@Override
|
|
403
|
+
public <T> Iterator<T> readValues(JsonParser jp, Class<T> valueType)
|
|
404
|
+
throws IOException, JsonProcessingException {
|
|
405
|
+
return withType(valueType).readValues(jp);
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
/**
|
|
409
|
+
* Convenience method that is equivalent to:
|
|
410
|
+
*<pre>
|
|
411
|
+
* withType(valueTypeRef).readValues(jp);
|
|
412
|
+
*</pre>
|
|
413
|
+
*/
|
|
414
|
+
@Override
|
|
415
|
+
public <T> Iterator<T> readValues(JsonParser jp, TypeReference<?> valueTypeRef)
|
|
416
|
+
throws IOException, JsonProcessingException {
|
|
417
|
+
return withType(valueTypeRef).readValues(jp);
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
/**
|
|
421
|
+
* Convenience method that is equivalent to:
|
|
422
|
+
*<pre>
|
|
423
|
+
* withType(valueType).readValues(jp);
|
|
424
|
+
*</pre>
|
|
425
|
+
*/
|
|
426
|
+
@Override
|
|
427
|
+
public <T> Iterator<T> readValues(JsonParser jp, JavaType valueType)
|
|
428
|
+
throws IOException, JsonProcessingException {
|
|
429
|
+
return withType(valueType).readValues(jp);
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
/*
|
|
433
|
+
/**********************************************************
|
|
434
|
+
/* Deserialization methods; others similar to what ObjectMapper has
|
|
435
|
+
/**********************************************************
|
|
436
|
+
*/
|
|
437
|
+
|
|
438
|
+
/**
|
|
439
|
+
* Method that binds content read from given input source,
|
|
440
|
+
* using configuration of this reader.
|
|
441
|
+
* Value return is either newly constructed, or root value that
|
|
442
|
+
* was specified with {@link #withValueToUpdate(Object)}.
|
|
443
|
+
*/
|
|
444
|
+
@SuppressWarnings("unchecked")
|
|
445
|
+
public <T> T readValue(InputStream src)
|
|
446
|
+
throws IOException, JsonProcessingException
|
|
447
|
+
{
|
|
448
|
+
return (T) _bindAndClose(_jsonFactory.createJsonParser(src));
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
/**
|
|
452
|
+
* Method that binds content read from given input source,
|
|
453
|
+
* using configuration of this reader.
|
|
454
|
+
* Value return is either newly constructed, or root value that
|
|
455
|
+
* was specified with {@link #withValueToUpdate(Object)}.
|
|
456
|
+
*/
|
|
457
|
+
@SuppressWarnings("unchecked")
|
|
458
|
+
public <T> T readValue(Reader src)
|
|
459
|
+
throws IOException, JsonProcessingException
|
|
460
|
+
{
|
|
461
|
+
return (T) _bindAndClose(_jsonFactory.createJsonParser(src));
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
/**
|
|
465
|
+
* Method that binds content read from given JSON string,
|
|
466
|
+
* using configuration of this reader.
|
|
467
|
+
* Value return is either newly constructed, or root value that
|
|
468
|
+
* was specified with {@link #withValueToUpdate(Object)}.
|
|
469
|
+
*/
|
|
470
|
+
@SuppressWarnings("unchecked")
|
|
471
|
+
public <T> T readValue(String src)
|
|
472
|
+
throws IOException, JsonProcessingException
|
|
473
|
+
{
|
|
474
|
+
return (T) _bindAndClose(_jsonFactory.createJsonParser(src));
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
/**
|
|
478
|
+
* Method that binds content read from given byte array,
|
|
479
|
+
* using configuration of this reader.
|
|
480
|
+
* Value return is either newly constructed, or root value that
|
|
481
|
+
* was specified with {@link #withValueToUpdate(Object)}.
|
|
482
|
+
*/
|
|
483
|
+
@SuppressWarnings("unchecked")
|
|
484
|
+
public <T> T readValue(byte[] src)
|
|
485
|
+
throws IOException, JsonProcessingException
|
|
486
|
+
{
|
|
487
|
+
return (T) _bindAndClose(_jsonFactory.createJsonParser(src));
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
/**
|
|
491
|
+
* Method that binds content read from given byte array,
|
|
492
|
+
* using configuration of this reader.
|
|
493
|
+
* Value return is either newly constructed, or root value that
|
|
494
|
+
* was specified with {@link #withValueToUpdate(Object)}.
|
|
495
|
+
*/
|
|
496
|
+
@SuppressWarnings("unchecked")
|
|
497
|
+
public <T> T readValue(byte[] src, int offset, int length)
|
|
498
|
+
throws IOException, JsonProcessingException
|
|
499
|
+
{
|
|
500
|
+
return (T) _bindAndClose(_jsonFactory.createJsonParser(src, offset, length));
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
@SuppressWarnings("unchecked")
|
|
504
|
+
public <T> T readValue(File src)
|
|
505
|
+
throws IOException, JsonProcessingException
|
|
506
|
+
{
|
|
507
|
+
return (T) _bindAndClose(_jsonFactory.createJsonParser(src));
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
/**
|
|
511
|
+
* Method that binds content read from given input source,
|
|
512
|
+
* using configuration of this reader.
|
|
513
|
+
* Value return is either newly constructed, or root value that
|
|
514
|
+
* was specified with {@link #withValueToUpdate(Object)}.
|
|
515
|
+
*/
|
|
516
|
+
@SuppressWarnings("unchecked")
|
|
517
|
+
public <T> T readValue(URL src)
|
|
518
|
+
throws IOException, JsonProcessingException
|
|
519
|
+
{
|
|
520
|
+
return (T) _bindAndClose(_jsonFactory.createJsonParser(src));
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
/**
|
|
524
|
+
* Convenience method for converting results from given JSON tree into given
|
|
525
|
+
* value type. Basically short-cut for:
|
|
526
|
+
*<pre>
|
|
527
|
+
* objectReader.readValue(src.traverse())
|
|
528
|
+
*</pre>
|
|
529
|
+
*/
|
|
530
|
+
@SuppressWarnings("unchecked")
|
|
531
|
+
public <T> T readValue(JsonNode src)
|
|
532
|
+
throws IOException, JsonProcessingException
|
|
533
|
+
{
|
|
534
|
+
return (T) _bindAndClose(treeAsTokens(src));
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
/**
|
|
538
|
+
* Method that reads content from given input source,
|
|
539
|
+
* using configuration of this reader, and binds it as JSON Tree.
|
|
540
|
+
*<p>
|
|
541
|
+
* Note that if an object was specified with a call to
|
|
542
|
+
* {@link #withValueToUpdate(Object)}
|
|
543
|
+
* it will just be ignored; result is always a newly constructed
|
|
544
|
+
* {@link JsonNode} instance.
|
|
545
|
+
*/
|
|
546
|
+
public JsonNode readTree(InputStream in)
|
|
547
|
+
throws IOException, JsonProcessingException
|
|
548
|
+
{
|
|
549
|
+
return _bindAndCloseAsTree(_jsonFactory.createJsonParser(in));
|
|
550
|
+
}
|
|
551
|
+
|
|
552
|
+
/**
|
|
553
|
+
* Method that reads content from given input source,
|
|
554
|
+
* using configuration of this reader, and binds it as JSON Tree.
|
|
555
|
+
*<p>
|
|
556
|
+
* Note that if an object was specified with a call to
|
|
557
|
+
* {@link #withValueToUpdate(Object)}
|
|
558
|
+
* it will just be ignored; result is always a newly constructed
|
|
559
|
+
* {@link JsonNode} instance.
|
|
560
|
+
*/
|
|
561
|
+
public JsonNode readTree(Reader r)
|
|
562
|
+
throws IOException, JsonProcessingException
|
|
563
|
+
{
|
|
564
|
+
return _bindAndCloseAsTree(_jsonFactory.createJsonParser(r));
|
|
565
|
+
}
|
|
566
|
+
|
|
567
|
+
/**
|
|
568
|
+
* Method that reads content from given JSON input String,
|
|
569
|
+
* using configuration of this reader, and binds it as JSON Tree.
|
|
570
|
+
*<p>
|
|
571
|
+
* Note that if an object was specified with a call to
|
|
572
|
+
* {@link #withValueToUpdate(Object)}
|
|
573
|
+
* it will just be ignored; result is always a newly constructed
|
|
574
|
+
* {@link JsonNode} instance.
|
|
575
|
+
*/
|
|
576
|
+
public JsonNode readTree(String content)
|
|
577
|
+
throws IOException, JsonProcessingException
|
|
578
|
+
{
|
|
579
|
+
return _bindAndCloseAsTree(_jsonFactory.createJsonParser(content));
|
|
580
|
+
}
|
|
581
|
+
|
|
582
|
+
/*
|
|
583
|
+
/**********************************************************
|
|
584
|
+
/* Deserialization methods; reading sequence of values
|
|
585
|
+
/**********************************************************
|
|
586
|
+
*/
|
|
587
|
+
|
|
588
|
+
/**
|
|
589
|
+
* Method for reading sequence of Objects from parser stream.
|
|
590
|
+
*
|
|
591
|
+
* @since 1.8
|
|
592
|
+
*/
|
|
593
|
+
public <T> MappingIterator<T> readValues(JsonParser jp)
|
|
594
|
+
throws IOException, JsonProcessingException
|
|
595
|
+
{
|
|
596
|
+
DeserializationContext ctxt = _createDeserializationContext(jp, _config);
|
|
597
|
+
// false -> do not close as caller gave parser instance
|
|
598
|
+
return new MappingIterator<T>(_valueType, jp, ctxt,
|
|
599
|
+
_findRootDeserializer(_config, _valueType),
|
|
600
|
+
false, _valueToUpdate);
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
/**
|
|
604
|
+
* Method for reading sequence of Objects from parser stream.
|
|
605
|
+
*
|
|
606
|
+
* @since 1.8
|
|
607
|
+
*/
|
|
608
|
+
public <T> MappingIterator<T> readValues(InputStream src)
|
|
609
|
+
throws IOException, JsonProcessingException
|
|
610
|
+
{
|
|
611
|
+
JsonParser jp = _jsonFactory.createJsonParser(src);
|
|
612
|
+
if (_schema != null) {
|
|
613
|
+
jp.setSchema(_schema);
|
|
614
|
+
}
|
|
615
|
+
DeserializationContext ctxt = _createDeserializationContext(jp, _config);
|
|
616
|
+
return new MappingIterator<T>(_valueType, jp, ctxt,
|
|
617
|
+
_findRootDeserializer(_config, _valueType),
|
|
618
|
+
true, _valueToUpdate);
|
|
619
|
+
}
|
|
620
|
+
|
|
621
|
+
/**
|
|
622
|
+
* Method for reading sequence of Objects from parser stream.
|
|
623
|
+
*
|
|
624
|
+
* @since 1.8
|
|
625
|
+
*/
|
|
626
|
+
public <T> MappingIterator<T> readValues(Reader src)
|
|
627
|
+
throws IOException, JsonProcessingException
|
|
628
|
+
{
|
|
629
|
+
JsonParser jp = _jsonFactory.createJsonParser(src);
|
|
630
|
+
if (_schema != null) {
|
|
631
|
+
jp.setSchema(_schema);
|
|
632
|
+
}
|
|
633
|
+
DeserializationContext ctxt = _createDeserializationContext(jp, _config);
|
|
634
|
+
return new MappingIterator<T>(_valueType, jp, ctxt,
|
|
635
|
+
_findRootDeserializer(_config, _valueType), true, _valueToUpdate);
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
/**
|
|
639
|
+
* Method for reading sequence of Objects from parser stream.
|
|
640
|
+
*
|
|
641
|
+
* @since 1.8
|
|
642
|
+
*/
|
|
643
|
+
public <T> MappingIterator<T> readValues(String json)
|
|
644
|
+
throws IOException, JsonProcessingException
|
|
645
|
+
{
|
|
646
|
+
JsonParser jp = _jsonFactory.createJsonParser(json);
|
|
647
|
+
if (_schema != null) {
|
|
648
|
+
jp.setSchema(_schema);
|
|
649
|
+
}
|
|
650
|
+
DeserializationContext ctxt = _createDeserializationContext(jp, _config);
|
|
651
|
+
return new MappingIterator<T>(_valueType, jp, ctxt,
|
|
652
|
+
_findRootDeserializer(_config, _valueType), true, _valueToUpdate);
|
|
653
|
+
}
|
|
654
|
+
|
|
655
|
+
/**
|
|
656
|
+
* Method for reading sequence of Objects from parser stream.
|
|
657
|
+
*
|
|
658
|
+
* @since 1.8
|
|
659
|
+
*/
|
|
660
|
+
public <T> MappingIterator<T> readValues(byte[] src, int offset, int length)
|
|
661
|
+
throws IOException, JsonProcessingException
|
|
662
|
+
{
|
|
663
|
+
JsonParser jp = _jsonFactory.createJsonParser(src, offset, length);
|
|
664
|
+
if (_schema != null) {
|
|
665
|
+
jp.setSchema(_schema);
|
|
666
|
+
}
|
|
667
|
+
DeserializationContext ctxt = _createDeserializationContext(jp, _config);
|
|
668
|
+
return new MappingIterator<T>(_valueType, jp, ctxt,
|
|
669
|
+
_findRootDeserializer(_config, _valueType), true, _valueToUpdate);
|
|
670
|
+
}
|
|
671
|
+
|
|
672
|
+
/**
|
|
673
|
+
* Since 1.9.3
|
|
674
|
+
*/
|
|
675
|
+
public final <T> MappingIterator<T> readValues(byte[] src)
|
|
676
|
+
throws IOException, JsonProcessingException {
|
|
677
|
+
return readValues(src, 0, src.length);
|
|
678
|
+
}
|
|
679
|
+
|
|
680
|
+
/**
|
|
681
|
+
* Method for reading sequence of Objects from parser stream.
|
|
682
|
+
*
|
|
683
|
+
* @since 1.8
|
|
684
|
+
*/
|
|
685
|
+
public <T> MappingIterator<T> readValues(File src)
|
|
686
|
+
throws IOException, JsonProcessingException
|
|
687
|
+
{
|
|
688
|
+
JsonParser jp = _jsonFactory.createJsonParser(src);
|
|
689
|
+
if (_schema != null) {
|
|
690
|
+
jp.setSchema(_schema);
|
|
691
|
+
}
|
|
692
|
+
DeserializationContext ctxt = _createDeserializationContext(jp, _config);
|
|
693
|
+
return new MappingIterator<T>(_valueType, jp, ctxt,
|
|
694
|
+
_findRootDeserializer(_config, _valueType), true, _valueToUpdate);
|
|
695
|
+
}
|
|
696
|
+
|
|
697
|
+
/**
|
|
698
|
+
* Method for reading sequence of Objects from parser stream.
|
|
699
|
+
*
|
|
700
|
+
* @since 1.8
|
|
701
|
+
*/
|
|
702
|
+
public <T> MappingIterator<T> readValues(URL src)
|
|
703
|
+
throws IOException, JsonProcessingException
|
|
704
|
+
{
|
|
705
|
+
JsonParser jp = _jsonFactory.createJsonParser(src);
|
|
706
|
+
if (_schema != null) {
|
|
707
|
+
jp.setSchema(_schema);
|
|
708
|
+
}
|
|
709
|
+
DeserializationContext ctxt = _createDeserializationContext(jp, _config);
|
|
710
|
+
return new MappingIterator<T>(_valueType, jp, ctxt,
|
|
711
|
+
_findRootDeserializer(_config, _valueType), true, _valueToUpdate);
|
|
712
|
+
}
|
|
713
|
+
|
|
714
|
+
/*
|
|
715
|
+
/**********************************************************
|
|
716
|
+
/* Helper methods
|
|
717
|
+
/**********************************************************
|
|
718
|
+
*/
|
|
719
|
+
|
|
720
|
+
/**
|
|
721
|
+
* Actual implementation of value reading+binding operation.
|
|
722
|
+
*/
|
|
723
|
+
protected Object _bind(JsonParser jp)
|
|
724
|
+
throws IOException, JsonParseException, JsonMappingException
|
|
725
|
+
{
|
|
726
|
+
/* First: may need to read the next token, to initialize state (either
|
|
727
|
+
* before first read from parser, or after previous token has been cleared)
|
|
728
|
+
*/
|
|
729
|
+
Object result;
|
|
730
|
+
JsonToken t = _initForReading(jp);
|
|
731
|
+
if (t == JsonToken.VALUE_NULL) {
|
|
732
|
+
if (_valueToUpdate == null) {
|
|
733
|
+
result = _findRootDeserializer(_config, _valueType).getNullValue();
|
|
734
|
+
} else {
|
|
735
|
+
result = _valueToUpdate;
|
|
736
|
+
}
|
|
737
|
+
} else if (t == JsonToken.END_ARRAY || t == JsonToken.END_OBJECT) {
|
|
738
|
+
result = _valueToUpdate;
|
|
739
|
+
} else { // pointing to event other than null
|
|
740
|
+
DeserializationContext ctxt = _createDeserializationContext(jp, _config);
|
|
741
|
+
JsonDeserializer<Object> deser = _findRootDeserializer(_config, _valueType);
|
|
742
|
+
if (_unwrapRoot) {
|
|
743
|
+
result = _unwrapAndDeserialize(jp, ctxt, _valueType, deser);
|
|
744
|
+
} else {
|
|
745
|
+
if (_valueToUpdate == null) {
|
|
746
|
+
result = deser.deserialize(jp, ctxt);
|
|
747
|
+
} else {
|
|
748
|
+
deser.deserialize(jp, ctxt, _valueToUpdate);
|
|
749
|
+
result = _valueToUpdate;
|
|
750
|
+
}
|
|
751
|
+
}
|
|
752
|
+
}
|
|
753
|
+
// Need to consume the token too
|
|
754
|
+
jp.clearCurrentToken();
|
|
755
|
+
return result;
|
|
756
|
+
}
|
|
757
|
+
|
|
758
|
+
protected Object _bindAndClose(JsonParser jp)
|
|
759
|
+
throws IOException, JsonParseException, JsonMappingException
|
|
760
|
+
{
|
|
761
|
+
if (_schema != null) {
|
|
762
|
+
jp.setSchema(_schema);
|
|
763
|
+
}
|
|
764
|
+
try {
|
|
765
|
+
Object result;
|
|
766
|
+
JsonToken t = _initForReading(jp);
|
|
767
|
+
if (t == JsonToken.VALUE_NULL) {
|
|
768
|
+
if (_valueToUpdate == null) {
|
|
769
|
+
result = _findRootDeserializer(_config, _valueType).getNullValue();
|
|
770
|
+
} else {
|
|
771
|
+
result = _valueToUpdate;
|
|
772
|
+
}
|
|
773
|
+
} else if (t == JsonToken.END_ARRAY || t == JsonToken.END_OBJECT) {
|
|
774
|
+
result = _valueToUpdate;
|
|
775
|
+
} else {
|
|
776
|
+
DeserializationContext ctxt = _createDeserializationContext(jp, _config);
|
|
777
|
+
JsonDeserializer<Object> deser = _findRootDeserializer(_config, _valueType);
|
|
778
|
+
if (_unwrapRoot) {
|
|
779
|
+
result = _unwrapAndDeserialize(jp, ctxt, _valueType, deser);
|
|
780
|
+
} else {
|
|
781
|
+
if (_valueToUpdate == null) {
|
|
782
|
+
result = deser.deserialize(jp, ctxt);
|
|
783
|
+
} else {
|
|
784
|
+
deser.deserialize(jp, ctxt, _valueToUpdate);
|
|
785
|
+
result = _valueToUpdate;
|
|
786
|
+
}
|
|
787
|
+
}
|
|
788
|
+
}
|
|
789
|
+
return result;
|
|
790
|
+
} finally {
|
|
791
|
+
try {
|
|
792
|
+
jp.close();
|
|
793
|
+
} catch (IOException ioe) { }
|
|
794
|
+
}
|
|
795
|
+
}
|
|
796
|
+
|
|
797
|
+
protected JsonNode _bindAsTree(JsonParser jp)
|
|
798
|
+
throws IOException, JsonParseException, JsonMappingException
|
|
799
|
+
{
|
|
800
|
+
JsonNode result;
|
|
801
|
+
JsonToken t = _initForReading(jp);
|
|
802
|
+
if (t == JsonToken.VALUE_NULL || t == JsonToken.END_ARRAY || t == JsonToken.END_OBJECT) {
|
|
803
|
+
result = NullNode.instance;
|
|
804
|
+
} else {
|
|
805
|
+
DeserializationContext ctxt = _createDeserializationContext(jp, _config);
|
|
806
|
+
JsonDeserializer<Object> deser = _findRootDeserializer(_config, JSON_NODE_TYPE);
|
|
807
|
+
if (_unwrapRoot) {
|
|
808
|
+
result = (JsonNode) _unwrapAndDeserialize(jp, ctxt, JSON_NODE_TYPE, deser);
|
|
809
|
+
} else {
|
|
810
|
+
result = (JsonNode) deser.deserialize(jp, ctxt);
|
|
811
|
+
}
|
|
812
|
+
}
|
|
813
|
+
// Need to consume the token too
|
|
814
|
+
jp.clearCurrentToken();
|
|
815
|
+
return result;
|
|
816
|
+
}
|
|
817
|
+
|
|
818
|
+
protected JsonNode _bindAndCloseAsTree(JsonParser jp)
|
|
819
|
+
throws IOException, JsonParseException, JsonMappingException
|
|
820
|
+
{
|
|
821
|
+
if (_schema != null) {
|
|
822
|
+
jp.setSchema(_schema);
|
|
823
|
+
}
|
|
824
|
+
try {
|
|
825
|
+
return _bindAsTree(jp);
|
|
826
|
+
} finally {
|
|
827
|
+
try {
|
|
828
|
+
jp.close();
|
|
829
|
+
} catch (IOException ioe) { }
|
|
830
|
+
}
|
|
831
|
+
}
|
|
832
|
+
|
|
833
|
+
protected static JsonToken _initForReading(JsonParser jp)
|
|
834
|
+
throws IOException, JsonParseException, JsonMappingException
|
|
835
|
+
{
|
|
836
|
+
/* First: must point to a token; if not pointing to one, advance.
|
|
837
|
+
* This occurs before first read from JsonParser, as well as
|
|
838
|
+
* after clearing of current token.
|
|
839
|
+
*/
|
|
840
|
+
JsonToken t = jp.getCurrentToken();
|
|
841
|
+
if (t == null) { // and then we must get something...
|
|
842
|
+
t = jp.nextToken();
|
|
843
|
+
if (t == null) { // [JACKSON-99] Should throw EOFException?
|
|
844
|
+
throw new EOFException("No content to map to Object due to end of input");
|
|
845
|
+
}
|
|
846
|
+
}
|
|
847
|
+
return t;
|
|
848
|
+
}
|
|
849
|
+
|
|
850
|
+
/**
|
|
851
|
+
* Method called to locate deserializer for the passed root-level value.
|
|
852
|
+
*/
|
|
853
|
+
protected JsonDeserializer<Object> _findRootDeserializer(DeserializationConfig cfg, JavaType valueType)
|
|
854
|
+
throws JsonMappingException
|
|
855
|
+
{
|
|
856
|
+
// Sanity check: must have actual type...
|
|
857
|
+
if (valueType == null) {
|
|
858
|
+
throw new JsonMappingException("No value type configured for ObjectReader");
|
|
859
|
+
}
|
|
860
|
+
|
|
861
|
+
// First: have we already seen it?
|
|
862
|
+
JsonDeserializer<Object> deser = _rootDeserializers.get(valueType);
|
|
863
|
+
if (deser != null) {
|
|
864
|
+
return deser;
|
|
865
|
+
}
|
|
866
|
+
|
|
867
|
+
// Nope: need to ask provider to resolve it
|
|
868
|
+
deser = _provider.findTypedValueDeserializer(cfg, valueType, null);
|
|
869
|
+
if (deser == null) { // can this happen?
|
|
870
|
+
throw new JsonMappingException("Can not find a deserializer for type "+valueType);
|
|
871
|
+
}
|
|
872
|
+
_rootDeserializers.put(valueType, deser);
|
|
873
|
+
return deser;
|
|
874
|
+
}
|
|
875
|
+
|
|
876
|
+
protected DeserializationContext _createDeserializationContext(JsonParser jp, DeserializationConfig cfg) {
|
|
877
|
+
// 04-Jan-2010, tatu: we do actually need the provider too... (for polymorphic deser)
|
|
878
|
+
return new StdDeserializationContext(cfg, jp, _provider, _injectableValues);
|
|
879
|
+
}
|
|
880
|
+
|
|
881
|
+
protected Object _unwrapAndDeserialize(JsonParser jp, DeserializationContext ctxt,
|
|
882
|
+
JavaType rootType, JsonDeserializer<Object> deser)
|
|
883
|
+
throws IOException, JsonParseException, JsonMappingException
|
|
884
|
+
{
|
|
885
|
+
SerializedString rootName = _provider.findExpectedRootName(ctxt.getConfig(), rootType);
|
|
886
|
+
if (jp.getCurrentToken() != JsonToken.START_OBJECT) {
|
|
887
|
+
throw JsonMappingException.from(jp, "Current token not START_OBJECT (needed to unwrap root name '"
|
|
888
|
+
+rootName+"'), but "+jp.getCurrentToken());
|
|
889
|
+
}
|
|
890
|
+
if (jp.nextToken() != JsonToken.FIELD_NAME) {
|
|
891
|
+
throw JsonMappingException.from(jp, "Current token not FIELD_NAME (to contain expected root name '"
|
|
892
|
+
+rootName+"'), but "+jp.getCurrentToken());
|
|
893
|
+
}
|
|
894
|
+
String actualName = jp.getCurrentName();
|
|
895
|
+
if (!rootName.getValue().equals(actualName)) {
|
|
896
|
+
throw JsonMappingException.from(jp, "Root name '"+actualName+"' does not match expected ('"+rootName
|
|
897
|
+
+"') for type "+rootType);
|
|
898
|
+
}
|
|
899
|
+
// ok, then move to value itself....
|
|
900
|
+
jp.nextToken();
|
|
901
|
+
Object result;
|
|
902
|
+
if (_valueToUpdate == null) {
|
|
903
|
+
result = deser.deserialize(jp, ctxt);
|
|
904
|
+
} else {
|
|
905
|
+
deser.deserialize(jp, ctxt, _valueToUpdate);
|
|
906
|
+
result = _valueToUpdate;
|
|
907
|
+
}
|
|
908
|
+
// and last, verify that we now get matching END_OBJECT
|
|
909
|
+
if (jp.nextToken() != JsonToken.END_OBJECT) {
|
|
910
|
+
throw JsonMappingException.from(jp, "Current token not END_OBJECT (to match wrapper object with root name '"
|
|
911
|
+
+rootName+"'), but "+jp.getCurrentToken());
|
|
912
|
+
}
|
|
913
|
+
return result;
|
|
914
|
+
}
|
|
915
|
+
|
|
916
|
+
/*
|
|
917
|
+
/**********************************************************
|
|
918
|
+
/* Implementation of rest of ObjectCodec methods
|
|
919
|
+
/**********************************************************
|
|
920
|
+
*/
|
|
921
|
+
|
|
922
|
+
@Override
|
|
923
|
+
public JsonNode createArrayNode() {
|
|
924
|
+
return _config.getNodeFactory().arrayNode();
|
|
925
|
+
}
|
|
926
|
+
|
|
927
|
+
@Override
|
|
928
|
+
public JsonNode createObjectNode() {
|
|
929
|
+
return _config.getNodeFactory().objectNode();
|
|
930
|
+
}
|
|
931
|
+
|
|
932
|
+
@Override
|
|
933
|
+
public JsonParser treeAsTokens(JsonNode n) {
|
|
934
|
+
return new TreeTraversingParser(n, this);
|
|
935
|
+
}
|
|
936
|
+
|
|
937
|
+
@Override
|
|
938
|
+
public <T> T treeToValue(JsonNode n, Class<T> valueType)
|
|
939
|
+
throws IOException, JsonProcessingException
|
|
940
|
+
{
|
|
941
|
+
return readValue(treeAsTokens(n), valueType);
|
|
942
|
+
}
|
|
943
|
+
|
|
944
|
+
/**
|
|
945
|
+
* NOTE: NOT implemented for {@link ObjectReader}.
|
|
946
|
+
*/
|
|
947
|
+
@Override
|
|
948
|
+
public void writeTree(JsonGenerator jgen, JsonNode rootNode) throws IOException, JsonProcessingException
|
|
949
|
+
{
|
|
950
|
+
throw new UnsupportedOperationException("Not implemented for ObjectReader");
|
|
951
|
+
}
|
|
952
|
+
|
|
953
|
+
@Override
|
|
954
|
+
public void writeValue(JsonGenerator jgen, Object value) throws IOException, JsonProcessingException
|
|
955
|
+
{
|
|
956
|
+
throw new UnsupportedOperationException("Not implemented for ObjectReader");
|
|
957
|
+
}
|
|
958
|
+
}
|