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
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
package sh.calaba.org.codehaus.jackson.map.deser.std;
|
|
2
|
+
|
|
3
|
+
import java.io.IOException;
|
|
4
|
+
|
|
5
|
+
import sh.calaba.org.codehaus.jackson.JsonParser;
|
|
6
|
+
import sh.calaba.org.codehaus.jackson.JsonProcessingException;
|
|
7
|
+
import sh.calaba.org.codehaus.jackson.JsonToken;
|
|
8
|
+
import sh.calaba.org.codehaus.jackson.map.DeserializationContext;
|
|
9
|
+
import sh.calaba.org.codehaus.jackson.type.JavaType;
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* @since 1.9
|
|
13
|
+
*/
|
|
14
|
+
public class JavaTypeDeserializer
|
|
15
|
+
extends StdScalarDeserializer<JavaType>
|
|
16
|
+
{
|
|
17
|
+
public JavaTypeDeserializer() { super(JavaType.class); }
|
|
18
|
+
|
|
19
|
+
@Override
|
|
20
|
+
public JavaType deserialize(JsonParser jp, DeserializationContext ctxt)
|
|
21
|
+
throws IOException, JsonProcessingException
|
|
22
|
+
{
|
|
23
|
+
JsonToken curr = jp.getCurrentToken();
|
|
24
|
+
// Usually should just get string value:
|
|
25
|
+
if (curr == JsonToken.VALUE_STRING) {
|
|
26
|
+
String str = jp.getText().trim();
|
|
27
|
+
if (str.length() == 0) {
|
|
28
|
+
return getEmptyValue();
|
|
29
|
+
}
|
|
30
|
+
return ctxt.getTypeFactory().constructFromCanonical(str);
|
|
31
|
+
}
|
|
32
|
+
// or occasionally just embedded object maybe
|
|
33
|
+
if (curr == JsonToken.VALUE_EMBEDDED_OBJECT) {
|
|
34
|
+
return (JavaType) jp.getEmbeddedObject();
|
|
35
|
+
}
|
|
36
|
+
throw ctxt.mappingException(_valueClass);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
package sh.calaba.org.codehaus.jackson.map.deser.std;
|
|
2
|
+
|
|
3
|
+
import java.io.IOException;
|
|
4
|
+
|
|
5
|
+
import sh.calaba.org.codehaus.jackson.*;
|
|
6
|
+
import sh.calaba.org.codehaus.jackson.map.*;
|
|
7
|
+
import sh.calaba.org.codehaus.jackson.node.*;
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Deserializer that can build instances of {@link JsonNode} from any
|
|
11
|
+
* JSON content, using appropriate {@link JsonNode} type.
|
|
12
|
+
*
|
|
13
|
+
* @since 1.9 (moved from higher-level package)
|
|
14
|
+
*/
|
|
15
|
+
public class JsonNodeDeserializer
|
|
16
|
+
extends BaseNodeDeserializer<JsonNode>
|
|
17
|
+
{
|
|
18
|
+
/**
|
|
19
|
+
* Singleton instance of generic deserializer for {@link JsonNode}.
|
|
20
|
+
* Only used for types other than JSON Object and Array.
|
|
21
|
+
*/
|
|
22
|
+
private final static JsonNodeDeserializer instance = new JsonNodeDeserializer();
|
|
23
|
+
|
|
24
|
+
protected JsonNodeDeserializer() { super(JsonNode.class); }
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Factory method for accessing deserializer for specific node type
|
|
28
|
+
*/
|
|
29
|
+
public static JsonDeserializer<? extends JsonNode> getDeserializer(Class<?> nodeClass)
|
|
30
|
+
{
|
|
31
|
+
if (nodeClass == ObjectNode.class) {
|
|
32
|
+
return ObjectDeserializer.getInstance();
|
|
33
|
+
}
|
|
34
|
+
if (nodeClass == ArrayNode.class) {
|
|
35
|
+
return ArrayDeserializer.getInstance();
|
|
36
|
+
}
|
|
37
|
+
// For others, generic one works fine
|
|
38
|
+
return instance;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/*
|
|
42
|
+
/**********************************************************
|
|
43
|
+
/* Actual deserializer implementations
|
|
44
|
+
/**********************************************************
|
|
45
|
+
*/
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Implementation that will produce types of any JSON nodes; not just one
|
|
49
|
+
* deserializer is registered to handle (in case of more specialized handler).
|
|
50
|
+
* Overridden by typed sub-classes for more thorough checking
|
|
51
|
+
*/
|
|
52
|
+
@Override
|
|
53
|
+
public JsonNode deserialize(JsonParser jp, DeserializationContext ctxt)
|
|
54
|
+
throws IOException, JsonProcessingException
|
|
55
|
+
{
|
|
56
|
+
switch (jp.getCurrentToken()) {
|
|
57
|
+
case START_OBJECT:
|
|
58
|
+
return deserializeObject(jp, ctxt, ctxt.getNodeFactory());
|
|
59
|
+
case START_ARRAY:
|
|
60
|
+
return deserializeArray(jp, ctxt, ctxt.getNodeFactory());
|
|
61
|
+
default:
|
|
62
|
+
return deserializeAny(jp, ctxt, ctxt.getNodeFactory());
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/*
|
|
67
|
+
/**********************************************************
|
|
68
|
+
/* Specific instances for more accurate types
|
|
69
|
+
/**********************************************************
|
|
70
|
+
*/
|
|
71
|
+
|
|
72
|
+
final static class ObjectDeserializer
|
|
73
|
+
extends BaseNodeDeserializer<ObjectNode>
|
|
74
|
+
{
|
|
75
|
+
protected final static ObjectDeserializer _instance = new ObjectDeserializer();
|
|
76
|
+
|
|
77
|
+
protected ObjectDeserializer() {
|
|
78
|
+
super(ObjectNode.class);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
public static ObjectDeserializer getInstance() { return _instance; }
|
|
82
|
+
|
|
83
|
+
@Override
|
|
84
|
+
public ObjectNode deserialize(JsonParser jp, DeserializationContext ctxt)
|
|
85
|
+
throws IOException, JsonProcessingException
|
|
86
|
+
{
|
|
87
|
+
if (jp.getCurrentToken() == JsonToken.START_OBJECT) {
|
|
88
|
+
jp.nextToken();
|
|
89
|
+
return deserializeObject(jp, ctxt, ctxt.getNodeFactory());
|
|
90
|
+
}
|
|
91
|
+
if (jp.getCurrentToken() == JsonToken.FIELD_NAME) {
|
|
92
|
+
return deserializeObject(jp, ctxt, ctxt.getNodeFactory());
|
|
93
|
+
}
|
|
94
|
+
throw ctxt.mappingException(ObjectNode.class);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
final static class ArrayDeserializer
|
|
99
|
+
extends BaseNodeDeserializer<ArrayNode>
|
|
100
|
+
{
|
|
101
|
+
protected final static ArrayDeserializer _instance = new ArrayDeserializer();
|
|
102
|
+
|
|
103
|
+
protected ArrayDeserializer() {
|
|
104
|
+
super(ArrayNode.class);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
public static ArrayDeserializer getInstance() { return _instance; }
|
|
108
|
+
|
|
109
|
+
@Override
|
|
110
|
+
public ArrayNode deserialize(JsonParser jp, DeserializationContext ctxt)
|
|
111
|
+
throws IOException, JsonProcessingException
|
|
112
|
+
{
|
|
113
|
+
if (jp.isExpectedStartArrayToken()) {
|
|
114
|
+
return deserializeArray(jp, ctxt, ctxt.getNodeFactory());
|
|
115
|
+
}
|
|
116
|
+
throw ctxt.mappingException(ArrayNode.class);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Base class for all actual {@link JsonNode} deserializer
|
|
123
|
+
* implementations
|
|
124
|
+
*/
|
|
125
|
+
abstract class BaseNodeDeserializer<N extends JsonNode>
|
|
126
|
+
extends StdDeserializer<N>
|
|
127
|
+
{
|
|
128
|
+
public BaseNodeDeserializer(Class<N> nodeClass)
|
|
129
|
+
{
|
|
130
|
+
super(nodeClass);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
@Override
|
|
134
|
+
public Object deserializeWithType(JsonParser jp, DeserializationContext ctxt,
|
|
135
|
+
TypeDeserializer typeDeserializer)
|
|
136
|
+
throws IOException, JsonProcessingException
|
|
137
|
+
{
|
|
138
|
+
/* Output can be as JSON Object, Array or scalar: no way to know
|
|
139
|
+
* a priori. So:
|
|
140
|
+
*/
|
|
141
|
+
return typeDeserializer.deserializeTypedFromAny(jp, ctxt);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/*
|
|
145
|
+
/**********************************************************
|
|
146
|
+
/* Overridable methods
|
|
147
|
+
/**********************************************************
|
|
148
|
+
*/
|
|
149
|
+
|
|
150
|
+
protected void _reportProblem(JsonParser jp, String msg)
|
|
151
|
+
throws JsonMappingException
|
|
152
|
+
{
|
|
153
|
+
throw new JsonMappingException(msg, jp.getTokenLocation());
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* Method called when there is a duplicate value for a field.
|
|
158
|
+
* By default we don't care, and the last value is used.
|
|
159
|
+
* Can be overridden to provide alternate handling, such as throwing
|
|
160
|
+
* an exception, or choosing different strategy for combining values
|
|
161
|
+
* or choosing which one to keep.
|
|
162
|
+
*
|
|
163
|
+
* @param fieldName Name of the field for which duplicate value was found
|
|
164
|
+
* @param objectNode Object node that contains values
|
|
165
|
+
* @param oldValue Value that existed for the object node before newValue
|
|
166
|
+
* was added
|
|
167
|
+
* @param newValue Newly added value just added to the object node
|
|
168
|
+
*/
|
|
169
|
+
protected void _handleDuplicateField(String fieldName, ObjectNode objectNode,
|
|
170
|
+
JsonNode oldValue, JsonNode newValue)
|
|
171
|
+
throws JsonProcessingException
|
|
172
|
+
{
|
|
173
|
+
// By default, we don't do anything
|
|
174
|
+
;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
/*
|
|
178
|
+
/**********************************************************
|
|
179
|
+
/* Helper methods
|
|
180
|
+
/**********************************************************
|
|
181
|
+
*/
|
|
182
|
+
|
|
183
|
+
protected final ObjectNode deserializeObject(JsonParser jp, DeserializationContext ctxt,
|
|
184
|
+
final JsonNodeFactory nodeFactory)
|
|
185
|
+
throws IOException, JsonProcessingException
|
|
186
|
+
{
|
|
187
|
+
ObjectNode node = nodeFactory.objectNode();
|
|
188
|
+
JsonToken t = jp.getCurrentToken();
|
|
189
|
+
if (t == JsonToken.START_OBJECT) {
|
|
190
|
+
t = jp.nextToken();
|
|
191
|
+
}
|
|
192
|
+
for (; t == JsonToken.FIELD_NAME; t = jp.nextToken()) {
|
|
193
|
+
String fieldName = jp.getCurrentName();
|
|
194
|
+
JsonNode value;
|
|
195
|
+
switch (jp.nextToken()) {
|
|
196
|
+
case START_OBJECT:
|
|
197
|
+
value = deserializeObject(jp, ctxt, nodeFactory);
|
|
198
|
+
break;
|
|
199
|
+
case START_ARRAY:
|
|
200
|
+
value = deserializeArray(jp, ctxt, nodeFactory);
|
|
201
|
+
break;
|
|
202
|
+
case VALUE_STRING:
|
|
203
|
+
value = nodeFactory.textNode(jp.getText());
|
|
204
|
+
break;
|
|
205
|
+
default:
|
|
206
|
+
value = deserializeAny(jp, ctxt, nodeFactory);
|
|
207
|
+
}
|
|
208
|
+
JsonNode old = node.put(fieldName, value);
|
|
209
|
+
if (old != null) {
|
|
210
|
+
_handleDuplicateField(fieldName, node, old, value);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
return node;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
protected final ArrayNode deserializeArray(JsonParser jp, DeserializationContext ctxt,
|
|
217
|
+
final JsonNodeFactory nodeFactory)
|
|
218
|
+
throws IOException, JsonProcessingException
|
|
219
|
+
{
|
|
220
|
+
ArrayNode node = nodeFactory.arrayNode();
|
|
221
|
+
while (true) {
|
|
222
|
+
switch (jp.nextToken()) {
|
|
223
|
+
case START_OBJECT:
|
|
224
|
+
node.add(deserializeObject(jp, ctxt, nodeFactory));
|
|
225
|
+
break;
|
|
226
|
+
case START_ARRAY:
|
|
227
|
+
node.add(deserializeArray(jp, ctxt, nodeFactory));
|
|
228
|
+
break;
|
|
229
|
+
case END_ARRAY:
|
|
230
|
+
return node;
|
|
231
|
+
case VALUE_STRING:
|
|
232
|
+
node.add(nodeFactory.textNode(jp.getText()));
|
|
233
|
+
break;
|
|
234
|
+
default:
|
|
235
|
+
node.add(deserializeAny(jp, ctxt, nodeFactory));
|
|
236
|
+
break;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
protected final JsonNode deserializeAny(JsonParser jp, DeserializationContext ctxt,
|
|
242
|
+
final JsonNodeFactory nodeFactory)
|
|
243
|
+
throws IOException, JsonProcessingException
|
|
244
|
+
{
|
|
245
|
+
switch (jp.getCurrentToken()) {
|
|
246
|
+
case START_OBJECT:
|
|
247
|
+
return deserializeObject(jp, ctxt, nodeFactory);
|
|
248
|
+
|
|
249
|
+
case START_ARRAY:
|
|
250
|
+
return deserializeArray(jp, ctxt, nodeFactory);
|
|
251
|
+
|
|
252
|
+
case FIELD_NAME:
|
|
253
|
+
return deserializeObject(jp, ctxt, nodeFactory);
|
|
254
|
+
|
|
255
|
+
case VALUE_EMBEDDED_OBJECT:
|
|
256
|
+
// [JACKSON-796]
|
|
257
|
+
{
|
|
258
|
+
Object ob = jp.getEmbeddedObject();
|
|
259
|
+
if (ob == null) { // should this occur?
|
|
260
|
+
return nodeFactory.nullNode();
|
|
261
|
+
}
|
|
262
|
+
Class<?> type = ob.getClass();
|
|
263
|
+
if (type == byte[].class) { // most common special case
|
|
264
|
+
return nodeFactory.binaryNode((byte[]) ob);
|
|
265
|
+
}
|
|
266
|
+
// any other special handling needed?
|
|
267
|
+
return nodeFactory.POJONode(ob);
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
case VALUE_STRING:
|
|
271
|
+
return nodeFactory.textNode(jp.getText());
|
|
272
|
+
|
|
273
|
+
case VALUE_NUMBER_INT:
|
|
274
|
+
{
|
|
275
|
+
JsonParser.NumberType nt = jp.getNumberType();
|
|
276
|
+
if (nt == JsonParser.NumberType.BIG_INTEGER
|
|
277
|
+
|| ctxt.isEnabled(DeserializationConfig.Feature.USE_BIG_INTEGER_FOR_INTS)) {
|
|
278
|
+
return nodeFactory.numberNode(jp.getBigIntegerValue());
|
|
279
|
+
}
|
|
280
|
+
if (nt == JsonParser.NumberType.INT) {
|
|
281
|
+
return nodeFactory.numberNode(jp.getIntValue());
|
|
282
|
+
}
|
|
283
|
+
return nodeFactory.numberNode(jp.getLongValue());
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
case VALUE_NUMBER_FLOAT:
|
|
287
|
+
{
|
|
288
|
+
JsonParser.NumberType nt = jp.getNumberType();
|
|
289
|
+
if (nt == JsonParser.NumberType.BIG_DECIMAL
|
|
290
|
+
|| ctxt.isEnabled(DeserializationConfig.Feature.USE_BIG_DECIMAL_FOR_FLOATS)) {
|
|
291
|
+
return nodeFactory.numberNode(jp.getDecimalValue());
|
|
292
|
+
}
|
|
293
|
+
return nodeFactory.numberNode(jp.getDoubleValue());
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
case VALUE_TRUE:
|
|
297
|
+
return nodeFactory.booleanNode(true);
|
|
298
|
+
|
|
299
|
+
case VALUE_FALSE:
|
|
300
|
+
return nodeFactory.booleanNode(false);
|
|
301
|
+
|
|
302
|
+
case VALUE_NULL:
|
|
303
|
+
return nodeFactory.nullNode();
|
|
304
|
+
|
|
305
|
+
// These states can not be mapped; input stream is
|
|
306
|
+
// off by an event or two
|
|
307
|
+
|
|
308
|
+
//case END_OBJECT:
|
|
309
|
+
//case END_ARRAY:
|
|
310
|
+
default:
|
|
311
|
+
throw ctxt.mappingException(getValueClass());
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
}
|
|
@@ -0,0 +1,412 @@
|
|
|
1
|
+
package sh.calaba.org.codehaus.jackson.map.deser.std;
|
|
2
|
+
|
|
3
|
+
import java.io.IOException;
|
|
4
|
+
import java.lang.reflect.Constructor;
|
|
5
|
+
import java.lang.reflect.InvocationTargetException;
|
|
6
|
+
import java.util.*;
|
|
7
|
+
|
|
8
|
+
import sh.calaba.org.codehaus.jackson.JsonParser;
|
|
9
|
+
import sh.calaba.org.codehaus.jackson.JsonProcessingException;
|
|
10
|
+
import sh.calaba.org.codehaus.jackson.JsonToken;
|
|
11
|
+
import sh.calaba.org.codehaus.jackson.map.*;
|
|
12
|
+
import sh.calaba.org.codehaus.jackson.map.annotate.JacksonStdImpl;
|
|
13
|
+
import sh.calaba.org.codehaus.jackson.map.deser.SettableBeanProperty;
|
|
14
|
+
import sh.calaba.org.codehaus.jackson.map.deser.ValueInstantiator;
|
|
15
|
+
import sh.calaba.org.codehaus.jackson.map.deser.impl.PropertyBasedCreator;
|
|
16
|
+
import sh.calaba.org.codehaus.jackson.map.deser.impl.PropertyValueBuffer;
|
|
17
|
+
import sh.calaba.org.codehaus.jackson.map.deser.std.ContainerDeserializerBase;
|
|
18
|
+
import sh.calaba.org.codehaus.jackson.map.deser.std.StdValueInstantiator;
|
|
19
|
+
import sh.calaba.org.codehaus.jackson.map.introspect.AnnotatedConstructor;
|
|
20
|
+
import sh.calaba.org.codehaus.jackson.map.introspect.AnnotatedWithParams;
|
|
21
|
+
import sh.calaba.org.codehaus.jackson.map.util.ArrayBuilders;
|
|
22
|
+
import sh.calaba.org.codehaus.jackson.type.JavaType;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Basic serializer that can take Json "Object" structure and
|
|
26
|
+
* construct a {@link java.util.Map} instance, with typed contents.
|
|
27
|
+
*<p>
|
|
28
|
+
* Note: for untyped content (one indicated by passing Object.class
|
|
29
|
+
* as the type), {@link UntypedObjectDeserializer} is used instead.
|
|
30
|
+
* It can also construct {@link java.util.Map}s, but not with specific
|
|
31
|
+
* POJO types, only other containers and primitives/wrappers.
|
|
32
|
+
*/
|
|
33
|
+
@JacksonStdImpl
|
|
34
|
+
public class MapDeserializer
|
|
35
|
+
extends ContainerDeserializerBase<Map<Object,Object>>
|
|
36
|
+
implements ResolvableDeserializer
|
|
37
|
+
{
|
|
38
|
+
// // Configuration: typing, deserializers
|
|
39
|
+
|
|
40
|
+
protected final JavaType _mapType;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Key deserializer used, if not null. If null, String from JSON
|
|
44
|
+
* content is used as is.
|
|
45
|
+
*/
|
|
46
|
+
protected final KeyDeserializer _keyDeserializer;
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Value deserializer.
|
|
50
|
+
*/
|
|
51
|
+
protected final JsonDeserializer<Object> _valueDeserializer;
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* If value instances have polymorphic type information, this
|
|
55
|
+
* is the type deserializer that can handle it
|
|
56
|
+
*/
|
|
57
|
+
protected final TypeDeserializer _valueTypeDeserializer;
|
|
58
|
+
|
|
59
|
+
// // Instance construction settings:
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* @since 1.9
|
|
63
|
+
*/
|
|
64
|
+
protected final ValueInstantiator _valueInstantiator;
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* @since 1.9
|
|
68
|
+
*/
|
|
69
|
+
protected final boolean _hasDefaultCreator;
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* If the Map is to be instantiated using non-default constructor
|
|
73
|
+
* or factory method
|
|
74
|
+
* that takes one or more named properties as argument(s),
|
|
75
|
+
* this creator is used for instantiation.
|
|
76
|
+
*/
|
|
77
|
+
protected PropertyBasedCreator _propertyBasedCreator;
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Deserializer that is used iff delegate-based creator is
|
|
81
|
+
* to be used for deserializing from JSON Object.
|
|
82
|
+
*/
|
|
83
|
+
protected JsonDeserializer<Object> _delegateDeserializer;
|
|
84
|
+
|
|
85
|
+
// // Any properties to ignore if seen?
|
|
86
|
+
|
|
87
|
+
protected HashSet<String> _ignorableProperties;
|
|
88
|
+
|
|
89
|
+
/*
|
|
90
|
+
/**********************************************************
|
|
91
|
+
/* Life-cycle
|
|
92
|
+
/**********************************************************
|
|
93
|
+
*/
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* @deprecated Since 1.9, use variant that takes ValueInstantiator
|
|
97
|
+
*/
|
|
98
|
+
@Deprecated
|
|
99
|
+
protected MapDeserializer(JavaType mapType, Constructor<Map<Object,Object>> defCtor,
|
|
100
|
+
KeyDeserializer keyDeser, JsonDeserializer<Object> valueDeser,
|
|
101
|
+
TypeDeserializer valueTypeDeser)
|
|
102
|
+
{
|
|
103
|
+
super(Map.class);
|
|
104
|
+
_mapType = mapType;
|
|
105
|
+
_keyDeserializer = keyDeser;
|
|
106
|
+
_valueDeserializer = valueDeser;
|
|
107
|
+
_valueTypeDeserializer = valueTypeDeser;
|
|
108
|
+
// not super-clean, but has to do...
|
|
109
|
+
StdValueInstantiator inst = new StdValueInstantiator(null, mapType);
|
|
110
|
+
if (defCtor != null) {
|
|
111
|
+
AnnotatedConstructor aCtor = new AnnotatedConstructor(defCtor,
|
|
112
|
+
null, null);
|
|
113
|
+
inst.configureFromObjectSettings(aCtor, null, null, null, null);
|
|
114
|
+
}
|
|
115
|
+
_hasDefaultCreator = (defCtor != null);
|
|
116
|
+
_valueInstantiator = inst;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
public MapDeserializer(JavaType mapType, ValueInstantiator valueInstantiator,
|
|
120
|
+
KeyDeserializer keyDeser, JsonDeserializer<Object> valueDeser,
|
|
121
|
+
TypeDeserializer valueTypeDeser)
|
|
122
|
+
{
|
|
123
|
+
super(Map.class);
|
|
124
|
+
_mapType = mapType;
|
|
125
|
+
_keyDeserializer = keyDeser;
|
|
126
|
+
_valueDeserializer = valueDeser;
|
|
127
|
+
_valueTypeDeserializer = valueTypeDeser;
|
|
128
|
+
_valueInstantiator = valueInstantiator;
|
|
129
|
+
if (valueInstantiator.canCreateFromObjectWith()) {
|
|
130
|
+
_propertyBasedCreator = new PropertyBasedCreator(valueInstantiator);
|
|
131
|
+
} else {
|
|
132
|
+
_propertyBasedCreator = null;
|
|
133
|
+
}
|
|
134
|
+
_hasDefaultCreator = valueInstantiator.canCreateUsingDefault();
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Copy-constructor that can be used by sub-classes to allow
|
|
139
|
+
* copy-on-write styling copying of settings of an existing instance.
|
|
140
|
+
*
|
|
141
|
+
* @since 1.9
|
|
142
|
+
*/
|
|
143
|
+
protected MapDeserializer(MapDeserializer src)
|
|
144
|
+
{
|
|
145
|
+
super(src._valueClass);
|
|
146
|
+
_mapType = src._mapType;
|
|
147
|
+
_keyDeserializer = src._keyDeserializer;
|
|
148
|
+
_valueDeserializer = src._valueDeserializer;
|
|
149
|
+
_valueTypeDeserializer = src._valueTypeDeserializer;
|
|
150
|
+
_valueInstantiator = src._valueInstantiator;
|
|
151
|
+
_propertyBasedCreator = src._propertyBasedCreator;
|
|
152
|
+
_delegateDeserializer = src._delegateDeserializer;
|
|
153
|
+
_hasDefaultCreator = src._hasDefaultCreator;
|
|
154
|
+
// should we make a copy here?
|
|
155
|
+
_ignorableProperties = src._ignorableProperties;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
public void setIgnorableProperties(String[] ignorable)
|
|
159
|
+
{
|
|
160
|
+
_ignorableProperties = (ignorable == null || ignorable.length == 0) ?
|
|
161
|
+
null : ArrayBuilders.arrayToSet(ignorable);
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
/*
|
|
165
|
+
/**********************************************************
|
|
166
|
+
/* Validation, post-processing (ResolvableDeserializer)
|
|
167
|
+
/**********************************************************
|
|
168
|
+
*/
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* Method called to finalize setup of this deserializer,
|
|
172
|
+
* after deserializer itself has been registered. This
|
|
173
|
+
* is needed to handle recursive and transitive dependencies.
|
|
174
|
+
*/
|
|
175
|
+
@Override
|
|
176
|
+
public void resolve(DeserializationConfig config, DeserializerProvider provider)
|
|
177
|
+
throws JsonMappingException
|
|
178
|
+
{
|
|
179
|
+
// May need to resolve types for delegate- and/or property-based creators:
|
|
180
|
+
if (_valueInstantiator.canCreateUsingDelegate()) {
|
|
181
|
+
JavaType delegateType = _valueInstantiator.getDelegateType();
|
|
182
|
+
if (delegateType == null) {
|
|
183
|
+
throw new IllegalArgumentException("Invalid delegate-creator definition for "+_mapType
|
|
184
|
+
+": value instantiator ("+_valueInstantiator.getClass().getName()
|
|
185
|
+
+") returned true for 'canCreateUsingDelegate()', but null for 'getDelegateType()'");
|
|
186
|
+
}
|
|
187
|
+
AnnotatedWithParams delegateCreator = _valueInstantiator.getDelegateCreator();
|
|
188
|
+
// Need to create a temporary property to allow contextual deserializers:
|
|
189
|
+
// Note: unlike BeanDeserializer, we don't have an AnnotatedClass around; hence no annotations passed
|
|
190
|
+
BeanProperty.Std property = new BeanProperty.Std(null,
|
|
191
|
+
delegateType, null, delegateCreator);
|
|
192
|
+
_delegateDeserializer = findDeserializer(config, provider, delegateType, property);
|
|
193
|
+
}
|
|
194
|
+
if (_propertyBasedCreator != null) {
|
|
195
|
+
for (SettableBeanProperty prop : _propertyBasedCreator.getCreatorProperties()) {
|
|
196
|
+
if (!prop.hasValueDeserializer()) {
|
|
197
|
+
_propertyBasedCreator.assignDeserializer(prop, findDeserializer(config, provider, prop.getType(), prop));
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
/*
|
|
204
|
+
/**********************************************************
|
|
205
|
+
/* ContainerDeserializerBase API
|
|
206
|
+
/**********************************************************
|
|
207
|
+
*/
|
|
208
|
+
|
|
209
|
+
@Override
|
|
210
|
+
public JavaType getContentType() {
|
|
211
|
+
return _mapType.getContentType();
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
@Override
|
|
215
|
+
public JsonDeserializer<Object> getContentDeserializer() {
|
|
216
|
+
return _valueDeserializer;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
/*
|
|
220
|
+
/**********************************************************
|
|
221
|
+
/* JsonDeserializer API
|
|
222
|
+
/**********************************************************
|
|
223
|
+
*/
|
|
224
|
+
|
|
225
|
+
@Override
|
|
226
|
+
@SuppressWarnings("unchecked")
|
|
227
|
+
public Map<Object,Object> deserialize(JsonParser jp, DeserializationContext ctxt)
|
|
228
|
+
throws IOException, JsonProcessingException
|
|
229
|
+
{
|
|
230
|
+
if (_propertyBasedCreator != null) {
|
|
231
|
+
return _deserializeUsingCreator(jp, ctxt);
|
|
232
|
+
}
|
|
233
|
+
if (_delegateDeserializer != null) {
|
|
234
|
+
return (Map<Object,Object>) _valueInstantiator.createUsingDelegate(_delegateDeserializer.deserialize(jp, ctxt));
|
|
235
|
+
}
|
|
236
|
+
if (!_hasDefaultCreator) {
|
|
237
|
+
throw ctxt.instantiationException(getMapClass(), "No default constructor found");
|
|
238
|
+
}
|
|
239
|
+
// Ok: must point to START_OBJECT, FIELD_NAME or END_OBJECT
|
|
240
|
+
JsonToken t = jp.getCurrentToken();
|
|
241
|
+
if (t != JsonToken.START_OBJECT && t != JsonToken.FIELD_NAME && t != JsonToken.END_OBJECT) {
|
|
242
|
+
// [JACKSON-620] (empty) String may be ok however:
|
|
243
|
+
if (t == JsonToken.VALUE_STRING) {
|
|
244
|
+
return (Map<Object,Object>) _valueInstantiator.createFromString(jp.getText());
|
|
245
|
+
}
|
|
246
|
+
throw ctxt.mappingException(getMapClass());
|
|
247
|
+
}
|
|
248
|
+
final Map<Object,Object> result = (Map<Object,Object>) _valueInstantiator.createUsingDefault();
|
|
249
|
+
_readAndBind(jp, ctxt, result);
|
|
250
|
+
return result;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
@Override
|
|
254
|
+
public Map<Object,Object> deserialize(JsonParser jp, DeserializationContext ctxt,
|
|
255
|
+
Map<Object,Object> result)
|
|
256
|
+
throws IOException, JsonProcessingException
|
|
257
|
+
{
|
|
258
|
+
// Ok: must point to START_OBJECT or FIELD_NAME
|
|
259
|
+
JsonToken t = jp.getCurrentToken();
|
|
260
|
+
if (t != JsonToken.START_OBJECT && t != JsonToken.FIELD_NAME) {
|
|
261
|
+
throw ctxt.mappingException(getMapClass());
|
|
262
|
+
}
|
|
263
|
+
_readAndBind(jp, ctxt, result);
|
|
264
|
+
return result;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
@Override
|
|
268
|
+
public Object deserializeWithType(JsonParser jp, DeserializationContext ctxt,
|
|
269
|
+
TypeDeserializer typeDeserializer)
|
|
270
|
+
throws IOException, JsonProcessingException
|
|
271
|
+
{
|
|
272
|
+
// In future could check current token... for now this should be enough:
|
|
273
|
+
return typeDeserializer.deserializeTypedFromObject(jp, ctxt);
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
/*
|
|
277
|
+
/**********************************************************
|
|
278
|
+
/* Other public accessors
|
|
279
|
+
/**********************************************************
|
|
280
|
+
*/
|
|
281
|
+
|
|
282
|
+
@SuppressWarnings("unchecked")
|
|
283
|
+
public final Class<?> getMapClass() { return (Class<Map<Object,Object>>) _mapType.getRawClass(); }
|
|
284
|
+
|
|
285
|
+
@Override public JavaType getValueType() { return _mapType; }
|
|
286
|
+
|
|
287
|
+
/*
|
|
288
|
+
/**********************************************************
|
|
289
|
+
/* Internal methods
|
|
290
|
+
/**********************************************************
|
|
291
|
+
*/
|
|
292
|
+
|
|
293
|
+
protected final void _readAndBind(JsonParser jp, DeserializationContext ctxt,
|
|
294
|
+
Map<Object,Object> result)
|
|
295
|
+
throws IOException, JsonProcessingException
|
|
296
|
+
{
|
|
297
|
+
JsonToken t = jp.getCurrentToken();
|
|
298
|
+
if (t == JsonToken.START_OBJECT) {
|
|
299
|
+
t = jp.nextToken();
|
|
300
|
+
}
|
|
301
|
+
final KeyDeserializer keyDes = _keyDeserializer;
|
|
302
|
+
final JsonDeserializer<Object> valueDes = _valueDeserializer;
|
|
303
|
+
final TypeDeserializer typeDeser = _valueTypeDeserializer;
|
|
304
|
+
for (; t == JsonToken.FIELD_NAME; t = jp.nextToken()) {
|
|
305
|
+
// Must point to field name
|
|
306
|
+
String fieldName = jp.getCurrentName();
|
|
307
|
+
Object key = keyDes.deserializeKey(fieldName, ctxt);
|
|
308
|
+
// And then the value...
|
|
309
|
+
t = jp.nextToken();
|
|
310
|
+
if (_ignorableProperties != null && _ignorableProperties.contains(fieldName)) {
|
|
311
|
+
jp.skipChildren();
|
|
312
|
+
continue;
|
|
313
|
+
}
|
|
314
|
+
// Note: must handle null explicitly here; value deserializers won't
|
|
315
|
+
Object value;
|
|
316
|
+
if (t == JsonToken.VALUE_NULL) {
|
|
317
|
+
value = null;
|
|
318
|
+
} else if (typeDeser == null) {
|
|
319
|
+
value = valueDes.deserialize(jp, ctxt);
|
|
320
|
+
} else {
|
|
321
|
+
value = valueDes.deserializeWithType(jp, ctxt, typeDeser);
|
|
322
|
+
}
|
|
323
|
+
/* !!! 23-Dec-2008, tatu: should there be an option to verify
|
|
324
|
+
* that there are no duplicate field names? (and/or what
|
|
325
|
+
* to do, keep-first or keep-last)
|
|
326
|
+
*/
|
|
327
|
+
result.put(key, value);
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
@SuppressWarnings("unchecked")
|
|
332
|
+
public Map<Object,Object> _deserializeUsingCreator(JsonParser jp, DeserializationContext ctxt)
|
|
333
|
+
throws IOException, JsonProcessingException
|
|
334
|
+
{
|
|
335
|
+
final PropertyBasedCreator creator = _propertyBasedCreator;
|
|
336
|
+
PropertyValueBuffer buffer = creator.startBuilding(jp, ctxt);
|
|
337
|
+
|
|
338
|
+
JsonToken t = jp.getCurrentToken();
|
|
339
|
+
if (t == JsonToken.START_OBJECT) {
|
|
340
|
+
t = jp.nextToken();
|
|
341
|
+
}
|
|
342
|
+
final JsonDeserializer<Object> valueDes = _valueDeserializer;
|
|
343
|
+
final TypeDeserializer typeDeser = _valueTypeDeserializer;
|
|
344
|
+
for (; t == JsonToken.FIELD_NAME; t = jp.nextToken()) {
|
|
345
|
+
String propName = jp.getCurrentName();
|
|
346
|
+
t = jp.nextToken(); // to get to value
|
|
347
|
+
if (_ignorableProperties != null && _ignorableProperties.contains(propName)) {
|
|
348
|
+
jp.skipChildren(); // and skip it (in case of array/object)
|
|
349
|
+
continue;
|
|
350
|
+
}
|
|
351
|
+
// creator property?
|
|
352
|
+
SettableBeanProperty prop = creator.findCreatorProperty(propName);
|
|
353
|
+
if (prop != null) {
|
|
354
|
+
// Last property to set?
|
|
355
|
+
Object value = prop.deserialize(jp, ctxt);
|
|
356
|
+
if (buffer.assignParameter(prop.getPropertyIndex(), value)) {
|
|
357
|
+
jp.nextToken();
|
|
358
|
+
Map<Object,Object> result;
|
|
359
|
+
try {
|
|
360
|
+
result = (Map<Object,Object>)creator.build(buffer);
|
|
361
|
+
} catch (Exception e) {
|
|
362
|
+
wrapAndThrow(e, _mapType.getRawClass());
|
|
363
|
+
return null;
|
|
364
|
+
}
|
|
365
|
+
_readAndBind(jp, ctxt, result);
|
|
366
|
+
return result;
|
|
367
|
+
}
|
|
368
|
+
continue;
|
|
369
|
+
}
|
|
370
|
+
// other property? needs buffering
|
|
371
|
+
String fieldName = jp.getCurrentName();
|
|
372
|
+
Object key = _keyDeserializer.deserializeKey(fieldName, ctxt);
|
|
373
|
+
Object value;
|
|
374
|
+
if (t == JsonToken.VALUE_NULL) {
|
|
375
|
+
value = null;
|
|
376
|
+
} else if (typeDeser == null) {
|
|
377
|
+
value = valueDes.deserialize(jp, ctxt);
|
|
378
|
+
} else {
|
|
379
|
+
value = valueDes.deserializeWithType(jp, ctxt, typeDeser);
|
|
380
|
+
}
|
|
381
|
+
buffer.bufferMapProperty(key, value);
|
|
382
|
+
}
|
|
383
|
+
// end of JSON object?
|
|
384
|
+
// if so, can just construct and leave...
|
|
385
|
+
try {
|
|
386
|
+
return (Map<Object,Object>)creator.build(buffer);
|
|
387
|
+
} catch (Exception e) {
|
|
388
|
+
wrapAndThrow(e, _mapType.getRawClass());
|
|
389
|
+
return null;
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
// note: copied form BeanDeserializer; should try to share somehow...
|
|
394
|
+
protected void wrapAndThrow(Throwable t, Object ref)
|
|
395
|
+
throws IOException
|
|
396
|
+
{
|
|
397
|
+
// to handle StackOverflow:
|
|
398
|
+
while (t instanceof InvocationTargetException && t.getCause() != null) {
|
|
399
|
+
t = t.getCause();
|
|
400
|
+
}
|
|
401
|
+
// Errors and "plain" IOExceptions to be passed as is
|
|
402
|
+
if (t instanceof Error) {
|
|
403
|
+
throw (Error) t;
|
|
404
|
+
}
|
|
405
|
+
// ... except for mapping exceptions
|
|
406
|
+
if (t instanceof IOException && !(t instanceof JsonMappingException)) {
|
|
407
|
+
throw (IOException) t;
|
|
408
|
+
}
|
|
409
|
+
throw JsonMappingException.wrapWithPath(t, ref, null);
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
}
|