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,115 @@
|
|
|
1
|
+
package sh.calaba.org.codehaus.jackson.map;
|
|
2
|
+
|
|
3
|
+
import sh.calaba.org.codehaus.jackson.map.deser.ValueInstantiator;
|
|
4
|
+
import sh.calaba.org.codehaus.jackson.map.introspect.Annotated;
|
|
5
|
+
import sh.calaba.org.codehaus.jackson.map.jsontype.TypeIdResolver;
|
|
6
|
+
import sh.calaba.org.codehaus.jackson.map.jsontype.TypeResolverBuilder;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Helper class used for handling details of creating handler instances (things
|
|
10
|
+
* like {@link JsonSerializer}s, {@link JsonDeserializer}s, various type
|
|
11
|
+
* handlers) of specific types. Actual handler type has been resolved at this
|
|
12
|
+
* point, so instantiator is strictly responsible for providing a configured
|
|
13
|
+
* instance by constructing and configuring a new instance, or possibly by
|
|
14
|
+
* recycling a shared instance. One use case is that of allowing
|
|
15
|
+
* dependency injection, which would otherwise be difficult to do.
|
|
16
|
+
*<p>
|
|
17
|
+
* Custom instances are allowed to return null to indicate that caller should
|
|
18
|
+
* use the default instantiation handling (which just means calling no-argument
|
|
19
|
+
* constructor via reflection).
|
|
20
|
+
*<p>
|
|
21
|
+
* Care has to be taken to ensure that if instance returned is shared, it will
|
|
22
|
+
* be thread-safe; caller will not synchronize access to returned instances.
|
|
23
|
+
*
|
|
24
|
+
* @since 1.8
|
|
25
|
+
*/
|
|
26
|
+
public abstract class HandlerInstantiator
|
|
27
|
+
{
|
|
28
|
+
/*
|
|
29
|
+
/**********************************************************
|
|
30
|
+
/* Public API
|
|
31
|
+
/**********************************************************
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Method called to get an instance of deserializer of specified type.
|
|
36
|
+
*
|
|
37
|
+
* @param config Deserialization configuration in effect
|
|
38
|
+
* @param annotated Element (Class, Method, Field, constructor parameter) that
|
|
39
|
+
* had annotation defining class of deserializer to construct (to allow
|
|
40
|
+
* implementation use information from other annotations)
|
|
41
|
+
* @param deserClass Class of deserializer instance to return
|
|
42
|
+
*
|
|
43
|
+
* @return Deserializer instance to use
|
|
44
|
+
*/
|
|
45
|
+
public abstract JsonDeserializer<?> deserializerInstance(DeserializationConfig config,
|
|
46
|
+
Annotated annotated, Class<? extends JsonDeserializer<?>> deserClass);
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Method called to get an instance of key deserializer of specified type.
|
|
50
|
+
*
|
|
51
|
+
* @param config Deserialization configuration in effect
|
|
52
|
+
* @param annotated Element (Class, Method, Field, constructor parameter) that
|
|
53
|
+
* had annotation defining class of key deserializer to construct (to allow
|
|
54
|
+
* implementation use information from other annotations)
|
|
55
|
+
* @param keyDeserClass Class of key deserializer instance to return
|
|
56
|
+
*
|
|
57
|
+
* @return Key deserializer instance to use
|
|
58
|
+
*/
|
|
59
|
+
public abstract KeyDeserializer keyDeserializerInstance(DeserializationConfig config,
|
|
60
|
+
Annotated annotated, Class<? extends KeyDeserializer> keyDeserClass);
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Method called to get an instance of serializer of specified type.
|
|
64
|
+
*
|
|
65
|
+
* @param config Serialization configuration in effect
|
|
66
|
+
* @param annotated Element (Class, Method, Field) that
|
|
67
|
+
* had annotation defining class of serializer to construct (to allow
|
|
68
|
+
* implementation use information from other annotations)
|
|
69
|
+
* @param serClass Class of serializer instance to return
|
|
70
|
+
*
|
|
71
|
+
* @return Serializer instance to use
|
|
72
|
+
*/
|
|
73
|
+
public abstract JsonSerializer<?> serializerInstance(SerializationConfig config,
|
|
74
|
+
Annotated annotated, Class<? extends JsonSerializer<?>> serClass);
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Method called to get an instance of TypeResolverBuilder of specified type.
|
|
78
|
+
*
|
|
79
|
+
* @param config Mapper configuration in effect (either SerializationConfig or
|
|
80
|
+
* DeserializationConfig, depending on when instance is being constructed)
|
|
81
|
+
* @param annotated annotated Element (Class, Method, Field) that
|
|
82
|
+
* had annotation defining class of builder to construct (to allow
|
|
83
|
+
* implementation use information from other annotations)
|
|
84
|
+
* @param builderClass Class of builder instance to return
|
|
85
|
+
*
|
|
86
|
+
* @return TypeResolverBuilder instance to use
|
|
87
|
+
*/
|
|
88
|
+
public abstract TypeResolverBuilder<?> typeResolverBuilderInstance(MapperConfig<?> config,
|
|
89
|
+
Annotated annotated, Class<? extends TypeResolverBuilder<?>> builderClass);
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Method called to get an instance of TypeIdResolver of specified type.
|
|
93
|
+
*
|
|
94
|
+
* @param config Mapper configuration in effect (either SerializationConfig or
|
|
95
|
+
* DeserializationConfig, depending on when instance is being constructed)
|
|
96
|
+
* @param annotated annotated Element (Class, Method, Field) that
|
|
97
|
+
* had annotation defining class of resolver to construct (to allow
|
|
98
|
+
* implementation use information from other annotations)
|
|
99
|
+
* @param resolverClass Class of resolver instance to return
|
|
100
|
+
*
|
|
101
|
+
* @return TypeResolverBuilder instance to use
|
|
102
|
+
*/
|
|
103
|
+
public abstract TypeIdResolver typeIdResolverInstance(MapperConfig<?> config,
|
|
104
|
+
Annotated annotated, Class<? extends TypeIdResolver> resolverClass);
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Method called to construct an instance of ValueInstantiator of specified type.
|
|
108
|
+
*
|
|
109
|
+
* @since 1.9
|
|
110
|
+
*/
|
|
111
|
+
public ValueInstantiator valueInstantiatorInstance(MapperConfig<?> config,
|
|
112
|
+
Annotated annotated, Class<? extends ValueInstantiator> resolverClass) {
|
|
113
|
+
return null;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
package sh.calaba.org.codehaus.jackson.map;
|
|
2
|
+
|
|
3
|
+
import java.util.HashMap;
|
|
4
|
+
import java.util.Map;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Abstract class that defines API for objects that provide value to
|
|
8
|
+
* "inject" during deserialization. An instance of this object
|
|
9
|
+
*
|
|
10
|
+
* @since 1.9
|
|
11
|
+
*/
|
|
12
|
+
public abstract class InjectableValues
|
|
13
|
+
{
|
|
14
|
+
/**
|
|
15
|
+
* Method called to find value identified by id <code>valueId</code> to
|
|
16
|
+
* inject as value of specified property during deserialization, passing
|
|
17
|
+
* POJO instance in which value will be injected if it is available
|
|
18
|
+
* (will be available when injected via field or setter; not available
|
|
19
|
+
* when injected via constructor or factory method argument).
|
|
20
|
+
*
|
|
21
|
+
* @param valueId Object that identifies value to inject; may be a simple
|
|
22
|
+
* name or more complex identifier object, whatever provider needs
|
|
23
|
+
* @param ctxt Deserialization context
|
|
24
|
+
* @param forProperty Bean property in which value is to be injected
|
|
25
|
+
* @param beanInstance Bean instance that contains property to inject,
|
|
26
|
+
* if available; null if bean has not yet been constructed.
|
|
27
|
+
*/
|
|
28
|
+
public abstract Object findInjectableValue(Object valueId,
|
|
29
|
+
DeserializationContext ctxt, BeanProperty forProperty,
|
|
30
|
+
Object beanInstance);
|
|
31
|
+
|
|
32
|
+
/*
|
|
33
|
+
/**********************************************************
|
|
34
|
+
/* Standard implementation
|
|
35
|
+
/**********************************************************
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Simple standard implementation which uses a simple Map to
|
|
40
|
+
* store values to inject, identified by simple String keys.
|
|
41
|
+
*/
|
|
42
|
+
public static class Std
|
|
43
|
+
extends InjectableValues
|
|
44
|
+
{
|
|
45
|
+
protected final Map<String,Object> _values;
|
|
46
|
+
|
|
47
|
+
public Std() {
|
|
48
|
+
this(new HashMap<String,Object>());
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
public Std(Map<String,Object> values) {
|
|
52
|
+
_values = values;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
public Std addValue(String key, Object value)
|
|
56
|
+
{
|
|
57
|
+
_values.put(key, value);
|
|
58
|
+
return this;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
public Std addValue(Class<?> classKey, Object value)
|
|
62
|
+
{
|
|
63
|
+
_values.put(classKey.getName(), value);
|
|
64
|
+
return this;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
@Override
|
|
68
|
+
public Object findInjectableValue(Object valueId,
|
|
69
|
+
DeserializationContext ctxt, BeanProperty forProperty,
|
|
70
|
+
Object beanInstance)
|
|
71
|
+
{
|
|
72
|
+
if (!(valueId instanceof String)) {
|
|
73
|
+
String type = (valueId == null) ? "[null]" : valueId.getClass().getName();
|
|
74
|
+
throw new IllegalArgumentException("Unrecognized inject value id type ("+type+"), expecting String");
|
|
75
|
+
}
|
|
76
|
+
String key = (String) valueId;
|
|
77
|
+
Object ob = _values.get(key);
|
|
78
|
+
if (ob == null && !_values.containsKey(key)) {
|
|
79
|
+
throw new IllegalArgumentException("No injectable id with value '"+key+"' found (for property '"
|
|
80
|
+
+forProperty.getName()+"')");
|
|
81
|
+
}
|
|
82
|
+
return ob;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
package sh.calaba.org.codehaus.jackson.map;
|
|
2
|
+
|
|
3
|
+
import java.io.IOException;
|
|
4
|
+
|
|
5
|
+
import sh.calaba.org.codehaus.jackson.JsonParser;
|
|
6
|
+
import sh.calaba.org.codehaus.jackson.JsonProcessingException;
|
|
7
|
+
import sh.calaba.org.codehaus.jackson.JsonToken;
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Abstract class that defines API used by {@link ObjectMapper} (and
|
|
11
|
+
* other chained {@link JsonDeserializer}s too) to deserialize Objects of
|
|
12
|
+
* arbitrary types from JSON, using provided {@link JsonParser}.
|
|
13
|
+
*/
|
|
14
|
+
public abstract class JsonDeserializer<T>
|
|
15
|
+
{
|
|
16
|
+
/*
|
|
17
|
+
/**********************************************************
|
|
18
|
+
/* Main deserialization methods
|
|
19
|
+
/**********************************************************
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Method that can be called to ask implementation to deserialize
|
|
24
|
+
* JSON content into the value type this serializer handles.
|
|
25
|
+
* Returned instance is to be constructed by method itself.
|
|
26
|
+
*<p>
|
|
27
|
+
* Pre-condition for this method is that the parser points to the
|
|
28
|
+
* first event that is part of value to deserializer (and which
|
|
29
|
+
* is never JSON 'null' literal, more on this below): for simple
|
|
30
|
+
* types it may be the only value; and for structured types the
|
|
31
|
+
* Object start marker.
|
|
32
|
+
* Post-condition is that the parser will point to the last
|
|
33
|
+
* event that is part of deserialized value (or in case deserialization
|
|
34
|
+
* fails, event that was not recognized or usable, which may be
|
|
35
|
+
* the same event as the one it pointed to upon call).
|
|
36
|
+
*<p>
|
|
37
|
+
* Note that this method is never called for JSON null literal,
|
|
38
|
+
* and thus deserializers need (and should) not check for it.
|
|
39
|
+
*
|
|
40
|
+
* @param jp Parsed used for reading JSON content
|
|
41
|
+
* @param ctxt Context that can be used to access information about
|
|
42
|
+
* this deserialization activity.
|
|
43
|
+
*
|
|
44
|
+
* @return Deserializer value
|
|
45
|
+
*/
|
|
46
|
+
public abstract T deserialize(JsonParser jp, DeserializationContext ctxt)
|
|
47
|
+
throws IOException, JsonProcessingException;
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Alternate deserialization method (compared to the most commonly
|
|
51
|
+
* used, {@link #deserialize(JsonParser, DeserializationContext)}),
|
|
52
|
+
* which takes in initialized value instance, to be
|
|
53
|
+
* configured and/or populated by deserializer.
|
|
54
|
+
* Method is not necessarily used for all supported types; most commonly
|
|
55
|
+
* it is used
|
|
56
|
+
* for Collections and Maps.
|
|
57
|
+
*<p>
|
|
58
|
+
* Default implementation just throws
|
|
59
|
+
* {@link UnsupportedOperationException}, to indicate that types
|
|
60
|
+
* that do not explicitly add support do not expect to get the call.
|
|
61
|
+
*/
|
|
62
|
+
public T deserialize(JsonParser jp, DeserializationContext ctxt,
|
|
63
|
+
T intoValue)
|
|
64
|
+
throws IOException, JsonProcessingException
|
|
65
|
+
{
|
|
66
|
+
throw new UnsupportedOperationException();
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Deserialization called when type being deserialized is defined to
|
|
71
|
+
* contain additional type identifier, to allow for correctly
|
|
72
|
+
* instantiating correct subtype. This can be due to annotation on
|
|
73
|
+
* type (or its supertype), or due to global settings without
|
|
74
|
+
* annotations.
|
|
75
|
+
*<p>
|
|
76
|
+
* Default implementation may work for some types, but ideally subclasses
|
|
77
|
+
* should not rely on current default implementation.
|
|
78
|
+
* Implementation is mostly provided to avoid compilation errors with older
|
|
79
|
+
* code.
|
|
80
|
+
*
|
|
81
|
+
* @param typeDeserializer Deserializer to use for handling type information
|
|
82
|
+
*
|
|
83
|
+
* @since 1.5
|
|
84
|
+
*/
|
|
85
|
+
@SuppressWarnings("unchecked")
|
|
86
|
+
public Object deserializeWithType(JsonParser jp, DeserializationContext ctxt,
|
|
87
|
+
TypeDeserializer typeDeserializer)
|
|
88
|
+
throws IOException, JsonProcessingException
|
|
89
|
+
{
|
|
90
|
+
// We could try calling
|
|
91
|
+
return (T) typeDeserializer.deserializeTypedFromAny(jp, ctxt);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/*
|
|
95
|
+
/**********************************************************
|
|
96
|
+
/* Fluent factory methods for constructing decorated versions
|
|
97
|
+
/**********************************************************
|
|
98
|
+
*/
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Method that will return deserializer instance that is able
|
|
102
|
+
* to handle "unwrapped" value instances
|
|
103
|
+
* If no unwrapped instance can be constructed, will simply
|
|
104
|
+
* return this object as-is.
|
|
105
|
+
*<p>
|
|
106
|
+
* Default implementation just returns 'this'
|
|
107
|
+
* indicating that no unwrapped variant exists
|
|
108
|
+
*
|
|
109
|
+
* @since 1.9
|
|
110
|
+
*/
|
|
111
|
+
public JsonDeserializer<T> unwrappingDeserializer() {
|
|
112
|
+
return this;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/*
|
|
116
|
+
/**********************************************************
|
|
117
|
+
/* Other accessors
|
|
118
|
+
/**********************************************************
|
|
119
|
+
*/
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Method that can be called to determine value to be used for
|
|
123
|
+
* representing null values (values deserialized when JSON token
|
|
124
|
+
* is {@link JsonToken#VALUE_NULL}). Usually this is simply
|
|
125
|
+
* Java null, but for some types (especially primitives) it may be
|
|
126
|
+
* necessary to use non-null values.
|
|
127
|
+
*<p>
|
|
128
|
+
* Note that deserializers are allowed to call this just once and
|
|
129
|
+
* then reuse returned value; that is, method is not guaranteed to
|
|
130
|
+
* be called once for each conversion.
|
|
131
|
+
*<p>
|
|
132
|
+
* Default implementation simply returns null.
|
|
133
|
+
*/
|
|
134
|
+
public T getNullValue() { return null; }
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Method called to determine value to be used for "empty" values
|
|
138
|
+
* (most commonly when deserializing from empty JSON Strings).
|
|
139
|
+
* Usually this is same as {@link #getNullValue} (which in turn
|
|
140
|
+
* is usually simply Java null), but it can be overridden
|
|
141
|
+
* for types. Or, if type should never be converted from empty
|
|
142
|
+
* String, method can also throw an exception.
|
|
143
|
+
*<p>
|
|
144
|
+
* Default implementation simple calls {@link #getNullValue} and
|
|
145
|
+
* returns value.
|
|
146
|
+
*
|
|
147
|
+
* @since 1.9
|
|
148
|
+
*/
|
|
149
|
+
public T getEmptyValue() { return getNullValue(); }
|
|
150
|
+
|
|
151
|
+
/*
|
|
152
|
+
/**********************************************************
|
|
153
|
+
/* Helper classes
|
|
154
|
+
/**********************************************************
|
|
155
|
+
*/
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* This marker class is only to be used with annotations, to
|
|
159
|
+
* indicate that <b>no deserializer is configured</b>.
|
|
160
|
+
*<p>
|
|
161
|
+
* Specifically, this class is to be used as the marker for
|
|
162
|
+
* annotation {@link sh.calaba.org.codehaus.jackson.map.annotate.JsonDeserialize}
|
|
163
|
+
*/
|
|
164
|
+
public abstract static class None
|
|
165
|
+
extends JsonDeserializer<Object> { }
|
|
166
|
+
}
|
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
package sh.calaba.org.codehaus.jackson.map;
|
|
2
|
+
|
|
3
|
+
import java.io.Serializable;
|
|
4
|
+
import java.util.Collection;
|
|
5
|
+
import java.util.Collections;
|
|
6
|
+
import java.util.Iterator;
|
|
7
|
+
import java.util.LinkedList;
|
|
8
|
+
import java.util.List;
|
|
9
|
+
|
|
10
|
+
import sh.calaba.org.codehaus.jackson.JsonLocation;
|
|
11
|
+
import sh.calaba.org.codehaus.jackson.JsonParser;
|
|
12
|
+
import sh.calaba.org.codehaus.jackson.JsonProcessingException;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Checked exception used to signal fatal problems with mapping of
|
|
16
|
+
* content.
|
|
17
|
+
*<p>
|
|
18
|
+
* One additional feature is the ability to denote relevant path
|
|
19
|
+
* of references (during serialization/deserialization) to help in
|
|
20
|
+
* troubleshooting.
|
|
21
|
+
*/
|
|
22
|
+
public class JsonMappingException
|
|
23
|
+
extends JsonProcessingException
|
|
24
|
+
{
|
|
25
|
+
private static final long serialVersionUID = 1L;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Let's limit length of reference chain, to limit damage in cases
|
|
29
|
+
* of infinite recursion.
|
|
30
|
+
*/
|
|
31
|
+
final static int MAX_REFS_TO_LIST = 1000;
|
|
32
|
+
|
|
33
|
+
/*
|
|
34
|
+
/**********************************************************
|
|
35
|
+
/* Helper classes
|
|
36
|
+
/**********************************************************
|
|
37
|
+
*/
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Simple bean class used to contain references. References
|
|
41
|
+
* can be added to indicate execution/reference path that
|
|
42
|
+
* lead to the problem that caused this exception to be
|
|
43
|
+
* thrown.
|
|
44
|
+
*/
|
|
45
|
+
public static class Reference implements Serializable
|
|
46
|
+
{
|
|
47
|
+
private static final long serialVersionUID = 1L;
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Object through which reference was resolved. Can be either
|
|
51
|
+
* actual instance (usually the case for serialization), or
|
|
52
|
+
* Class (usually the case for deserialization).
|
|
53
|
+
*/
|
|
54
|
+
protected Object _from;
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Name of field (for beans) or key (for Maps) that is part
|
|
58
|
+
* of the reference. May be null for Collection types (which
|
|
59
|
+
* generally have {@link #_index} defined), or when resolving
|
|
60
|
+
* Map classes without (yet) having an instance to operate on.
|
|
61
|
+
*/
|
|
62
|
+
protected String _fieldName;
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Index within a {@link Collection} instance that contained
|
|
66
|
+
* the reference; used if index is relevant and available.
|
|
67
|
+
* If either not applicable, or not available, -1 is used to
|
|
68
|
+
* denote "not known".
|
|
69
|
+
*/
|
|
70
|
+
protected int _index = -1;
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Default constructor for deserialization/sub-classing purposes
|
|
74
|
+
*/
|
|
75
|
+
protected Reference() { }
|
|
76
|
+
|
|
77
|
+
public Reference(Object from) { _from = from; }
|
|
78
|
+
|
|
79
|
+
public Reference(Object from, String fieldName) {
|
|
80
|
+
_from = from;
|
|
81
|
+
if (fieldName == null) {
|
|
82
|
+
throw new NullPointerException("Can not pass null fieldName");
|
|
83
|
+
}
|
|
84
|
+
_fieldName = fieldName;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
public Reference(Object from, int index) {
|
|
88
|
+
_from = from;
|
|
89
|
+
_index = index;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
public void setFrom(Object o) { _from = o; }
|
|
93
|
+
public void setFieldName(String n) { _fieldName = n; }
|
|
94
|
+
public void setIndex(int ix) { _index = ix; }
|
|
95
|
+
|
|
96
|
+
public Object getFrom() { return _from; }
|
|
97
|
+
public String getFieldName() { return _fieldName; }
|
|
98
|
+
public int getIndex() { return _index; }
|
|
99
|
+
|
|
100
|
+
@Override public String toString() {
|
|
101
|
+
StringBuilder sb = new StringBuilder();
|
|
102
|
+
Class<?> cls = (_from instanceof Class<?>) ?
|
|
103
|
+
((Class<?>)_from) : _from.getClass();
|
|
104
|
+
/* Hmmh. Although Class.getName() is mostly ok, it does look
|
|
105
|
+
* butt-ugly for arrays. So let's use getSimpleName() instead;
|
|
106
|
+
* but have to prepend package name too.
|
|
107
|
+
*/
|
|
108
|
+
Package pkg = cls.getPackage();
|
|
109
|
+
if (pkg != null) {
|
|
110
|
+
sb.append(pkg.getName());
|
|
111
|
+
sb.append('.');
|
|
112
|
+
}
|
|
113
|
+
sb.append(cls.getSimpleName());
|
|
114
|
+
sb.append('[');
|
|
115
|
+
if (_fieldName != null) {
|
|
116
|
+
sb.append('"');
|
|
117
|
+
sb.append(_fieldName);
|
|
118
|
+
sb.append('"');
|
|
119
|
+
} else if (_index >= 0) {
|
|
120
|
+
sb.append(_index);
|
|
121
|
+
} else {
|
|
122
|
+
sb.append('?');
|
|
123
|
+
}
|
|
124
|
+
sb.append(']');
|
|
125
|
+
return sb.toString();
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/*
|
|
130
|
+
/**********************************************************
|
|
131
|
+
/* State/configuration
|
|
132
|
+
/**********************************************************
|
|
133
|
+
*/
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Path through which problem that triggering throwing of
|
|
137
|
+
* this exception was reached.
|
|
138
|
+
*/
|
|
139
|
+
protected LinkedList<Reference> _path;
|
|
140
|
+
|
|
141
|
+
/*
|
|
142
|
+
/**********************************************************
|
|
143
|
+
/* Life-cycle
|
|
144
|
+
/**********************************************************
|
|
145
|
+
*/
|
|
146
|
+
|
|
147
|
+
public JsonMappingException(String msg)
|
|
148
|
+
{
|
|
149
|
+
super(msg);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
public JsonMappingException(String msg, Throwable rootCause)
|
|
153
|
+
{
|
|
154
|
+
super(msg, rootCause);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
public JsonMappingException(String msg, JsonLocation loc)
|
|
158
|
+
{
|
|
159
|
+
super(msg, loc);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
public JsonMappingException(String msg, JsonLocation loc, Throwable rootCause)
|
|
163
|
+
{
|
|
164
|
+
super(msg, loc, rootCause);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
public static JsonMappingException from(JsonParser jp, String msg)
|
|
168
|
+
{
|
|
169
|
+
return new JsonMappingException(msg, jp.getTokenLocation());
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
public static JsonMappingException from(JsonParser jp, String msg,
|
|
173
|
+
Throwable problem)
|
|
174
|
+
{
|
|
175
|
+
return new JsonMappingException(msg, jp.getTokenLocation(), problem);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
/**
|
|
179
|
+
* Method that can be called to either create a new JsonMappingException
|
|
180
|
+
* (if underlying exception is not a JsonMappingException), or augment
|
|
181
|
+
* given exception with given path/reference information.
|
|
182
|
+
*
|
|
183
|
+
* This version of method is called when the reference is through a
|
|
184
|
+
* non-indexed object, such as a Map or POJO/bean.
|
|
185
|
+
*/
|
|
186
|
+
public static JsonMappingException wrapWithPath(Throwable src, Object refFrom,
|
|
187
|
+
String refFieldName)
|
|
188
|
+
{
|
|
189
|
+
return wrapWithPath(src, new Reference(refFrom, refFieldName));
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* Method that can be called to either create a new JsonMappingException
|
|
194
|
+
* (if underlying exception is not a JsonMappingException), or augment
|
|
195
|
+
* given exception with given path/reference information.
|
|
196
|
+
*
|
|
197
|
+
* This version of method is called when the reference is through an
|
|
198
|
+
* index, which happens with arrays and Collections.
|
|
199
|
+
*/
|
|
200
|
+
public static JsonMappingException wrapWithPath(Throwable src, Object refFrom,
|
|
201
|
+
int index)
|
|
202
|
+
{
|
|
203
|
+
return wrapWithPath(src, new Reference(refFrom, index));
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* Method that can be called to either create a new JsonMappingException
|
|
208
|
+
* (if underlying exception is not a JsonMappingException), or augment
|
|
209
|
+
* given exception with given path/reference information.
|
|
210
|
+
*/
|
|
211
|
+
public static JsonMappingException wrapWithPath(Throwable src, Reference ref)
|
|
212
|
+
{
|
|
213
|
+
JsonMappingException jme;
|
|
214
|
+
if (src instanceof JsonMappingException) {
|
|
215
|
+
jme = (JsonMappingException) src;
|
|
216
|
+
} else {
|
|
217
|
+
String msg = src.getMessage();
|
|
218
|
+
/* Related to [JACKSON-62], let's use a more meaningful placeholder
|
|
219
|
+
* if all we have is null
|
|
220
|
+
*/
|
|
221
|
+
if (msg == null || msg.length() == 0) {
|
|
222
|
+
msg = "(was "+src.getClass().getName()+")";
|
|
223
|
+
}
|
|
224
|
+
jme = new JsonMappingException(msg, null, src);
|
|
225
|
+
}
|
|
226
|
+
jme.prependPath(ref);
|
|
227
|
+
return jme;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
/*
|
|
231
|
+
/**********************************************************
|
|
232
|
+
/* Accessors/mutators
|
|
233
|
+
/**********************************************************
|
|
234
|
+
*/
|
|
235
|
+
|
|
236
|
+
public List<Reference> getPath()
|
|
237
|
+
{
|
|
238
|
+
if (_path == null) {
|
|
239
|
+
return Collections.emptyList();
|
|
240
|
+
}
|
|
241
|
+
return Collections.unmodifiableList(_path);
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
* Method called to prepend a reference information in front of
|
|
246
|
+
* current path
|
|
247
|
+
*/
|
|
248
|
+
public void prependPath(Object referrer, String fieldName)
|
|
249
|
+
{
|
|
250
|
+
Reference ref = new Reference(referrer, fieldName);
|
|
251
|
+
prependPath(ref);
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Method called to prepend a reference information in front of
|
|
255
|
+
* current path
|
|
256
|
+
*/
|
|
257
|
+
public void prependPath(Object referrer, int index)
|
|
258
|
+
{
|
|
259
|
+
Reference ref = new Reference(referrer, index);
|
|
260
|
+
prependPath(ref);
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
public void prependPath(Reference r)
|
|
264
|
+
{
|
|
265
|
+
if (_path == null) {
|
|
266
|
+
_path = new LinkedList<Reference>();
|
|
267
|
+
}
|
|
268
|
+
/* Also: let's not increase without bounds. Could choose either
|
|
269
|
+
* head or tail; tail is easier (no need to ever remove), as
|
|
270
|
+
* well as potentially more useful so let's use it:
|
|
271
|
+
*/
|
|
272
|
+
if (_path.size() < MAX_REFS_TO_LIST) {
|
|
273
|
+
_path.addFirst(r);
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
/*
|
|
278
|
+
/**********************************************************
|
|
279
|
+
/* Overridden methods
|
|
280
|
+
/**********************************************************
|
|
281
|
+
*/
|
|
282
|
+
|
|
283
|
+
/**
|
|
284
|
+
* Method is overridden so that we can properly inject description
|
|
285
|
+
* of problem path, if such is defined.
|
|
286
|
+
*/
|
|
287
|
+
@Override
|
|
288
|
+
public String getMessage()
|
|
289
|
+
{
|
|
290
|
+
/* First: if we have no path info, let's just use parent's
|
|
291
|
+
* definition as is
|
|
292
|
+
*/
|
|
293
|
+
String msg = super.getMessage();
|
|
294
|
+
if (_path == null) {
|
|
295
|
+
return msg;
|
|
296
|
+
}
|
|
297
|
+
/* 19-Feb-2009, tatu: Null and empty messages are not very
|
|
298
|
+
* useful (plus nulls would lead to NPEs), so let's
|
|
299
|
+
* use something else
|
|
300
|
+
*/
|
|
301
|
+
StringBuilder sb = (msg == null) ? new StringBuilder() : new StringBuilder(msg);
|
|
302
|
+
/* 18-Feb-2009, tatu: initially there was a linefeed between
|
|
303
|
+
* message and path reference; but unfortunately many systems
|
|
304
|
+
* (loggers, junit) seem to assume linefeeds are only added to
|
|
305
|
+
* separate stack trace.
|
|
306
|
+
*/
|
|
307
|
+
sb.append(" (through reference chain: ");
|
|
308
|
+
_appendPathDesc(sb);
|
|
309
|
+
sb.append(')');
|
|
310
|
+
return sb.toString();
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
@Override
|
|
314
|
+
public String toString()
|
|
315
|
+
{
|
|
316
|
+
return getClass().getName()+": "+getMessage();
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
/*
|
|
320
|
+
/**********************************************************
|
|
321
|
+
/* Internal methods
|
|
322
|
+
/**********************************************************
|
|
323
|
+
*/
|
|
324
|
+
|
|
325
|
+
protected void _appendPathDesc(StringBuilder sb)
|
|
326
|
+
{
|
|
327
|
+
Iterator<Reference> it = _path.iterator();
|
|
328
|
+
while (it.hasNext()) {
|
|
329
|
+
sb.append(it.next().toString());
|
|
330
|
+
if (it.hasNext()) {
|
|
331
|
+
sb.append("->");
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
}
|