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,326 @@
|
|
|
1
|
+
package sh.calaba.org.codehaus.jackson.map.deser;
|
|
2
|
+
|
|
3
|
+
import java.io.IOException;
|
|
4
|
+
import java.text.DateFormat;
|
|
5
|
+
import java.text.ParseException;
|
|
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.exc.UnrecognizedPropertyException;
|
|
13
|
+
import sh.calaba.org.codehaus.jackson.map.util.ArrayBuilders;
|
|
14
|
+
import sh.calaba.org.codehaus.jackson.map.util.ClassUtil;
|
|
15
|
+
import sh.calaba.org.codehaus.jackson.map.util.LinkedNode;
|
|
16
|
+
import sh.calaba.org.codehaus.jackson.map.util.ObjectBuffer;
|
|
17
|
+
import sh.calaba.org.codehaus.jackson.type.JavaType;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Default implementation of {@link DeserializationContext}.
|
|
21
|
+
*/
|
|
22
|
+
public class StdDeserializationContext
|
|
23
|
+
extends DeserializationContext
|
|
24
|
+
{
|
|
25
|
+
/**
|
|
26
|
+
* Let's limit length of error messages, for cases where underlying data
|
|
27
|
+
* may be very large -- no point in spamming logs with megs of meaningless
|
|
28
|
+
* data.
|
|
29
|
+
*/
|
|
30
|
+
final static int MAX_ERROR_STR_LEN = 500;
|
|
31
|
+
|
|
32
|
+
// // // Configuration
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Currently active parser used for deserialization.
|
|
36
|
+
* May be different from the outermost parser
|
|
37
|
+
* when content is buffered.
|
|
38
|
+
*/
|
|
39
|
+
protected JsonParser _parser;
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* @since 1.5
|
|
43
|
+
*/
|
|
44
|
+
protected final DeserializerProvider _deserProvider;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* @since 1.9
|
|
48
|
+
*/
|
|
49
|
+
protected final InjectableValues _injectableValues;
|
|
50
|
+
|
|
51
|
+
// // // Helper object recycling
|
|
52
|
+
|
|
53
|
+
protected ArrayBuilders _arrayBuilders;
|
|
54
|
+
|
|
55
|
+
protected ObjectBuffer _objectBuffer;
|
|
56
|
+
|
|
57
|
+
protected DateFormat _dateFormat;
|
|
58
|
+
|
|
59
|
+
/*
|
|
60
|
+
/**********************************************************
|
|
61
|
+
/* Life-cycle
|
|
62
|
+
/**********************************************************
|
|
63
|
+
*/
|
|
64
|
+
|
|
65
|
+
public StdDeserializationContext(DeserializationConfig config, JsonParser jp,
|
|
66
|
+
DeserializerProvider prov, InjectableValues injectableValues)
|
|
67
|
+
{
|
|
68
|
+
super(config);
|
|
69
|
+
_parser = jp;
|
|
70
|
+
_deserProvider = prov;
|
|
71
|
+
_injectableValues = injectableValues;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/*
|
|
75
|
+
/**********************************************************
|
|
76
|
+
/* Public API, accessors
|
|
77
|
+
/**********************************************************
|
|
78
|
+
*/
|
|
79
|
+
|
|
80
|
+
@Override
|
|
81
|
+
public DeserializerProvider getDeserializerProvider() {
|
|
82
|
+
return _deserProvider;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Method for accessing the currently active parser.
|
|
87
|
+
* May be different from the outermost parser
|
|
88
|
+
* when content is buffered.
|
|
89
|
+
*<p>
|
|
90
|
+
* Use of this method is discouraged: if code has direct access
|
|
91
|
+
* to the active parser, that should be used instead.
|
|
92
|
+
*/
|
|
93
|
+
@Override
|
|
94
|
+
public JsonParser getParser() { return _parser; }
|
|
95
|
+
|
|
96
|
+
@Override
|
|
97
|
+
public Object findInjectableValue(Object valueId,
|
|
98
|
+
BeanProperty forProperty, Object beanInstance)
|
|
99
|
+
{
|
|
100
|
+
if (_injectableValues == null) {
|
|
101
|
+
throw new IllegalStateException("No 'injectableValues' configured, can not inject value with id ["+valueId+"]");
|
|
102
|
+
}
|
|
103
|
+
return _injectableValues.findInjectableValue(valueId, this, forProperty, beanInstance);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/*
|
|
107
|
+
/**********************************************************
|
|
108
|
+
/* Public API, helper object recycling
|
|
109
|
+
/**********************************************************
|
|
110
|
+
*/
|
|
111
|
+
|
|
112
|
+
@Override
|
|
113
|
+
public final ObjectBuffer leaseObjectBuffer()
|
|
114
|
+
{
|
|
115
|
+
ObjectBuffer buf = _objectBuffer;
|
|
116
|
+
if (buf == null) {
|
|
117
|
+
buf = new ObjectBuffer();
|
|
118
|
+
} else {
|
|
119
|
+
_objectBuffer = null;
|
|
120
|
+
}
|
|
121
|
+
return buf;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
@Override
|
|
125
|
+
public final void returnObjectBuffer(ObjectBuffer buf)
|
|
126
|
+
{
|
|
127
|
+
/* Already have a reusable buffer? Let's retain bigger one
|
|
128
|
+
* (or if equal, favor newer one, shorter life-cycle)
|
|
129
|
+
*/
|
|
130
|
+
if (_objectBuffer == null
|
|
131
|
+
|| buf.initialCapacity() >= _objectBuffer.initialCapacity()) {
|
|
132
|
+
_objectBuffer = buf;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
@Override
|
|
137
|
+
public final ArrayBuilders getArrayBuilders()
|
|
138
|
+
{
|
|
139
|
+
if (_arrayBuilders == null) {
|
|
140
|
+
_arrayBuilders = new ArrayBuilders();
|
|
141
|
+
}
|
|
142
|
+
return _arrayBuilders;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/*
|
|
146
|
+
/**********************************************************
|
|
147
|
+
/* Parsing methods that may use reusable/recyclable objects
|
|
148
|
+
/**********************************************************
|
|
149
|
+
*/
|
|
150
|
+
|
|
151
|
+
@Override
|
|
152
|
+
public Date parseDate(String dateStr)
|
|
153
|
+
throws IllegalArgumentException
|
|
154
|
+
{
|
|
155
|
+
try {
|
|
156
|
+
return getDateFormat().parse(dateStr);
|
|
157
|
+
} catch (ParseException pex) {
|
|
158
|
+
throw new IllegalArgumentException(pex.getMessage());
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
@Override
|
|
163
|
+
public Calendar constructCalendar(Date d)
|
|
164
|
+
{
|
|
165
|
+
/* 08-Jan-2008, tatu: not optimal, but should work for the
|
|
166
|
+
* most part; let's revise as needed.
|
|
167
|
+
*/
|
|
168
|
+
Calendar c = Calendar.getInstance();
|
|
169
|
+
c.setTime(d);
|
|
170
|
+
return c;
|
|
171
|
+
}
|
|
172
|
+
/*
|
|
173
|
+
/**********************************************************
|
|
174
|
+
/* Public API, problem handling, reporting
|
|
175
|
+
/**********************************************************
|
|
176
|
+
*/
|
|
177
|
+
|
|
178
|
+
/**
|
|
179
|
+
* Method deserializers can call to inform configured {@link DeserializationProblemHandler}s
|
|
180
|
+
* of an unrecognized property.
|
|
181
|
+
*
|
|
182
|
+
* @since 1.5
|
|
183
|
+
*/
|
|
184
|
+
@Override
|
|
185
|
+
public boolean handleUnknownProperty(JsonParser jp, JsonDeserializer<?> deser, Object instanceOrClass, String propName)
|
|
186
|
+
throws IOException, JsonProcessingException
|
|
187
|
+
{
|
|
188
|
+
LinkedNode<DeserializationProblemHandler> h = _config.getProblemHandlers();
|
|
189
|
+
if (h != null) {
|
|
190
|
+
/* 04-Jan-2009, tatu: Ugh. Need to mess with currently active parser
|
|
191
|
+
* since parser is not explicitly passed to handler... that was a mistake
|
|
192
|
+
*/
|
|
193
|
+
JsonParser oldParser = _parser;
|
|
194
|
+
_parser = jp;
|
|
195
|
+
try {
|
|
196
|
+
while (h != null) {
|
|
197
|
+
// Can bail out if it's handled
|
|
198
|
+
if (h.value().handleUnknownProperty(this, deser, instanceOrClass, propName)) {
|
|
199
|
+
return true;
|
|
200
|
+
}
|
|
201
|
+
h = h.next();
|
|
202
|
+
}
|
|
203
|
+
} finally {
|
|
204
|
+
_parser = oldParser;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
return false;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
@Override
|
|
211
|
+
public JsonMappingException mappingException(Class<?> targetClass) {
|
|
212
|
+
return mappingException(targetClass, _parser.getCurrentToken());
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
@Override
|
|
216
|
+
public JsonMappingException mappingException(Class<?> targetClass, JsonToken token)
|
|
217
|
+
{
|
|
218
|
+
String clsName = _calcName(targetClass);
|
|
219
|
+
return JsonMappingException.from(_parser, "Can not deserialize instance of "+clsName+" out of "+token+" token");
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
@Override
|
|
223
|
+
public JsonMappingException instantiationException(Class<?> instClass, Throwable t)
|
|
224
|
+
{
|
|
225
|
+
return JsonMappingException.from(_parser,
|
|
226
|
+
"Can not construct instance of "+instClass.getName()+", problem: "+t.getMessage(),
|
|
227
|
+
t);
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
@Override
|
|
231
|
+
public JsonMappingException instantiationException(Class<?> instClass, String msg)
|
|
232
|
+
{
|
|
233
|
+
return JsonMappingException.from(_parser, "Can not construct instance of "+instClass.getName()+", problem: "+msg);
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* Method that will construct an exception suitable for throwing when
|
|
238
|
+
* some String values are acceptable, but the one encountered is not
|
|
239
|
+
*/
|
|
240
|
+
@Override
|
|
241
|
+
public JsonMappingException weirdStringException(Class<?> instClass, String msg)
|
|
242
|
+
{
|
|
243
|
+
return JsonMappingException.from(_parser, "Can not construct instance of "+instClass.getName()+" from String value '"+_valueDesc()+"': "+msg);
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
@Override
|
|
247
|
+
public JsonMappingException weirdNumberException(Class<?> instClass, String msg)
|
|
248
|
+
{
|
|
249
|
+
return JsonMappingException.from(_parser, "Can not construct instance of "+instClass.getName()+" from number value ("+_valueDesc()+"): "+msg);
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
@Override
|
|
253
|
+
public JsonMappingException weirdKeyException(Class<?> keyClass, String keyValue, String msg)
|
|
254
|
+
{
|
|
255
|
+
return JsonMappingException.from(_parser, "Can not construct Map key of type "+keyClass.getName()+" from String \""+_desc(keyValue)+"\": "+msg);
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
@Override
|
|
259
|
+
public JsonMappingException wrongTokenException(JsonParser jp, JsonToken expToken, String msg)
|
|
260
|
+
{
|
|
261
|
+
return JsonMappingException.from(jp, "Unexpected token ("+jp.getCurrentToken()+"), expected "+expToken+": "+msg);
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
@Override
|
|
265
|
+
public JsonMappingException unknownFieldException(Object instanceOrClass, String fieldName)
|
|
266
|
+
{
|
|
267
|
+
return UnrecognizedPropertyException.from(_parser, instanceOrClass, fieldName);
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
@Override
|
|
271
|
+
public JsonMappingException unknownTypeException(JavaType type, String id)
|
|
272
|
+
{
|
|
273
|
+
return JsonMappingException.from(_parser, "Could not resolve type id '"+id+"' into a subtype of "+type);
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
/*
|
|
277
|
+
/**********************************************************
|
|
278
|
+
/* Overridable internal methods
|
|
279
|
+
/**********************************************************
|
|
280
|
+
*/
|
|
281
|
+
|
|
282
|
+
protected DateFormat getDateFormat()
|
|
283
|
+
{
|
|
284
|
+
if (_dateFormat == null) {
|
|
285
|
+
// must create a clone since Formats are not thread-safe:
|
|
286
|
+
_dateFormat = (DateFormat)_config.getDateFormat().clone();
|
|
287
|
+
}
|
|
288
|
+
return _dateFormat;
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
protected String determineClassName(Object instance)
|
|
292
|
+
{
|
|
293
|
+
return ClassUtil.getClassDescription(instance);
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
/*
|
|
297
|
+
/**********************************************************
|
|
298
|
+
/* Other internal methods
|
|
299
|
+
/**********************************************************
|
|
300
|
+
*/
|
|
301
|
+
|
|
302
|
+
protected String _calcName(Class<?> cls)
|
|
303
|
+
{
|
|
304
|
+
if (cls.isArray()) {
|
|
305
|
+
return _calcName(cls.getComponentType())+"[]";
|
|
306
|
+
}
|
|
307
|
+
return cls.getName();
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
protected String _valueDesc()
|
|
311
|
+
{
|
|
312
|
+
try {
|
|
313
|
+
return _desc(_parser.getText());
|
|
314
|
+
} catch (Exception e) {
|
|
315
|
+
return "[N/A]";
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
protected String _desc(String desc)
|
|
319
|
+
{
|
|
320
|
+
// !!! should we quote it? (in case there are control chars, linefeeds)
|
|
321
|
+
if (desc.length() > MAX_ERROR_STR_LEN) {
|
|
322
|
+
desc = desc.substring(0, MAX_ERROR_STR_LEN) + "]...[" + desc.substring(desc.length() - MAX_ERROR_STR_LEN);
|
|
323
|
+
}
|
|
324
|
+
return desc;
|
|
325
|
+
}
|
|
326
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
package sh.calaba.org.codehaus.jackson.map.deser;
|
|
2
|
+
|
|
3
|
+
import java.io.IOException;
|
|
4
|
+
|
|
5
|
+
import sh.calaba.org.codehaus.jackson.Base64Variants;
|
|
6
|
+
import sh.calaba.org.codehaus.jackson.JsonParser;
|
|
7
|
+
import sh.calaba.org.codehaus.jackson.JsonProcessingException;
|
|
8
|
+
import sh.calaba.org.codehaus.jackson.JsonToken;
|
|
9
|
+
import sh.calaba.org.codehaus.jackson.map.DeserializationContext;
|
|
10
|
+
import sh.calaba.org.codehaus.jackson.map.TypeDeserializer;
|
|
11
|
+
import sh.calaba.org.codehaus.jackson.map.annotate.JacksonStdImpl;
|
|
12
|
+
import sh.calaba.org.codehaus.jackson.map.deser.std.StdScalarDeserializer;
|
|
13
|
+
import sh.calaba.org.codehaus.jackson.type.JavaType;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* @deprecated Since 1.9, use {@link sh.calaba.org.codehaus.jackson.map.deser.std.StdDeserializer} instead.
|
|
17
|
+
*/
|
|
18
|
+
@Deprecated
|
|
19
|
+
public abstract class StdDeserializer<T>
|
|
20
|
+
extends sh.calaba.org.codehaus.jackson.map.deser.std.StdDeserializer<T>
|
|
21
|
+
{
|
|
22
|
+
protected StdDeserializer(Class<?> vc) {
|
|
23
|
+
super(vc);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
protected StdDeserializer(JavaType valueType) {
|
|
27
|
+
super(valueType);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/*
|
|
31
|
+
/**********************************************************
|
|
32
|
+
/* Deprecated inner classes
|
|
33
|
+
/**********************************************************
|
|
34
|
+
*/
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* @deprecated Since 1.9 use {@link sh.calaba.org.codehaus.jackson.map.deser.std.ClassDeserializer} instead.
|
|
38
|
+
*/
|
|
39
|
+
@Deprecated
|
|
40
|
+
@JacksonStdImpl
|
|
41
|
+
public class ClassDeserializer extends sh.calaba.org.codehaus.jackson.map.deser.std.ClassDeserializer { }
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* @deprecated Since 1.9 use {@link sh.calaba.org.codehaus.jackson.map.deser.std.CalendarDeserializer} instead.
|
|
45
|
+
*/
|
|
46
|
+
@Deprecated
|
|
47
|
+
@JacksonStdImpl
|
|
48
|
+
public class CalendarDeserializer extends sh.calaba.org.codehaus.jackson.map.deser.std.CalendarDeserializer { }
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* @deprecated Since 1.9 use {@link sh.calaba.org.codehaus.jackson.map.deser.std.StringDeserializer} instead.
|
|
52
|
+
*/
|
|
53
|
+
@Deprecated
|
|
54
|
+
@JacksonStdImpl
|
|
55
|
+
public final static class StringDeserializer
|
|
56
|
+
extends StdScalarDeserializer<String>
|
|
57
|
+
{
|
|
58
|
+
public StringDeserializer() { super(String.class); }
|
|
59
|
+
|
|
60
|
+
@Override
|
|
61
|
+
public String deserialize(JsonParser jp, DeserializationContext ctxt)
|
|
62
|
+
throws IOException, JsonProcessingException
|
|
63
|
+
{
|
|
64
|
+
JsonToken curr = jp.getCurrentToken();
|
|
65
|
+
if (curr == JsonToken.VALUE_STRING) {
|
|
66
|
+
return jp.getText();
|
|
67
|
+
}
|
|
68
|
+
if (curr == JsonToken.VALUE_EMBEDDED_OBJECT) {
|
|
69
|
+
Object ob = jp.getEmbeddedObject();
|
|
70
|
+
if (ob == null) {
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
if (ob instanceof byte[]) {
|
|
74
|
+
return Base64Variants.getDefaultVariant().encode((byte[]) ob, false);
|
|
75
|
+
}
|
|
76
|
+
return ob.toString();
|
|
77
|
+
}
|
|
78
|
+
if (curr.isScalarValue()) {
|
|
79
|
+
return jp.getText();
|
|
80
|
+
}
|
|
81
|
+
throw ctxt.mappingException(_valueClass, curr);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
@SuppressWarnings("deprecation")
|
|
85
|
+
@Override
|
|
86
|
+
public String deserializeWithType(JsonParser jp, DeserializationContext ctxt,
|
|
87
|
+
TypeDeserializer typeDeserializer)
|
|
88
|
+
throws IOException, JsonProcessingException
|
|
89
|
+
{
|
|
90
|
+
return deserialize(jp, ctxt);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
}
|
|
@@ -0,0 +1,494 @@
|
|
|
1
|
+
package sh.calaba.org.codehaus.jackson.map.deser;
|
|
2
|
+
|
|
3
|
+
import java.io.IOException;
|
|
4
|
+
import java.util.HashMap;
|
|
5
|
+
import java.util.concurrent.ConcurrentHashMap;
|
|
6
|
+
|
|
7
|
+
import sh.calaba.org.codehaus.jackson.JsonNode;
|
|
8
|
+
import sh.calaba.org.codehaus.jackson.JsonParser;
|
|
9
|
+
import sh.calaba.org.codehaus.jackson.JsonProcessingException;
|
|
10
|
+
import sh.calaba.org.codehaus.jackson.io.SerializedString;
|
|
11
|
+
import sh.calaba.org.codehaus.jackson.map.AbstractTypeResolver;
|
|
12
|
+
import sh.calaba.org.codehaus.jackson.map.AnnotationIntrospector;
|
|
13
|
+
import sh.calaba.org.codehaus.jackson.map.BeanProperty;
|
|
14
|
+
import sh.calaba.org.codehaus.jackson.map.ContextualDeserializer;
|
|
15
|
+
import sh.calaba.org.codehaus.jackson.map.ContextualKeyDeserializer;
|
|
16
|
+
import sh.calaba.org.codehaus.jackson.map.DeserializationConfig;
|
|
17
|
+
import sh.calaba.org.codehaus.jackson.map.DeserializationContext;
|
|
18
|
+
import sh.calaba.org.codehaus.jackson.map.DeserializerFactory;
|
|
19
|
+
import sh.calaba.org.codehaus.jackson.map.DeserializerProvider;
|
|
20
|
+
import sh.calaba.org.codehaus.jackson.map.Deserializers;
|
|
21
|
+
import sh.calaba.org.codehaus.jackson.map.JsonDeserializer;
|
|
22
|
+
import sh.calaba.org.codehaus.jackson.map.JsonMappingException;
|
|
23
|
+
import sh.calaba.org.codehaus.jackson.map.KeyDeserializer;
|
|
24
|
+
import sh.calaba.org.codehaus.jackson.map.KeyDeserializers;
|
|
25
|
+
import sh.calaba.org.codehaus.jackson.map.ResolvableDeserializer;
|
|
26
|
+
import sh.calaba.org.codehaus.jackson.map.TypeDeserializer;
|
|
27
|
+
import sh.calaba.org.codehaus.jackson.map.introspect.AnnotatedClass;
|
|
28
|
+
import sh.calaba.org.codehaus.jackson.map.type.ArrayType;
|
|
29
|
+
import sh.calaba.org.codehaus.jackson.map.type.CollectionLikeType;
|
|
30
|
+
import sh.calaba.org.codehaus.jackson.map.type.CollectionType;
|
|
31
|
+
import sh.calaba.org.codehaus.jackson.map.type.MapLikeType;
|
|
32
|
+
import sh.calaba.org.codehaus.jackson.map.type.MapType;
|
|
33
|
+
import sh.calaba.org.codehaus.jackson.map.util.ClassUtil;
|
|
34
|
+
import sh.calaba.org.codehaus.jackson.map.util.RootNameLookup;
|
|
35
|
+
import sh.calaba.org.codehaus.jackson.type.JavaType;
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Default {@link DeserializerProvider} implementation.
|
|
41
|
+
* Handles low-level caching (non-root) aspects of deserializer
|
|
42
|
+
* handling; all construction details are delegated to configured
|
|
43
|
+
* {@link DeserializerFactory} instance that the provider owns.
|
|
44
|
+
*/
|
|
45
|
+
public class StdDeserializerProvider
|
|
46
|
+
extends DeserializerProvider
|
|
47
|
+
{
|
|
48
|
+
/*
|
|
49
|
+
/**********************************************************
|
|
50
|
+
/* Caching
|
|
51
|
+
/**********************************************************
|
|
52
|
+
*/
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* We will also cache some dynamically constructed deserializers;
|
|
56
|
+
* specifically, ones that are expensive to construct.
|
|
57
|
+
* This currently means bean and Enum deserializers; array, List and Map
|
|
58
|
+
* deserializers will not be cached.
|
|
59
|
+
*<p>
|
|
60
|
+
* Given that we don't expect much concurrency for additions
|
|
61
|
+
* (should very quickly converge to zero after startup), let's
|
|
62
|
+
* explicitly define a low concurrency setting.
|
|
63
|
+
*/
|
|
64
|
+
final protected ConcurrentHashMap<JavaType, JsonDeserializer<Object>> _cachedDeserializers
|
|
65
|
+
= new ConcurrentHashMap<JavaType, JsonDeserializer<Object>>(64, 0.75f, 2);
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* During deserializer construction process we may need to keep track of partially
|
|
69
|
+
* completed deserializers, to resolve cyclic dependencies. This is the
|
|
70
|
+
* map used for storing deserializers before they are fully complete.
|
|
71
|
+
*/
|
|
72
|
+
final protected HashMap<JavaType, JsonDeserializer<Object>> _incompleteDeserializers
|
|
73
|
+
= new HashMap<JavaType, JsonDeserializer<Object>>(8);
|
|
74
|
+
|
|
75
|
+
final protected RootNameLookup _rootNames;
|
|
76
|
+
|
|
77
|
+
/*
|
|
78
|
+
/**********************************************************
|
|
79
|
+
/* Configuration
|
|
80
|
+
/**********************************************************
|
|
81
|
+
*/
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Factory responsible for constructing actual deserializers, if not
|
|
85
|
+
* one of pre-configured types.
|
|
86
|
+
*/
|
|
87
|
+
protected DeserializerFactory _factory;
|
|
88
|
+
|
|
89
|
+
/*
|
|
90
|
+
/**********************************************************
|
|
91
|
+
/* Life-cycle
|
|
92
|
+
/**********************************************************
|
|
93
|
+
*/
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Default constructor. Equivalent to calling
|
|
97
|
+
*<pre>
|
|
98
|
+
* new StdDeserializerProvider(BeanDeserializerFactory.instance);
|
|
99
|
+
*</pre>
|
|
100
|
+
*/
|
|
101
|
+
public StdDeserializerProvider() { this(BeanDeserializerFactory.instance); }
|
|
102
|
+
|
|
103
|
+
public StdDeserializerProvider(DeserializerFactory f) {
|
|
104
|
+
_factory = f;
|
|
105
|
+
_rootNames = new RootNameLookup();
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
@Override
|
|
109
|
+
public DeserializerProvider withAdditionalDeserializers(Deserializers d) {
|
|
110
|
+
return withFactory(_factory.withAdditionalDeserializers(d));
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
@Override
|
|
114
|
+
public DeserializerProvider withAdditionalKeyDeserializers(KeyDeserializers d) {
|
|
115
|
+
return withFactory(_factory.withAdditionalKeyDeserializers(d));
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
@Override
|
|
119
|
+
public DeserializerProvider withDeserializerModifier(BeanDeserializerModifier modifier) {
|
|
120
|
+
return withFactory(_factory.withDeserializerModifier(modifier));
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
@Override
|
|
124
|
+
public DeserializerProvider withAbstractTypeResolver(AbstractTypeResolver resolver) {
|
|
125
|
+
return withFactory(_factory.withAbstractTypeResolver(resolver));
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
@Override
|
|
129
|
+
public DeserializerProvider withValueInstantiators(ValueInstantiators instantiators) {
|
|
130
|
+
return withFactory(_factory.withValueInstantiators(instantiators));
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
@Override
|
|
134
|
+
public StdDeserializerProvider withFactory(DeserializerFactory factory) {
|
|
135
|
+
// sanity-check to try to prevent hard-to-debug problems; sub-classes MUST override this method
|
|
136
|
+
if (this.getClass() != StdDeserializerProvider.class) {
|
|
137
|
+
throw new IllegalStateException("DeserializerProvider of type "
|
|
138
|
+
+this.getClass().getName()+" does not override 'withFactory()' method");
|
|
139
|
+
}
|
|
140
|
+
return new StdDeserializerProvider(factory);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
/*
|
|
144
|
+
/**********************************************************
|
|
145
|
+
/* Abstract methods impls
|
|
146
|
+
/**********************************************************
|
|
147
|
+
*/
|
|
148
|
+
|
|
149
|
+
@Override
|
|
150
|
+
public JavaType mapAbstractType(DeserializationConfig config, JavaType type)
|
|
151
|
+
throws JsonMappingException
|
|
152
|
+
{
|
|
153
|
+
return _factory.mapAbstractType(config, type);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
@Override
|
|
157
|
+
public SerializedString findExpectedRootName(DeserializationConfig config, JavaType type)
|
|
158
|
+
throws JsonMappingException
|
|
159
|
+
{
|
|
160
|
+
return _rootNames.findRootName(type, config);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
@SuppressWarnings("unchecked")
|
|
164
|
+
@Override
|
|
165
|
+
public JsonDeserializer<Object> findValueDeserializer(DeserializationConfig config,
|
|
166
|
+
JavaType propertyType, BeanProperty property)
|
|
167
|
+
throws JsonMappingException
|
|
168
|
+
{
|
|
169
|
+
JsonDeserializer<Object> deser = _findCachedDeserializer(propertyType);
|
|
170
|
+
if (deser != null) {
|
|
171
|
+
// [JACKSON-385]: need to support contextualization:
|
|
172
|
+
if (deser instanceof ContextualDeserializer<?>) {
|
|
173
|
+
JsonDeserializer<?> d = ((ContextualDeserializer<?>) deser).createContextual(config, property);
|
|
174
|
+
deser = (JsonDeserializer<Object>) d;
|
|
175
|
+
}
|
|
176
|
+
return deser;
|
|
177
|
+
}
|
|
178
|
+
// If not, need to request factory to construct (or recycle)
|
|
179
|
+
deser = _createAndCacheValueDeserializer(config, propertyType, property);
|
|
180
|
+
if (deser == null) {
|
|
181
|
+
/* Should we let caller handle it? Let's have a helper method
|
|
182
|
+
* decide it; can throw an exception, or return a valid
|
|
183
|
+
* deserializer
|
|
184
|
+
*/
|
|
185
|
+
deser = _handleUnknownValueDeserializer(propertyType);
|
|
186
|
+
}
|
|
187
|
+
// [JACKSON-385]: need to support contextualization:
|
|
188
|
+
if (deser instanceof ContextualDeserializer<?>) {
|
|
189
|
+
JsonDeserializer<?> d = ((ContextualDeserializer<?>) deser).createContextual(config, property);
|
|
190
|
+
deser = (JsonDeserializer<Object>) d;
|
|
191
|
+
}
|
|
192
|
+
return deser;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
@Override
|
|
196
|
+
public JsonDeserializer<Object> findTypedValueDeserializer(DeserializationConfig config,
|
|
197
|
+
JavaType type, BeanProperty property)
|
|
198
|
+
throws JsonMappingException
|
|
199
|
+
{
|
|
200
|
+
JsonDeserializer<Object> deser = findValueDeserializer(config, type, property);
|
|
201
|
+
TypeDeserializer typeDeser = _factory.findTypeDeserializer(config, type, property);
|
|
202
|
+
if (typeDeser != null) {
|
|
203
|
+
return new WrappedDeserializer(typeDeser, deser);
|
|
204
|
+
}
|
|
205
|
+
return deser;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
@Override
|
|
209
|
+
public KeyDeserializer findKeyDeserializer(DeserializationConfig config,
|
|
210
|
+
JavaType type, BeanProperty property)
|
|
211
|
+
throws JsonMappingException
|
|
212
|
+
{
|
|
213
|
+
KeyDeserializer kd = _factory.createKeyDeserializer(config, type, property);
|
|
214
|
+
// One more thing: contextuality
|
|
215
|
+
if (kd instanceof ContextualKeyDeserializer) {
|
|
216
|
+
kd = ((ContextualKeyDeserializer) kd).createContextual(config, property);
|
|
217
|
+
}
|
|
218
|
+
if (kd == null) { // if none found, need to use a placeholder that'll fail
|
|
219
|
+
return _handleUnknownKeyDeserializer(type);
|
|
220
|
+
}
|
|
221
|
+
return kd;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
/**
|
|
225
|
+
* Method that can be called to find out whether a deserializer can
|
|
226
|
+
* be found for given type
|
|
227
|
+
*/
|
|
228
|
+
@Override
|
|
229
|
+
public boolean hasValueDeserializerFor(DeserializationConfig config, JavaType type)
|
|
230
|
+
{
|
|
231
|
+
/* Note: mostly copied from findValueDeserializer, except for
|
|
232
|
+
* handling of unknown types
|
|
233
|
+
*/
|
|
234
|
+
JsonDeserializer<Object> deser = _findCachedDeserializer(type);
|
|
235
|
+
if (deser == null) {
|
|
236
|
+
try {
|
|
237
|
+
deser = _createAndCacheValueDeserializer(config, type, null);
|
|
238
|
+
} catch (Exception e) {
|
|
239
|
+
return false;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
return (deser != null);
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
@Override
|
|
246
|
+
public int cachedDeserializersCount() {
|
|
247
|
+
return _cachedDeserializers.size();
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
/**
|
|
251
|
+
* Method that will drop all dynamically constructed deserializers (ones that
|
|
252
|
+
* are counted as result value for {@link #cachedDeserializersCount}).
|
|
253
|
+
* This can be used to remove memory usage (in case some deserializers are
|
|
254
|
+
* only used once or so), or to force re-construction of deserializers after
|
|
255
|
+
* configuration changes for mapper than owns the provider.
|
|
256
|
+
*
|
|
257
|
+
* @since 1.4
|
|
258
|
+
*/
|
|
259
|
+
@Override
|
|
260
|
+
public void flushCachedDeserializers() {
|
|
261
|
+
_cachedDeserializers.clear();
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
/*
|
|
265
|
+
/**********************************************************
|
|
266
|
+
/* Overridable helper methods
|
|
267
|
+
/**********************************************************
|
|
268
|
+
*/
|
|
269
|
+
|
|
270
|
+
protected JsonDeserializer<Object> _findCachedDeserializer(JavaType type)
|
|
271
|
+
{
|
|
272
|
+
if (type == null) {
|
|
273
|
+
throw new IllegalArgumentException();
|
|
274
|
+
}
|
|
275
|
+
return _cachedDeserializers.get(type);
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
/**
|
|
279
|
+
* Method that will try to create a deserializer for given type,
|
|
280
|
+
* and resolve and cache it if necessary
|
|
281
|
+
*
|
|
282
|
+
* @param config Configuration
|
|
283
|
+
* @param type Type of property to deserializer
|
|
284
|
+
* @param property Property (field, setter, ctor arg) to use deserializer for
|
|
285
|
+
*/
|
|
286
|
+
protected JsonDeserializer<Object>_createAndCacheValueDeserializer(DeserializationConfig config,
|
|
287
|
+
JavaType type, BeanProperty property)
|
|
288
|
+
throws JsonMappingException
|
|
289
|
+
{
|
|
290
|
+
/* Only one thread to construct deserializers at any given point in time;
|
|
291
|
+
* limitations necessary to ensure that only completely initialized ones
|
|
292
|
+
* are visible and used.
|
|
293
|
+
*/
|
|
294
|
+
synchronized (_incompleteDeserializers) {
|
|
295
|
+
// Ok, then: could it be that due to a race condition, deserializer can now be found?
|
|
296
|
+
JsonDeserializer<Object> deser = _findCachedDeserializer(type);
|
|
297
|
+
if (deser != null) {
|
|
298
|
+
return deser;
|
|
299
|
+
}
|
|
300
|
+
int count = _incompleteDeserializers.size();
|
|
301
|
+
// Or perhaps being resolved right now?
|
|
302
|
+
if (count > 0) {
|
|
303
|
+
deser = _incompleteDeserializers.get(type);
|
|
304
|
+
if (deser != null) {
|
|
305
|
+
return deser;
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
// Nope: need to create and possibly cache
|
|
309
|
+
try {
|
|
310
|
+
return _createAndCache2(config, type, property);
|
|
311
|
+
} finally {
|
|
312
|
+
// also: any deserializers that have been created are complete by now
|
|
313
|
+
if (count == 0 && _incompleteDeserializers.size() > 0) {
|
|
314
|
+
_incompleteDeserializers.clear();
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
/**
|
|
321
|
+
* Method that handles actual construction (via factory) and caching (both
|
|
322
|
+
* intermediate and eventual)
|
|
323
|
+
*/
|
|
324
|
+
protected JsonDeserializer<Object> _createAndCache2(DeserializationConfig config, JavaType type,
|
|
325
|
+
BeanProperty property)
|
|
326
|
+
throws JsonMappingException
|
|
327
|
+
{
|
|
328
|
+
JsonDeserializer<Object> deser;
|
|
329
|
+
try {
|
|
330
|
+
deser = _createDeserializer(config, type, property);
|
|
331
|
+
} catch (IllegalArgumentException iae) {
|
|
332
|
+
/* We better only expose checked exceptions, since those
|
|
333
|
+
* are what caller is expected to handle
|
|
334
|
+
*/
|
|
335
|
+
throw new JsonMappingException(iae.getMessage(), null, iae);
|
|
336
|
+
}
|
|
337
|
+
if (deser == null) {
|
|
338
|
+
return null;
|
|
339
|
+
}
|
|
340
|
+
/* cache resulting deserializer? always true for "plain" BeanDeserializer
|
|
341
|
+
* (but can be re-defined for sub-classes by using @JsonCachable!)
|
|
342
|
+
*/
|
|
343
|
+
// 08-Jun-2010, tatu: Related to [JACKSON-296], need to avoid caching MapSerializers... so:
|
|
344
|
+
boolean isResolvable = (deser instanceof ResolvableDeserializer);
|
|
345
|
+
boolean addToCache = (deser.getClass() == BeanDeserializer.class);
|
|
346
|
+
if (!addToCache) {
|
|
347
|
+
// 14-Feb-2011, tatu: As per [JACKSON-487], try fully blocking annotation access:
|
|
348
|
+
if (config.isEnabled(DeserializationConfig.Feature.USE_ANNOTATIONS)) {
|
|
349
|
+
AnnotationIntrospector aintr = config.getAnnotationIntrospector();
|
|
350
|
+
// note: pass 'null' to prevent mix-ins from being used
|
|
351
|
+
AnnotatedClass ac = AnnotatedClass.construct(deser.getClass(), aintr, null);
|
|
352
|
+
Boolean cacheAnn = aintr.findCachability(ac);
|
|
353
|
+
if (cacheAnn != null) {
|
|
354
|
+
addToCache = cacheAnn.booleanValue();
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
/* we will temporarily hold on to all created deserializers (to
|
|
359
|
+
* handle cyclic references, and possibly reuse non-cached
|
|
360
|
+
* deserializers (list, map))
|
|
361
|
+
*/
|
|
362
|
+
/* 07-Jun-2010, tatu: Danger: [JACKSON-296] was caused by accidental
|
|
363
|
+
* resolution of a reference -- couple of ways to prevent this;
|
|
364
|
+
* either not add Lists or Maps, or clear references eagerly.
|
|
365
|
+
* Let's actually do both; since both seem reasonable.
|
|
366
|
+
*/
|
|
367
|
+
/* Need to resolve? Mostly done for bean deserializers; required for
|
|
368
|
+
* resolving cyclic references.
|
|
369
|
+
*/
|
|
370
|
+
if (isResolvable) {
|
|
371
|
+
_incompleteDeserializers.put(type, deser);
|
|
372
|
+
_resolveDeserializer(config, (ResolvableDeserializer)deser);
|
|
373
|
+
_incompleteDeserializers.remove(type);
|
|
374
|
+
}
|
|
375
|
+
if (addToCache) {
|
|
376
|
+
_cachedDeserializers.put(type, deser);
|
|
377
|
+
}
|
|
378
|
+
return deser;
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
/* Refactored so we can isolate the casts that require suppression
|
|
382
|
+
* of type-safety warnings.
|
|
383
|
+
*/
|
|
384
|
+
@SuppressWarnings("unchecked")
|
|
385
|
+
protected JsonDeserializer<Object> _createDeserializer(DeserializationConfig config,
|
|
386
|
+
JavaType type, BeanProperty property)
|
|
387
|
+
throws JsonMappingException
|
|
388
|
+
{
|
|
389
|
+
if (type.isEnumType()) {
|
|
390
|
+
return (JsonDeserializer<Object>) _factory.createEnumDeserializer(config, this, type, property);
|
|
391
|
+
}
|
|
392
|
+
if (type.isContainerType()) {
|
|
393
|
+
if (type.isArrayType()) {
|
|
394
|
+
return (JsonDeserializer<Object>)_factory.createArrayDeserializer(config, this,
|
|
395
|
+
(ArrayType) type, property);
|
|
396
|
+
}
|
|
397
|
+
if (type.isMapLikeType()) {
|
|
398
|
+
MapLikeType mlt = (MapLikeType) type;
|
|
399
|
+
if (mlt.isTrueMapType()) {
|
|
400
|
+
return (JsonDeserializer<Object>)_factory.createMapDeserializer(config, this,
|
|
401
|
+
(MapType) mlt, property);
|
|
402
|
+
}
|
|
403
|
+
return (JsonDeserializer<Object>)_factory.createMapLikeDeserializer(config, this,
|
|
404
|
+
mlt, property);
|
|
405
|
+
}
|
|
406
|
+
if (type.isCollectionLikeType()) {
|
|
407
|
+
CollectionLikeType clt = (CollectionLikeType) type;
|
|
408
|
+
if (clt.isTrueCollectionType()) {
|
|
409
|
+
return (JsonDeserializer<Object>)_factory.createCollectionDeserializer(config, this,
|
|
410
|
+
(CollectionType) clt, property);
|
|
411
|
+
}
|
|
412
|
+
return (JsonDeserializer<Object>)_factory.createCollectionLikeDeserializer(config, this,
|
|
413
|
+
clt, property);
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
// 02-Mar-2009, tatu: Let's consider JsonNode to be a type of its own
|
|
418
|
+
if (JsonNode.class.isAssignableFrom(type.getRawClass())) {
|
|
419
|
+
return (JsonDeserializer<Object>)_factory.createTreeDeserializer(config, this, type, property);
|
|
420
|
+
}
|
|
421
|
+
return (JsonDeserializer<Object>)_factory.createBeanDeserializer(config, this, type, property);
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
protected void _resolveDeserializer(DeserializationConfig config, ResolvableDeserializer ser)
|
|
425
|
+
throws JsonMappingException
|
|
426
|
+
{
|
|
427
|
+
ser.resolve(config, this);
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
/*
|
|
431
|
+
/**********************************************************
|
|
432
|
+
/* Overridable error reporting methods
|
|
433
|
+
/**********************************************************
|
|
434
|
+
*/
|
|
435
|
+
|
|
436
|
+
protected JsonDeserializer<Object> _handleUnknownValueDeserializer(JavaType type)
|
|
437
|
+
throws JsonMappingException
|
|
438
|
+
{
|
|
439
|
+
// Let's try to figure out the reason, to give better error
|
|
440
|
+
Class<?> rawClass = type.getRawClass();
|
|
441
|
+
if (!ClassUtil.isConcrete(rawClass)) {
|
|
442
|
+
throw new JsonMappingException("Can not find a Value deserializer for abstract type "+type);
|
|
443
|
+
}
|
|
444
|
+
throw new JsonMappingException("Can not find a Value deserializer for type "+type);
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
protected KeyDeserializer _handleUnknownKeyDeserializer(JavaType type)
|
|
448
|
+
throws JsonMappingException
|
|
449
|
+
{
|
|
450
|
+
throw new JsonMappingException("Can not find a (Map) Key deserializer for type "+type);
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
/*
|
|
454
|
+
/**********************************************************
|
|
455
|
+
/* Helper classes
|
|
456
|
+
/**********************************************************
|
|
457
|
+
*/
|
|
458
|
+
|
|
459
|
+
/**
|
|
460
|
+
* Simple deserializer that will call configured type deserializer, passing
|
|
461
|
+
* in configured data deserializer, and exposing it all as a simple
|
|
462
|
+
* deserializer.
|
|
463
|
+
*/
|
|
464
|
+
protected final static class WrappedDeserializer
|
|
465
|
+
extends JsonDeserializer<Object>
|
|
466
|
+
{
|
|
467
|
+
final TypeDeserializer _typeDeserializer;
|
|
468
|
+
final JsonDeserializer<Object> _deserializer;
|
|
469
|
+
|
|
470
|
+
public WrappedDeserializer(TypeDeserializer typeDeser, JsonDeserializer<Object> deser)
|
|
471
|
+
{
|
|
472
|
+
super();
|
|
473
|
+
_typeDeserializer = typeDeser;
|
|
474
|
+
_deserializer = deser;
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
@Override
|
|
478
|
+
public Object deserialize(JsonParser jp, DeserializationContext ctxt)
|
|
479
|
+
throws IOException, JsonProcessingException
|
|
480
|
+
{
|
|
481
|
+
return _deserializer.deserializeWithType(jp, ctxt, _typeDeserializer);
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
@Override
|
|
485
|
+
public Object deserializeWithType(JsonParser jp, DeserializationContext ctxt,
|
|
486
|
+
TypeDeserializer typeDeserializer)
|
|
487
|
+
throws IOException, JsonProcessingException
|
|
488
|
+
{
|
|
489
|
+
// should never happen? (if it can, could call on that object)
|
|
490
|
+
throw new IllegalStateException("Type-wrapped deserializer's deserializeWithType should never get called");
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
}
|