calabash-android 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGES.txt +1 -0
- data/Gemfile +4 -0
- data/LICENSE +8 -0
- data/Rakefile +2 -0
- data/bin/calabash-android +42 -0
- data/bin/calabash-android-build.rb +37 -0
- data/bin/calabash-android-generate.rb +26 -0
- data/bin/calabash-android-helpers.rb +71 -0
- data/bin/calabash-android-run.rb +18 -0
- data/bin/calabash-android-setup.rb +392 -0
- data/calabash-android.gemspec +23 -0
- data/doc/calabash-android-help.txt +21 -0
- data/epl-v10.html +261 -0
- data/features-skeleton/.irbrc +16 -0
- data/features-skeleton/irb_android.sh +2 -0
- data/features-skeleton/my_first.feature +5 -0
- data/features-skeleton/step_definitions/calabash_steps.rb +1 -0
- data/features-skeleton/support/app_installation_hooks.rb +26 -0
- data/features-skeleton/support/app_life_cycle_hooks.rb +28 -0
- data/features-skeleton/support/env.rb +1 -0
- data/features-skeleton/support/hooks.rb +18 -0
- data/lib/calabash-android.rb +2 -0
- data/lib/calabash-android/calabash_steps.rb +18 -0
- data/lib/calabash-android/canned_steps.md +239 -0
- data/lib/calabash-android/color_helper.rb +13 -0
- data/lib/calabash-android/cucumber.rb +9 -0
- data/lib/calabash-android/lib/screenShotTaker.jar +0 -0
- data/lib/calabash-android/management/adb.rb +11 -0
- data/lib/calabash-android/management/app_installation.rb +21 -0
- data/lib/calabash-android/operations.rb +283 -0
- data/lib/calabash-android/steps/additions_manual_steps.rb +11 -0
- data/lib/calabash-android/steps/app_steps.rb +10 -0
- data/lib/calabash-android/steps/assert_steps.rb +32 -0
- data/lib/calabash-android/steps/check_box_steps.rb +3 -0
- data/lib/calabash-android/steps/context_menu_steps.rb +12 -0
- data/lib/calabash-android/steps/date_picker_steps.rb +8 -0
- data/lib/calabash-android/steps/enter_text_steps.rb +21 -0
- data/lib/calabash-android/steps/location_steps.rb +19 -0
- data/lib/calabash-android/steps/navigation_steps.rb +27 -0
- data/lib/calabash-android/steps/press_button_steps.rb +35 -0
- data/lib/calabash-android/steps/progress_steps.rb +49 -0
- data/lib/calabash-android/steps/rotation_steps.rb +8 -0
- data/lib/calabash-android/steps/screenshot_steps.rb +11 -0
- data/lib/calabash-android/steps/spinner_steps.rb +3 -0
- data/lib/calabash-android/steps/time_picker_steps.rb +8 -0
- data/lib/calabash-android/version.rb +6 -0
- data/test-server/AndroidManifest.xml +13 -0
- data/test-server/build.xml +192 -0
- data/test-server/calabash-js/src/calabash.js +125 -0
- data/test-server/calabash-js/src/set_text.js +132 -0
- data/test-server/instrumentation-backend/.classpath +10 -0
- data/test-server/instrumentation-backend/.project +33 -0
- data/test-server/instrumentation-backend/.settings/org.eclipse.jdt.core.prefs +12 -0
- data/test-server/instrumentation-backend/AndroidManifest.xml +15 -0
- data/test-server/instrumentation-backend/assets/foo.bar +0 -0
- data/test-server/instrumentation-backend/gen/com/lesspainful/simpleui/test/R.java +23 -0
- data/test-server/instrumentation-backend/libs/robotium-solo-2.5.jar +0 -0
- data/test-server/instrumentation-backend/project.properties +11 -0
- data/test-server/instrumentation-backend/res/drawable-hdpi/ic_launcher.png +0 -0
- data/test-server/instrumentation-backend/res/drawable-ldpi/ic_launcher.png +0 -0
- data/test-server/instrumentation-backend/res/drawable-mdpi/ic_launcher.png +0 -0
- data/test-server/instrumentation-backend/res/layout/main.xml +12 -0
- data/test-server/instrumentation-backend/res/values/strings.xml +7 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/Command.java +48 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/InstrumentationBackend.java +196 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/Result.java +64 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/TestHelpers.java +136 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/Action.java +11 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/Actions.java +113 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/NullAction.java +23 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/button/PressButtonNumber.java +22 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/button/PressButtonText.java +27 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/button/PressImageButtonNumber.java +22 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/button/WaitForButton.java +47 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/checkbox/ToggleCheckboxNumber.java +22 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/contextmenu/LongPressText.java +22 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/contextmenu/LongPressTextAndSelectFromMenuById.java +26 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/contextmenu/LongPressTextAndSelectFromMenuByIndex.java +22 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/contextmenu/LongPressTextAndSelectFromMenuByText.java +26 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/ClickOnScreen.java +31 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/Swipe.java +28 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/helpers/ListActions.java +26 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/list/LongPressListItems.java +22 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/list/PressListItems.java +22 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/location/FakeGPSLocation.java +79 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/scrolling/ScrollDown.java +28 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/scrolling/ScrollUp.java +28 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/DownKey.java +24 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/GoBack.java +22 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/PressMenu.java +26 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/SelectFromMenuByText.java +24 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/spinner/SelectSpinnerItemByContentDescription.java +43 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/AssertText.java +31 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/AssertTextOfSpecificTextViewByContentDescription.java +32 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/ClearTextByIndex.java +22 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/ClearTextFieldByContentDescription.java +33 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/ClickOnText.java +22 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/EnterTextByContentDescription.java +32 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/EnterTextByIndex.java +22 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/time/SetDateByContentDescription.java +33 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/time/SetDateByIndex.java +24 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/time/SetTimeByContentDescription.java +34 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/time/SetTimeByIndex.java +26 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/ClickOnViewById.java +63 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/LongPressOnViewById.java +34 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/Press.java +89 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/WaitForViewById.java +41 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/Wait.java +24 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForDialogClose.java +21 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForProgress.java +47 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForScreen.java +49 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForText.java +26 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/CalabashChromeClient.java +109 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/DumpBodyHtml.java +33 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/DumpHtml.java +33 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/EnterTextByCssSelector.java +99 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/PressByCssSelector.java +43 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/Query.java +24 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/QueryHelper.java +99 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/ScrollTo.java +74 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/SetPropertyByCssSelector.java +43 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/SetText.java +50 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/Touch.java +44 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Base64Variant.java +413 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Base64Variants.java +90 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/FormatSchema.java +29 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonEncoding.java +47 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonFactory.java +937 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonGenerationException.java +28 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonGenerator.java +1197 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonLocation.java +141 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonNode.java +879 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonParseException.java +23 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonParser.java +1434 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonProcessingException.java +80 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonStreamContext.java +122 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonToken.java +161 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/ObjectCodec.java +157 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/PrettyPrinter.java +166 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/SerializableString.java +54 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Version.java +90 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Versioned.java +20 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JacksonAnnotation.java +20 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonAnyGetter.java +25 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonAnySetter.java +24 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonAutoDetect.java +148 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonBackReference.java +41 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonCreator.java +19 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonGetter.java +35 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonIgnore.java +57 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonIgnoreProperties.java +48 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonIgnoreType.java +33 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonManagedReference.java +41 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonMethod.java +90 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonProperty.java +38 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonPropertyOrder.java +46 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonRawValue.java +33 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonSetter.java +33 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonSubTypes.java +44 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonTypeInfo.java +236 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonTypeName.java +28 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonUnwrapped.java +76 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonValue.java +46 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonWriteNullProperties.java +34 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/package-info.java +16 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/DataFormatDetector.java +176 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/DataFormatMatcher.java +117 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/InputAccessor.java +130 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/MatchStrength.java +64 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/package-info.java +8 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/ByteSourceBootstrapper.java +518 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/DefaultPrettyPrinter.java +13 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/Indenter.java +23 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonGeneratorBase.java +570 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonNumericParserBase.java +20 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonParserBase.java +1067 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonParserMinimalBase.java +539 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonReadContext.java +188 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonWriteContext.java +178 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/ReaderBasedParser.java +1815 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/ReaderBasedParserBase.java +228 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/StreamBasedParserBase.java +197 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/Utf8Generator.java +1757 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/Utf8StreamParser.java +2966 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/WriterBasedGenerator.java +1815 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/package-info.java +6 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/BaseReader.java +117 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/CharacterEscapes.java +73 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/IOContext.java +239 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/InputDecorator.java +67 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/JsonStringEncoder.java +408 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/MergedStream.java +145 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/NumberInput.java +303 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/NumberOutput.java +398 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/OutputDecorator.java +40 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/SegmentedStringWriter.java +104 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/SerializedString.java +114 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/UTF32Reader.java +214 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/UTF8Writer.java +387 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/package.html +4 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/AbstractTypeResolver.java +63 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/AnnotationIntrospector.java +1485 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/BeanDescription.java +171 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/BeanProperty.java +123 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/BeanPropertyDefinition.java +66 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ClassIntrospector.java +117 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ContextualDeserializer.java +38 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ContextualKeyDeserializer.java +33 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ContextualSerializer.java +38 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializationConfig.java +926 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializationContext.java +262 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializationProblemHandler.java +56 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializerFactory.java +356 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializerProvider.java +185 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/Deserializers.java +339 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/HandlerInstantiator.java +115 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/InjectableValues.java +85 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonDeserializer.java +166 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonMappingException.java +335 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonSerializable.java +34 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonSerializableWithType.java +22 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonSerializer.java +138 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/KeyDeserializer.java +31 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/KeyDeserializers.java +21 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/MapperConfig.java +1154 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/MappingIterator.java +190 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/MappingJsonFactory.java +81 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/Module.java +255 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ObjectMapper.java +2885 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ObjectReader.java +958 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ObjectWriter.java +554 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/PropertyNamingStrategy.java +258 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ResolvableDeserializer.java +23 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ResolvableSerializer.java +23 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/RuntimeJsonMappingException.java +21 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/SerializationConfig.java +1041 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/SerializerFactory.java +198 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/SerializerProvider.java +552 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/Serializers.java +137 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/TypeDeserializer.java +118 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/TypeSerializer.java +164 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JacksonInject.java +30 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JacksonStdImpl.java +25 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonCachable.java +32 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonDeserialize.java +109 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonFilter.java +31 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonRootName.java +29 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonSerialize.java +216 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonTypeIdResolver.java +35 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonTypeResolver.java +28 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonValueInstantiator.java +26 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonView.java +37 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/NoClass.java +19 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/package-info.java +5 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/AbstractDeserializer.java +102 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ArrayDeserializer.java +28 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ArrayDeserializers.java +11 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BasicDeserializerFactory.java +894 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializer.java +1537 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializerBuilder.java +277 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializerFactory.java +1474 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializerModifier.java +58 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/CollectionDeserializer.java +47 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ContainerDeserializer.java +14 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/CustomDeserializerFactory.java +227 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/DateDeserializer.java +9 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/EnumDeserializer.java +15 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/EnumResolver.java +17 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/FromStringDeserializer.java +13 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/JsonNodeDeserializer.java +54 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/MapDeserializer.java +44 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/SettableAnyProperty.java +177 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/SettableBeanProperty.java +827 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializationContext.java +326 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializer.java +94 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializerProvider.java +494 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializers.java +119 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdKeyDeserializer.java +12 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdKeyDeserializers.java +11 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdScalarDeserializer.java +13 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ThrowableDeserializer.java +13 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/UntypedObjectDeserializer.java +9 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ValueInstantiator.java +280 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ValueInstantiators.java +52 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/BeanPropertyMap.java +257 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/CreatorCollector.java +141 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/CreatorProperty.java +152 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/ExternalTypeHandler.java +173 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/PropertyBasedCreator.java +117 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/PropertyValue.java +117 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/PropertyValueBuffer.java +102 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/UnwrappedPropertyHandler.java +41 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/ValueInjector.java +45 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/package-info.java +9 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/package-info.java +5 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/AtomicBooleanDeserializer.java +22 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/AtomicReferenceDeserializer.java +47 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/CalendarDeserializer.java +47 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ClassDeserializer.java +49 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/CollectionDeserializer.java +265 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ContainerDeserializerBase.java +37 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/DateDeserializer.java +30 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/EnumDeserializer.java +139 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/EnumMapDeserializer.java +90 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/EnumSetDeserializer.java +89 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/FromStringDeserializer.java +265 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/JavaTypeDeserializer.java +38 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/JsonNodeDeserializer.java +314 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/MapDeserializer.java +412 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ObjectArrayDeserializer.java +201 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/PrimitiveArrayDeserializers.java +583 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdDeserializer.java +1136 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdKeyDeserializer.java +340 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdKeyDeserializers.java +108 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdScalarDeserializer.java +34 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdValueInstantiator.java +392 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StringCollectionDeserializer.java +227 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StringDeserializer.java +55 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ThrowableDeserializer.java +164 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/TimestampDeserializer.java +30 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/TokenBufferDeserializer.java +36 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/UntypedObjectDeserializer.java +248 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/package-info.java +15 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/exc/UnrecognizedPropertyException.java +75 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/CoreXMLDeserializers.java +114 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/CoreXMLSerializers.java +72 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/DOMDeserializer.java +65 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/OptionalHandlerFactory.java +217 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/package-info.java +23 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/Annotated.java +85 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedClass.java +980 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedConstructor.java +143 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedField.java +119 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedMember.java +56 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedMethod.java +188 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedMethodMap.java +85 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedParameter.java +191 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedWithParams.java +195 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotationMap.java +101 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/BasicBeanDescription.java +615 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/BasicClassIntrospector.java +364 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/JacksonAnnotationIntrospector.java +813 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/MemberKey.java +83 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/MethodFilter.java +12 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/NopAnnotationIntrospector.java +209 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/POJOPropertiesCollector.java +713 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/POJOPropertyBuilder.java +648 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/VisibilityChecker.java +424 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/package-info.java +12 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/NamedType.java +53 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/SubtypeResolver.java +39 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/TypeIdResolver.java +74 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/TypeResolverBuilder.java +151 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsArrayTypeDeserializer.java +126 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsArrayTypeSerializer.java +110 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsExternalTypeDeserializer.java +37 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsExternalTypeSerializer.java +129 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsPropertyTypeDeserializer.java +191 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsPropertyTypeSerializer.java +69 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsWrapperTypeDeserializer.java +103 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsWrapperTypeSerializer.java +121 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/ClassNameIdResolver.java +138 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/MinimalClassNameIdResolver.java +66 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/StdSubtypeResolver.java +151 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/StdTypeResolverBuilder.java +202 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeDeserializerBase.java +154 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeIdResolverBase.java +37 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeNameIdResolver.java +154 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeSerializerBase.java +31 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/package-info.java +9 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/package-info.java +10 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleAbstractTypeResolver.java +86 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleDeserializers.java +130 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleKeyDeserializers.java +59 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleModule.java +265 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleSerializers.java +206 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleValueInstantiators.java +45 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/package-info.java +16 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/package-info.java +34 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/AnyGetterWriter.java +48 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ArraySerializers.java +7 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BasicSerializerFactory.java +806 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanPropertyFilter.java +30 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanPropertyWriter.java +512 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializer.java +126 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializerBuilder.java +140 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializerFactory.java +780 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializerModifier.java +95 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ContainerSerializers.java +8 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/CustomSerializerFactory.java +293 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/EnumSerializer.java +17 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/FilterProvider.java +23 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/FilteredBeanPropertyWriter.java +96 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/JdkSerializers.java +11 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/MapSerializer.java +58 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/PropertyBuilder.java +372 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ScalarSerializerBase.java +18 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/SerializerBase.java +23 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/StdKeySerializer.java +10 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/StdSerializerProvider.java +852 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/StdSerializers.java +372 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ToStringSerializer.java +14 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/FailingSerializer.java +43 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/JsonSerializerMap.java +93 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/PropertySerializerMap.java +231 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/ReadOnlyClassToSerializerMap.java +73 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/SerializerCache.java +304 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/SimpleBeanPropertyFilter.java +109 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/SimpleFilterProvider.java +114 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/UnknownSerializer.java +54 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/UnwrappingBeanPropertyWriter.java +99 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/UnwrappingBeanSerializer.java +76 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/package-info.java +5 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/package-info.java +5 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/AsArraySerializerBase.java +185 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/BeanSerializerBase.java +340 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/CalendarSerializer.java +43 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/CollectionSerializer.java +113 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ContainerSerializerBase.java +51 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/DateSerializer.java +42 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/EnumMapSerializer.java +218 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/EnumSerializer.java +84 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/EnumSetSerializer.java +47 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/IndexedStringListSerializer.java +116 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/InetAddressSerializer.java +51 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/IterableSerializer.java +63 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/JsonValueSerializer.java +233 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/MapSerializer.java +422 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/NonTypedScalarSerializerBase.java +34 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/NullSerializer.java +38 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ObjectArraySerializer.java +281 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/RawSerializer.java +52 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ScalarSerializerBase.java +52 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/SerializableSerializer.java +99 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/SerializableWithTypeSerializer.java +90 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/SerializerBase.java +184 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StaticListSerializerBase.java +46 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdArraySerializers.java +476 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdContainerSerializers.java +249 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdJdkSerializers.java +195 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdKeySerializer.java +43 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdKeySerializers.java +95 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StringCollectionSerializer.java +119 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StringSerializer.java +36 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/TimeZoneSerializer.java +38 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ToStringSerializer.java +73 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/TokenBufferSerializer.java +66 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/ArrayType.java +260 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/ClassKey.java +94 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/CollectionLikeType.java +204 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/CollectionType.java +94 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/HierarchicType.java +88 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/MapLikeType.java +265 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/MapType.java +146 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/SimpleType.java +250 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeBase.java +148 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeBindings.java +351 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeFactory.java +1165 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeModifier.java +38 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeParser.java +134 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/package-info.java +10 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Annotations.java +23 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ArrayBuilders.java +293 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/BeanUtil.java +260 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ClassUtil.java +645 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Comparators.java +48 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/EnumResolver.java +108 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/EnumValues.java +82 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ISO8601DateFormat.java +52 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ISO8601Utils.java +230 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/JSONPObject.java +105 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/JSONWrappedObject.java +117 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/LRUMap.java +28 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/LinkedNode.java +45 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Named.java +10 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ObjectBuffer.java +257 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/PrimitiveArrayBuilder.java +180 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Provider.java +21 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/RootNameLookup.java +54 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/StdDateFormat.java +348 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/package-info.java +4 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ArrayNode.java +758 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BaseJsonNode.java +122 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BigIntegerNode.java +104 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BinaryNode.java +136 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BooleanNode.java +84 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ContainerNode.java +185 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/DecimalNode.java +96 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/DoubleNode.java +106 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/IntNode.java +122 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/JsonNodeFactory.java +222 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/LongNode.java +99 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/MissingNode.java +97 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/NodeCursor.java +222 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/NullNode.java +58 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/NumericNode.java +72 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ObjectNode.java +696 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/POJONode.java +145 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/TextNode.java +299 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/TreeTraversingParser.java +383 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ValueNode.java +58 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/package-info.java +8 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/package-info.java +30 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/JsonSchema.java +82 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/JsonSerializableSchema.java +46 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/SchemaAware.java +25 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/package-info.java +5 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/BytesToNameCanonicalizer.java +969 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/CharsToNameCanonicalizer.java +578 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name.java +50 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name1.java +44 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name2.java +40 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name3.java +39 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/NameN.java +68 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/package-info.java +5 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/type/JavaType.java +503 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/type/TypeReference.java +60 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/type/package-info.java +8 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/BufferRecycler.java +109 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/ByteArrayBuilder.java +294 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/CharTypes.java +237 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/DefaultPrettyPrinter.java +282 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/InternCache.java +49 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/JsonGeneratorDelegate.java +273 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/JsonParserDelegate.java +251 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/JsonParserSequence.java +150 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/MinimalPrettyPrinter.java +152 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/TextBuffer.java +707 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/TokenBuffer.java +1233 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/VersionUtil.java +79 -0
- data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/package-info.java +4 -0
- metadata +619 -0
data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Base64Variants.java
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/* Jackson JSON-processor.
|
|
2
|
+
*
|
|
3
|
+
* Copyright (c) 2007- Tatu Saloranta, tatu.saloranta@iki.fi
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the License specified in file LICENSE, included with
|
|
6
|
+
* the source code and binary code bundles.
|
|
7
|
+
* You may not use this file except in compliance with the License.
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
* See the License for the specific language governing permissions and
|
|
13
|
+
* limitations under the License.
|
|
14
|
+
*/
|
|
15
|
+
package sh.calaba.org.codehaus.jackson;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Container for commonly used Base64 variants.
|
|
19
|
+
*
|
|
20
|
+
* @author Tatu Saloranta
|
|
21
|
+
*/
|
|
22
|
+
public final class Base64Variants
|
|
23
|
+
{
|
|
24
|
+
final static String STD_BASE64_ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* This variant is what most people would think of "the standard"
|
|
28
|
+
* Base64 encoding.
|
|
29
|
+
*<p>
|
|
30
|
+
* See <a href="">wikipedia Base64 entry</a> for details.
|
|
31
|
+
*<p>
|
|
32
|
+
* Note that although this can be thought of as the standard variant,
|
|
33
|
+
* it is <b>not</b> the default for Jackson: no-linefeeds alternative
|
|
34
|
+
* is because of JSON requirement of escaping all linefeeds.
|
|
35
|
+
*/
|
|
36
|
+
public final static Base64Variant MIME;
|
|
37
|
+
static {
|
|
38
|
+
MIME = new Base64Variant("MIME", STD_BASE64_ALPHABET, true, '=', 76);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Slightly non-standard modification of {@link #MIME} which does not
|
|
43
|
+
* use linefeeds (max line length set to infinite). Useful when linefeeds
|
|
44
|
+
* wouldn't work well (possibly in attributes), or for minor space savings
|
|
45
|
+
* (save 1 linefeed per 76 data chars, ie. ~1.4% savings).
|
|
46
|
+
*/
|
|
47
|
+
public final static Base64Variant MIME_NO_LINEFEEDS;
|
|
48
|
+
static {
|
|
49
|
+
MIME_NO_LINEFEEDS = new Base64Variant(MIME, "MIME-NO-LINEFEEDS", Integer.MAX_VALUE);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* This variant is the one that predates {@link #MIME}: it is otherwise
|
|
54
|
+
* identical, except that it mandates shorter line length.
|
|
55
|
+
*/
|
|
56
|
+
public final static Base64Variant PEM = new Base64Variant(MIME, "PEM", true, '=', 64);
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* This non-standard variant is usually used when encoded data needs to be
|
|
60
|
+
* passed via URLs (such as part of GET request). It differs from the
|
|
61
|
+
* base {@link #MIME} variant in multiple ways.
|
|
62
|
+
* First, no padding is used: this also means that it generally can not
|
|
63
|
+
* be written in multiple separate but adjacent chunks (which would not
|
|
64
|
+
* be the usual use case in any case). Also, no linefeeds are used (max
|
|
65
|
+
* line length set to infinite). And finally, two characters (plus and
|
|
66
|
+
* slash) that would need quoting in URLs are replaced with more
|
|
67
|
+
* optimal alternatives (hyphen and underscore, respectively).
|
|
68
|
+
*/
|
|
69
|
+
public final static Base64Variant MODIFIED_FOR_URL;
|
|
70
|
+
static {
|
|
71
|
+
StringBuffer sb = new StringBuffer(STD_BASE64_ALPHABET);
|
|
72
|
+
// Replace plus with hyphen, slash with underscore (and no padding)
|
|
73
|
+
sb.setCharAt(sb.indexOf("+"), '-');
|
|
74
|
+
sb.setCharAt(sb.indexOf("/"), '_');
|
|
75
|
+
/* And finally, let's not split lines either, wouldn't work too
|
|
76
|
+
* well with URLs
|
|
77
|
+
*/
|
|
78
|
+
MODIFIED_FOR_URL = new Base64Variant("MODIFIED-FOR-URL", sb.toString(), false, Base64Variant.PADDING_CHAR_NONE, Integer.MAX_VALUE);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Method used to get the default variant ("MIME_NO_LINEFEEDS") for cases
|
|
83
|
+
* where caller does not explicitly specify the variant.
|
|
84
|
+
* We will prefer no-linefeed version because linefeeds in JSON values
|
|
85
|
+
* must be escaped, making linefeed-containing variants sub-optimal.
|
|
86
|
+
*/
|
|
87
|
+
public static Base64Variant getDefaultVariant() {
|
|
88
|
+
return MIME_NO_LINEFEEDS;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
package sh.calaba.org.codehaus.jackson;
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Simple tag interface used to mark schema objects that are used by some
|
|
5
|
+
* {@link JsonParser} and {@link JsonGenerator} implementations to further
|
|
6
|
+
* specify structure of expected format.
|
|
7
|
+
* Basic JSON-based parsers and generators do not use schemas, but some data
|
|
8
|
+
* formats (like many binary data formats like Thrift, protobuf) mandate
|
|
9
|
+
* use of schemas.
|
|
10
|
+
*<p>
|
|
11
|
+
* Since there is little commonality between schemas for different data formats,
|
|
12
|
+
* this interface does not define much meaningful functionality for accessing
|
|
13
|
+
* schema details; rather, specific parser and generator implementations need
|
|
14
|
+
* to cast to schema implementations they use. This marker interface is mostly
|
|
15
|
+
* used for tagging "some kind of schema" -- instead of passing opaque
|
|
16
|
+
* {@link java.lang.Object} -- for documentation purposes.
|
|
17
|
+
*
|
|
18
|
+
* @since 1.8
|
|
19
|
+
*/
|
|
20
|
+
public interface FormatSchema
|
|
21
|
+
{
|
|
22
|
+
/**
|
|
23
|
+
* Method that can be used to get an identifier that can be used for diagnostics
|
|
24
|
+
* purposes, to indicate what kind of data format this schema is used for: typically
|
|
25
|
+
* it is a short name of format itself, but it can also contain additional information
|
|
26
|
+
* in cases where data format supports multiple types of schemas.
|
|
27
|
+
*/
|
|
28
|
+
public String getSchemaType();
|
|
29
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
package sh.calaba.org.codehaus.jackson;
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Enumeration that defines legal encodings that can be used
|
|
5
|
+
* for JSON content, based on list of allowed encodings from
|
|
6
|
+
* <a href="http://www.ietf.org/rfc/rfc4627.txt">JSON specification</a>.
|
|
7
|
+
*<p>
|
|
8
|
+
* Note: if application want to explicitly disregard Encoding
|
|
9
|
+
* limitations (to read in JSON encoded using an encoding not
|
|
10
|
+
* listed as allowed), they can use {@link java.io.Reader} /
|
|
11
|
+
* {@link java.io.Writer} instances as input
|
|
12
|
+
*/
|
|
13
|
+
public enum JsonEncoding {
|
|
14
|
+
UTF8("UTF-8", false), // N/A for big-endian, really
|
|
15
|
+
UTF16_BE("UTF-16BE", true),
|
|
16
|
+
UTF16_LE("UTF-16LE", false),
|
|
17
|
+
UTF32_BE("UTF-32BE", true),
|
|
18
|
+
UTF32_LE("UTF-32LE", false)
|
|
19
|
+
;
|
|
20
|
+
|
|
21
|
+
protected final String _javaName;
|
|
22
|
+
|
|
23
|
+
protected final boolean _bigEndian;
|
|
24
|
+
|
|
25
|
+
JsonEncoding(String javaName, boolean bigEndian)
|
|
26
|
+
{
|
|
27
|
+
_javaName = javaName;
|
|
28
|
+
_bigEndian = bigEndian;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Method for accessing encoding name that JDK will support.
|
|
33
|
+
*
|
|
34
|
+
* @return Matching encoding name that JDK will support.
|
|
35
|
+
*/
|
|
36
|
+
public String getJavaName() { return _javaName; }
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Whether encoding is big-endian (if encoding supports such
|
|
40
|
+
* notion). If no such distinction is made (as is the case for
|
|
41
|
+
* {@link #UTF8}), return value is undefined.
|
|
42
|
+
*
|
|
43
|
+
* @return True for big-endian encodings; false for little-endian
|
|
44
|
+
* (or if not applicable)
|
|
45
|
+
*/
|
|
46
|
+
public boolean isBigEndian() { return _bigEndian; }
|
|
47
|
+
}
|
|
@@ -0,0 +1,937 @@
|
|
|
1
|
+
/* Jackson JSON-processor.
|
|
2
|
+
*
|
|
3
|
+
* Copyright (c) 2007- Tatu Saloranta, tatu.saloranta@iki.fi
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the License specified in file LICENSE, included with
|
|
6
|
+
* the source code and binary code bundles.
|
|
7
|
+
* You may not use this file except in compliance with the License.
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
* See the License for the specific language governing permissions and
|
|
13
|
+
* limitations under the License.
|
|
14
|
+
*/
|
|
15
|
+
package sh.calaba.org.codehaus.jackson;
|
|
16
|
+
|
|
17
|
+
import java.io.*;
|
|
18
|
+
import java.lang.ref.SoftReference;
|
|
19
|
+
import java.net.URL;
|
|
20
|
+
|
|
21
|
+
import sh.calaba.org.codehaus.jackson.format.InputAccessor;
|
|
22
|
+
import sh.calaba.org.codehaus.jackson.format.MatchStrength;
|
|
23
|
+
import sh.calaba.org.codehaus.jackson.impl.ByteSourceBootstrapper;
|
|
24
|
+
import sh.calaba.org.codehaus.jackson.impl.ReaderBasedParser;
|
|
25
|
+
import sh.calaba.org.codehaus.jackson.impl.Utf8Generator;
|
|
26
|
+
import sh.calaba.org.codehaus.jackson.impl.WriterBasedGenerator;
|
|
27
|
+
import sh.calaba.org.codehaus.jackson.io.*;
|
|
28
|
+
import sh.calaba.org.codehaus.jackson.sym.BytesToNameCanonicalizer;
|
|
29
|
+
import sh.calaba.org.codehaus.jackson.sym.CharsToNameCanonicalizer;
|
|
30
|
+
import sh.calaba.org.codehaus.jackson.util.BufferRecycler;
|
|
31
|
+
import sh.calaba.org.codehaus.jackson.util.VersionUtil;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* The main factory class of Jackson package, used to configure and
|
|
35
|
+
* construct reader (aka parser, {@link JsonParser})
|
|
36
|
+
* and writer (aka generator, {@link JsonGenerator})
|
|
37
|
+
* instances.
|
|
38
|
+
*<p>
|
|
39
|
+
* Factory instances are thread-safe and reusable after configuration
|
|
40
|
+
* (if any). Typically applications and services use only a single
|
|
41
|
+
* globally shared factory instance, unless they need differently
|
|
42
|
+
* configured factories. Factory reuse is important if efficiency matters;
|
|
43
|
+
* most recycling of expensive construct is done on per-factory basis.
|
|
44
|
+
*<p>
|
|
45
|
+
* Creation of a factory instance is a light-weight operation,
|
|
46
|
+
* and since there is no need for pluggable alternative implementations
|
|
47
|
+
* (as there is no "standard" JSON processor API to implement),
|
|
48
|
+
* the default constructor is used for constructing factory
|
|
49
|
+
* instances.
|
|
50
|
+
*
|
|
51
|
+
* @author Tatu Saloranta
|
|
52
|
+
*/
|
|
53
|
+
public class JsonFactory implements Versioned
|
|
54
|
+
{
|
|
55
|
+
/**
|
|
56
|
+
* Name used to identify JSON format
|
|
57
|
+
* (and returned by {@link #getFormatName()}
|
|
58
|
+
*/
|
|
59
|
+
public final static String FORMAT_NAME_JSON = "JSON";
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Bitfield (set of flags) of all parser features that are enabled
|
|
63
|
+
* by default.
|
|
64
|
+
*/
|
|
65
|
+
final static int DEFAULT_PARSER_FEATURE_FLAGS = JsonParser.Feature.collectDefaults();
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Bitfield (set of flags) of all generator features that are enabled
|
|
69
|
+
* by default.
|
|
70
|
+
*/
|
|
71
|
+
final static int DEFAULT_GENERATOR_FEATURE_FLAGS = JsonGenerator.Feature.collectDefaults();
|
|
72
|
+
|
|
73
|
+
/*
|
|
74
|
+
/**********************************************************
|
|
75
|
+
/* Buffer, symbol table management
|
|
76
|
+
/**********************************************************
|
|
77
|
+
*/
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* This <code>ThreadLocal</code> contains a {@link java.lang.ref.SoftRerefence}
|
|
81
|
+
* to a {@link BufferRecycler} used to provide a low-cost
|
|
82
|
+
* buffer recycling between reader and writer instances.
|
|
83
|
+
*/
|
|
84
|
+
final protected static ThreadLocal<SoftReference<BufferRecycler>> _recyclerRef
|
|
85
|
+
= new ThreadLocal<SoftReference<BufferRecycler>>();
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Each factory comes equipped with a shared root symbol table.
|
|
89
|
+
* It should not be linked back to the original blueprint, to
|
|
90
|
+
* avoid contents from leaking between factories.
|
|
91
|
+
*/
|
|
92
|
+
protected CharsToNameCanonicalizer _rootCharSymbols = CharsToNameCanonicalizer.createRoot();
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Alternative to the basic symbol table, some stream-based
|
|
96
|
+
* parsers use different name canonicalization method.
|
|
97
|
+
*<p>
|
|
98
|
+
* TODO: should clean up this; looks messy having 2 alternatives
|
|
99
|
+
* with not very clear differences.
|
|
100
|
+
*/
|
|
101
|
+
protected BytesToNameCanonicalizer _rootByteSymbols = BytesToNameCanonicalizer.createRoot();
|
|
102
|
+
|
|
103
|
+
/*
|
|
104
|
+
/**********************************************************
|
|
105
|
+
/* Configuration
|
|
106
|
+
/**********************************************************
|
|
107
|
+
*/
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Object that implements conversion functionality between
|
|
111
|
+
* Java objects and JSON content. For base JsonFactory implementation
|
|
112
|
+
* usually not set by default, but can be explicitly set.
|
|
113
|
+
* Sub-classes (like @link sh.calaba.org.codehaus.jackson.map.MappingJsonFactory}
|
|
114
|
+
* usually provide an implementation.
|
|
115
|
+
*/
|
|
116
|
+
protected ObjectCodec _objectCodec;
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Currently enabled parser features.
|
|
120
|
+
*/
|
|
121
|
+
protected int _parserFeatures = DEFAULT_PARSER_FEATURE_FLAGS;
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Currently enabled generator features.
|
|
125
|
+
*/
|
|
126
|
+
protected int _generatorFeatures = DEFAULT_GENERATOR_FEATURE_FLAGS;
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Definition of custom character escapes to use for generators created
|
|
130
|
+
* by this factory, if any. If null, standard data format specific
|
|
131
|
+
* escapes are used.
|
|
132
|
+
*
|
|
133
|
+
* @since 1.8
|
|
134
|
+
*/
|
|
135
|
+
protected CharacterEscapes _characterEscapes;
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Optional helper object that may decorate input sources, to do
|
|
139
|
+
* additional processing on input during parsing.
|
|
140
|
+
*
|
|
141
|
+
* @since 1.8
|
|
142
|
+
*/
|
|
143
|
+
protected InputDecorator _inputDecorator;
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Optional helper object that may decorate output object, to do
|
|
147
|
+
* additional processing on output during content generation.
|
|
148
|
+
*
|
|
149
|
+
* @since 1.8
|
|
150
|
+
*/
|
|
151
|
+
protected OutputDecorator _outputDecorator;
|
|
152
|
+
|
|
153
|
+
/*
|
|
154
|
+
/**********************************************************
|
|
155
|
+
/* Construction
|
|
156
|
+
/**********************************************************
|
|
157
|
+
*/
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* Default constructor used to create factory instances.
|
|
161
|
+
* Creation of a factory instance is a light-weight operation,
|
|
162
|
+
* but it is still a good idea to reuse limited number of
|
|
163
|
+
* factory instances (and quite often just a single instance):
|
|
164
|
+
* factories are used as context for storing some reused
|
|
165
|
+
* processing objects (such as symbol tables parsers use)
|
|
166
|
+
* and this reuse only works within context of a single
|
|
167
|
+
* factory instance.
|
|
168
|
+
*/
|
|
169
|
+
public JsonFactory() { this(null); }
|
|
170
|
+
|
|
171
|
+
public JsonFactory(ObjectCodec oc) { _objectCodec = oc; }
|
|
172
|
+
|
|
173
|
+
/*
|
|
174
|
+
/**********************************************************
|
|
175
|
+
/* Format detection functionality (since 1.8)
|
|
176
|
+
/**********************************************************
|
|
177
|
+
*/
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* Method that returns short textual id identifying format
|
|
181
|
+
* this factory supports.
|
|
182
|
+
*<p>
|
|
183
|
+
* Note: sub-classes should override this method; default
|
|
184
|
+
* implementation will return null for all sub-classes
|
|
185
|
+
*
|
|
186
|
+
* @since 1.8
|
|
187
|
+
*/
|
|
188
|
+
public String getFormatName()
|
|
189
|
+
{
|
|
190
|
+
/* Somewhat nasty check: since we can't make this abstract
|
|
191
|
+
* (due to backwards compatibility concerns), need to prevent
|
|
192
|
+
* format name "leakage"
|
|
193
|
+
*/
|
|
194
|
+
if (getClass() == JsonFactory.class) {
|
|
195
|
+
return FORMAT_NAME_JSON;
|
|
196
|
+
}
|
|
197
|
+
return null;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
public MatchStrength hasFormat(InputAccessor acc) throws IOException
|
|
201
|
+
{
|
|
202
|
+
// since we can't keep this abstract, only implement for "vanilla" instance
|
|
203
|
+
if (getClass() == JsonFactory.class) {
|
|
204
|
+
return hasJSONFormat(acc);
|
|
205
|
+
}
|
|
206
|
+
return null;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
protected MatchStrength hasJSONFormat(InputAccessor acc) throws IOException
|
|
210
|
+
{
|
|
211
|
+
return ByteSourceBootstrapper.hasJSONFormat(acc);
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
/*
|
|
215
|
+
/**********************************************************
|
|
216
|
+
/* Versioned
|
|
217
|
+
/**********************************************************
|
|
218
|
+
*/
|
|
219
|
+
|
|
220
|
+
@Override
|
|
221
|
+
public Version version() {
|
|
222
|
+
// VERSION is included under impl, so can't pass this class:
|
|
223
|
+
return VersionUtil.versionFor(Utf8Generator.class);
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
/*
|
|
227
|
+
/**********************************************************
|
|
228
|
+
/* Configuration, parser settings
|
|
229
|
+
/**********************************************************
|
|
230
|
+
*/
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* Method for enabling or disabling specified parser feature
|
|
234
|
+
* (check {@link JsonParser.Feature} for list of features)
|
|
235
|
+
*
|
|
236
|
+
* @since 1.2
|
|
237
|
+
*/
|
|
238
|
+
public final JsonFactory configure(JsonParser.Feature f, boolean state)
|
|
239
|
+
{
|
|
240
|
+
if (state) {
|
|
241
|
+
enable(f);
|
|
242
|
+
} else {
|
|
243
|
+
disable(f);
|
|
244
|
+
}
|
|
245
|
+
return this;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
/**
|
|
249
|
+
* Method for enabling specified parser feature
|
|
250
|
+
* (check {@link JsonParser.Feature} for list of features)
|
|
251
|
+
*
|
|
252
|
+
* @since 1.2
|
|
253
|
+
*/
|
|
254
|
+
public JsonFactory enable(JsonParser.Feature f) {
|
|
255
|
+
_parserFeatures |= f.getMask();
|
|
256
|
+
return this;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* Method for disabling specified parser features
|
|
261
|
+
* (check {@link JsonParser.Feature} for list of features)
|
|
262
|
+
*
|
|
263
|
+
* @since 1.2
|
|
264
|
+
*/
|
|
265
|
+
public JsonFactory disable(JsonParser.Feature f) {
|
|
266
|
+
_parserFeatures &= ~f.getMask();
|
|
267
|
+
return this;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
/**
|
|
271
|
+
* Checked whether specified parser feature is enabled.
|
|
272
|
+
*
|
|
273
|
+
* @since 1.2
|
|
274
|
+
*/
|
|
275
|
+
public final boolean isEnabled(JsonParser.Feature f) {
|
|
276
|
+
return (_parserFeatures & f.getMask()) != 0;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
// // // Older deprecated (as of 1.2) methods
|
|
280
|
+
|
|
281
|
+
/**
|
|
282
|
+
* @deprecated Use {@link #enable(JsonParser.Feature)} instead
|
|
283
|
+
*/
|
|
284
|
+
@SuppressWarnings("dep-ann")
|
|
285
|
+
public final void enableParserFeature(JsonParser.Feature f) {
|
|
286
|
+
enable(f);
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
/**
|
|
290
|
+
* @deprecated Use {@link #disable(JsonParser.Feature)} instead
|
|
291
|
+
*/
|
|
292
|
+
@SuppressWarnings("dep-ann")
|
|
293
|
+
public final void disableParserFeature(JsonParser.Feature f) {
|
|
294
|
+
disable(f);
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
/**
|
|
298
|
+
* @deprecated Use {@link #configure(JsonParser.Feature, boolean)} instead
|
|
299
|
+
*/
|
|
300
|
+
@SuppressWarnings("dep-ann")
|
|
301
|
+
public final void setParserFeature(JsonParser.Feature f, boolean state) {
|
|
302
|
+
configure(f, state);
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
/**
|
|
306
|
+
* @deprecated Use {@link #isEnabled(JsonParser.Feature)} instead
|
|
307
|
+
*/
|
|
308
|
+
@SuppressWarnings("dep-ann")
|
|
309
|
+
public final boolean isParserFeatureEnabled(JsonParser.Feature f) {
|
|
310
|
+
return (_parserFeatures & f.getMask()) != 0;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
/**
|
|
314
|
+
* Method for getting currently configured input decorator (if any;
|
|
315
|
+
* there is no default decorator).
|
|
316
|
+
*
|
|
317
|
+
* @since 1.8
|
|
318
|
+
*/
|
|
319
|
+
public InputDecorator getInputDecorator() {
|
|
320
|
+
return _inputDecorator;
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
/**
|
|
324
|
+
* Method for overriding currently configured input decorator
|
|
325
|
+
*
|
|
326
|
+
* @since 1.8
|
|
327
|
+
*/
|
|
328
|
+
public JsonFactory setInputDecorator(InputDecorator d) {
|
|
329
|
+
_inputDecorator = d;
|
|
330
|
+
return this;
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
/*
|
|
334
|
+
/**********************************************************
|
|
335
|
+
/* Configuration, generator settings
|
|
336
|
+
/**********************************************************
|
|
337
|
+
*/
|
|
338
|
+
|
|
339
|
+
/**
|
|
340
|
+
* Method for enabling or disabling specified generator feature
|
|
341
|
+
* (check {@link JsonGenerator.Feature} for list of features)
|
|
342
|
+
*
|
|
343
|
+
* @since 1.2
|
|
344
|
+
*/
|
|
345
|
+
public final JsonFactory configure(JsonGenerator.Feature f, boolean state) {
|
|
346
|
+
if (state) {
|
|
347
|
+
enable(f);
|
|
348
|
+
} else {
|
|
349
|
+
disable(f);
|
|
350
|
+
}
|
|
351
|
+
return this;
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
|
|
355
|
+
/**
|
|
356
|
+
* Method for enabling specified generator features
|
|
357
|
+
* (check {@link JsonGenerator.Feature} for list of features)
|
|
358
|
+
*
|
|
359
|
+
* @since 1.2
|
|
360
|
+
*/
|
|
361
|
+
public JsonFactory enable(JsonGenerator.Feature f) {
|
|
362
|
+
_generatorFeatures |= f.getMask();
|
|
363
|
+
return this;
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
/**
|
|
367
|
+
* Method for disabling specified generator feature
|
|
368
|
+
* (check {@link JsonGenerator.Feature} for list of features)
|
|
369
|
+
*
|
|
370
|
+
* @since 1.2
|
|
371
|
+
*/
|
|
372
|
+
public JsonFactory disable(JsonGenerator.Feature f) {
|
|
373
|
+
_generatorFeatures &= ~f.getMask();
|
|
374
|
+
return this;
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
/**
|
|
378
|
+
* Check whether specified generator feature is enabled.
|
|
379
|
+
*
|
|
380
|
+
* @since 1.2
|
|
381
|
+
*/
|
|
382
|
+
public final boolean isEnabled(JsonGenerator.Feature f) {
|
|
383
|
+
return (_generatorFeatures & f.getMask()) != 0;
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
// // // Older deprecated (as of 1.2) methods
|
|
387
|
+
|
|
388
|
+
/**
|
|
389
|
+
* @deprecated Use {@link #enable(JsonGenerator.Feature)} instead
|
|
390
|
+
*/
|
|
391
|
+
@Deprecated
|
|
392
|
+
public final void enableGeneratorFeature(JsonGenerator.Feature f) {
|
|
393
|
+
enable(f);
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
/**
|
|
397
|
+
* @deprecated Use {@link #disable(JsonGenerator.Feature)} instead
|
|
398
|
+
*/
|
|
399
|
+
@Deprecated
|
|
400
|
+
public final void disableGeneratorFeature(JsonGenerator.Feature f) {
|
|
401
|
+
disable(f);
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
/**
|
|
405
|
+
* @deprecated Use {@link #configure(JsonGenerator.Feature, boolean)} instead
|
|
406
|
+
*/
|
|
407
|
+
@Deprecated
|
|
408
|
+
public final void setGeneratorFeature(JsonGenerator.Feature f, boolean state) {
|
|
409
|
+
configure(f, state);
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
/**
|
|
413
|
+
* @deprecated Use {@link #isEnabled(JsonGenerator.Feature)} instead
|
|
414
|
+
*/
|
|
415
|
+
@Deprecated
|
|
416
|
+
public final boolean isGeneratorFeatureEnabled(JsonGenerator.Feature f) {
|
|
417
|
+
return isEnabled(f);
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
/**
|
|
421
|
+
* Method for accessing custom escapes factory uses for {@link JsonGenerator}s
|
|
422
|
+
* it creates.
|
|
423
|
+
*
|
|
424
|
+
* @since 1.8
|
|
425
|
+
*/
|
|
426
|
+
public CharacterEscapes getCharacterEscapes() {
|
|
427
|
+
return _characterEscapes;
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
/**
|
|
431
|
+
* Method for defining custom escapes factory uses for {@link JsonGenerator}s
|
|
432
|
+
* it creates.
|
|
433
|
+
*
|
|
434
|
+
* @since 1.8
|
|
435
|
+
*/
|
|
436
|
+
public JsonFactory setCharacterEscapes(CharacterEscapes esc) {
|
|
437
|
+
_characterEscapes = esc;
|
|
438
|
+
return this;
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
/**
|
|
442
|
+
* Method for getting currently configured output decorator (if any;
|
|
443
|
+
* there is no default decorator).
|
|
444
|
+
*
|
|
445
|
+
* @since 1.8
|
|
446
|
+
*/
|
|
447
|
+
public OutputDecorator getOutputDecorator() {
|
|
448
|
+
return _outputDecorator;
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
/**
|
|
452
|
+
* Method for overriding currently configured output decorator
|
|
453
|
+
*
|
|
454
|
+
* @since 1.8
|
|
455
|
+
*/
|
|
456
|
+
public JsonFactory setOutputDecorator(OutputDecorator d) {
|
|
457
|
+
_outputDecorator = d;
|
|
458
|
+
return this;
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
/*
|
|
462
|
+
/**********************************************************
|
|
463
|
+
/* Configuration, other
|
|
464
|
+
/**********************************************************
|
|
465
|
+
*/
|
|
466
|
+
|
|
467
|
+
/**
|
|
468
|
+
* Method for associating a {@link ObjectCodec} (typically
|
|
469
|
+
* a {@link sh.calaba.org.codehaus.jackson.map.ObjectMapper}) with
|
|
470
|
+
* this factory (and more importantly, parsers and generators
|
|
471
|
+
* it constructs). This is needed to use data-binding methods
|
|
472
|
+
* of {@link JsonParser} and {@link JsonGenerator} instances.
|
|
473
|
+
*/
|
|
474
|
+
public JsonFactory setCodec(ObjectCodec oc) {
|
|
475
|
+
_objectCodec = oc;
|
|
476
|
+
return this;
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
public ObjectCodec getCodec() { return _objectCodec; }
|
|
480
|
+
|
|
481
|
+
/*
|
|
482
|
+
/**********************************************************
|
|
483
|
+
/* Reader factories
|
|
484
|
+
/**********************************************************
|
|
485
|
+
*/
|
|
486
|
+
|
|
487
|
+
/**
|
|
488
|
+
* Method for constructing JSON parser instance to parse
|
|
489
|
+
* contents of specified file. Encoding is auto-detected
|
|
490
|
+
* from contents according to JSON specification recommended
|
|
491
|
+
* mechanism.
|
|
492
|
+
*<p>
|
|
493
|
+
* Underlying input stream (needed for reading contents)
|
|
494
|
+
* will be <b>owned</b> (and managed, i.e. closed as need be) by
|
|
495
|
+
* the parser, since caller has no access to it.
|
|
496
|
+
*
|
|
497
|
+
* @param f File that contains JSON content to parse
|
|
498
|
+
*/
|
|
499
|
+
public JsonParser createJsonParser(File f)
|
|
500
|
+
throws IOException, JsonParseException
|
|
501
|
+
{
|
|
502
|
+
// true, since we create InputStream from File
|
|
503
|
+
IOContext ctxt = _createContext(f, true);
|
|
504
|
+
InputStream in = new FileInputStream(f);
|
|
505
|
+
// [JACKSON-512]: allow wrapping with InputDecorator
|
|
506
|
+
if (_inputDecorator != null) {
|
|
507
|
+
in = _inputDecorator.decorate(ctxt, in);
|
|
508
|
+
}
|
|
509
|
+
return _createJsonParser(in, ctxt);
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
/**
|
|
513
|
+
* Method for constructing JSON parser instance to parse
|
|
514
|
+
* contents of resource reference by given URL.
|
|
515
|
+
* Encoding is auto-detected
|
|
516
|
+
* from contents according to JSON specification recommended
|
|
517
|
+
* mechanism.
|
|
518
|
+
*<p>
|
|
519
|
+
* Underlying input stream (needed for reading contents)
|
|
520
|
+
* will be <b>owned</b> (and managed, i.e. closed as need be) by
|
|
521
|
+
* the parser, since caller has no access to it.
|
|
522
|
+
*
|
|
523
|
+
* @param url URL pointing to resource that contains JSON content to parse
|
|
524
|
+
*/
|
|
525
|
+
public JsonParser createJsonParser(URL url)
|
|
526
|
+
throws IOException, JsonParseException
|
|
527
|
+
{
|
|
528
|
+
// true, since we create InputStream from URL
|
|
529
|
+
IOContext ctxt = _createContext(url, true);
|
|
530
|
+
InputStream in = _optimizedStreamFromURL(url);
|
|
531
|
+
// [JACKSON-512]: allow wrapping with InputDecorator
|
|
532
|
+
if (_inputDecorator != null) {
|
|
533
|
+
in = _inputDecorator.decorate(ctxt, in);
|
|
534
|
+
}
|
|
535
|
+
return _createJsonParser(in, ctxt);
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
/**
|
|
539
|
+
* Method for constructing JSON parser instance to parse
|
|
540
|
+
* the contents accessed via specified input stream.
|
|
541
|
+
*<p>
|
|
542
|
+
* The input stream will <b>not be owned</b> by
|
|
543
|
+
* the parser, it will still be managed (i.e. closed if
|
|
544
|
+
* end-of-stream is reacher, or parser close method called)
|
|
545
|
+
* if (and only if) {@link sh.calaba.org.codehaus.jackson.JsonParser.Feature#AUTO_CLOSE_SOURCE}
|
|
546
|
+
* is enabled.
|
|
547
|
+
*<p>
|
|
548
|
+
* Note: no encoding argument is taken since it can always be
|
|
549
|
+
* auto-detected as suggested by Json RFC.
|
|
550
|
+
*
|
|
551
|
+
* @param in InputStream to use for reading JSON content to parse
|
|
552
|
+
*/
|
|
553
|
+
public JsonParser createJsonParser(InputStream in)
|
|
554
|
+
throws IOException, JsonParseException
|
|
555
|
+
{
|
|
556
|
+
IOContext ctxt = _createContext(in, false);
|
|
557
|
+
// [JACKSON-512]: allow wrapping with InputDecorator
|
|
558
|
+
if (_inputDecorator != null) {
|
|
559
|
+
in = _inputDecorator.decorate(ctxt, in);
|
|
560
|
+
}
|
|
561
|
+
return _createJsonParser(in, ctxt);
|
|
562
|
+
}
|
|
563
|
+
|
|
564
|
+
/**
|
|
565
|
+
* Method for constructing parser for parsing
|
|
566
|
+
* the contents accessed via specified Reader.
|
|
567
|
+
<p>
|
|
568
|
+
* The read stream will <b>not be owned</b> by
|
|
569
|
+
* the parser, it will still be managed (i.e. closed if
|
|
570
|
+
* end-of-stream is reacher, or parser close method called)
|
|
571
|
+
* if (and only if) {@link sh.calaba.org.codehaus.jackson.JsonParser.Feature#AUTO_CLOSE_SOURCE}
|
|
572
|
+
* is enabled.
|
|
573
|
+
*<p>
|
|
574
|
+
*
|
|
575
|
+
* @param r Reader to use for reading JSON content to parse
|
|
576
|
+
*/
|
|
577
|
+
public JsonParser createJsonParser(Reader r)
|
|
578
|
+
throws IOException, JsonParseException
|
|
579
|
+
{
|
|
580
|
+
// false -> we do NOT own Reader (did not create it)
|
|
581
|
+
IOContext ctxt = _createContext(r, false);
|
|
582
|
+
// [JACKSON-512]: allow wrapping with InputDecorator
|
|
583
|
+
if (_inputDecorator != null) {
|
|
584
|
+
r = _inputDecorator.decorate(ctxt, r);
|
|
585
|
+
}
|
|
586
|
+
return _createJsonParser(r, ctxt);
|
|
587
|
+
}
|
|
588
|
+
|
|
589
|
+
/**
|
|
590
|
+
* Method for constructing parser for parsing
|
|
591
|
+
* the contents of given byte array.
|
|
592
|
+
*/
|
|
593
|
+
public JsonParser createJsonParser(byte[] data)
|
|
594
|
+
throws IOException, JsonParseException
|
|
595
|
+
{
|
|
596
|
+
IOContext ctxt = _createContext(data, true);
|
|
597
|
+
// [JACKSON-512]: allow wrapping with InputDecorator
|
|
598
|
+
if (_inputDecorator != null) {
|
|
599
|
+
InputStream in = _inputDecorator.decorate(ctxt, data, 0, data.length);
|
|
600
|
+
if (in != null) {
|
|
601
|
+
return _createJsonParser(in, ctxt);
|
|
602
|
+
}
|
|
603
|
+
}
|
|
604
|
+
return _createJsonParser(data, 0, data.length, ctxt);
|
|
605
|
+
}
|
|
606
|
+
|
|
607
|
+
/**
|
|
608
|
+
* Method for constructing parser for parsing
|
|
609
|
+
* the contents of given byte array.
|
|
610
|
+
*
|
|
611
|
+
* @param data Buffer that contains data to parse
|
|
612
|
+
* @param offset Offset of the first data byte within buffer
|
|
613
|
+
* @param len Length of contents to parse within buffer
|
|
614
|
+
*/
|
|
615
|
+
public JsonParser createJsonParser(byte[] data, int offset, int len)
|
|
616
|
+
throws IOException, JsonParseException
|
|
617
|
+
{
|
|
618
|
+
IOContext ctxt = _createContext(data, true);
|
|
619
|
+
// [JACKSON-512]: allow wrapping with InputDecorator
|
|
620
|
+
if (_inputDecorator != null) {
|
|
621
|
+
InputStream in = _inputDecorator.decorate(ctxt, data, offset, len);
|
|
622
|
+
if (in != null) {
|
|
623
|
+
return _createJsonParser(in, ctxt);
|
|
624
|
+
}
|
|
625
|
+
}
|
|
626
|
+
return _createJsonParser(data, offset, len, ctxt);
|
|
627
|
+
}
|
|
628
|
+
|
|
629
|
+
/**
|
|
630
|
+
* Method for constructing parser for parsing
|
|
631
|
+
* contens of given String.
|
|
632
|
+
*/
|
|
633
|
+
public JsonParser createJsonParser(String content)
|
|
634
|
+
throws IOException, JsonParseException
|
|
635
|
+
{
|
|
636
|
+
Reader r = new StringReader(content);
|
|
637
|
+
// true -> we own the Reader (and must close); not a big deal
|
|
638
|
+
IOContext ctxt = _createContext(r, true);
|
|
639
|
+
// [JACKSON-512]: allow wrapping with InputDecorator
|
|
640
|
+
if (_inputDecorator != null) {
|
|
641
|
+
r = _inputDecorator.decorate(ctxt, r);
|
|
642
|
+
}
|
|
643
|
+
return _createJsonParser(r, ctxt);
|
|
644
|
+
}
|
|
645
|
+
|
|
646
|
+
/*
|
|
647
|
+
/**********************************************************
|
|
648
|
+
/* Generator factories
|
|
649
|
+
/**********************************************************
|
|
650
|
+
*/
|
|
651
|
+
|
|
652
|
+
/**
|
|
653
|
+
* Method for constructing JSON generator for writing JSON content
|
|
654
|
+
* using specified output stream.
|
|
655
|
+
* Encoding to use must be specified, and needs to be one of available
|
|
656
|
+
* types (as per JSON specification).
|
|
657
|
+
*<p>
|
|
658
|
+
* Underlying stream <b>is NOT owned</b> by the generator constructed,
|
|
659
|
+
* so that generator will NOT close the output stream when
|
|
660
|
+
* {@link JsonGenerator#close} is called (unless auto-closing
|
|
661
|
+
* feature,
|
|
662
|
+
* {@link sh.calaba.org.codehaus.jackson.JsonGenerator.Feature#AUTO_CLOSE_TARGET}
|
|
663
|
+
* is enabled).
|
|
664
|
+
* Using application needs to close it explicitly if this is the case.
|
|
665
|
+
*<p>
|
|
666
|
+
* Note: there are formats that use fixed encoding (like most binary data formats)
|
|
667
|
+
* and that ignore passed in encoding.
|
|
668
|
+
*
|
|
669
|
+
* @param out OutputStream to use for writing JSON content
|
|
670
|
+
* @param enc Character encoding to use
|
|
671
|
+
*/
|
|
672
|
+
public JsonGenerator createJsonGenerator(OutputStream out, JsonEncoding enc)
|
|
673
|
+
throws IOException
|
|
674
|
+
{
|
|
675
|
+
// false -> we won't manage the stream unless explicitly directed to
|
|
676
|
+
IOContext ctxt = _createContext(out, false);
|
|
677
|
+
ctxt.setEncoding(enc);
|
|
678
|
+
if (enc == JsonEncoding.UTF8) {
|
|
679
|
+
// [JACKSON-512]: allow wrapping with _outputDecorator
|
|
680
|
+
if (_outputDecorator != null) {
|
|
681
|
+
out = _outputDecorator.decorate(ctxt, out);
|
|
682
|
+
}
|
|
683
|
+
return _createUTF8JsonGenerator(out, ctxt);
|
|
684
|
+
}
|
|
685
|
+
Writer w = _createWriter(out, enc, ctxt);
|
|
686
|
+
// [JACKSON-512]: allow wrapping with _outputDecorator
|
|
687
|
+
if (_outputDecorator != null) {
|
|
688
|
+
w = _outputDecorator.decorate(ctxt, w);
|
|
689
|
+
}
|
|
690
|
+
return _createJsonGenerator(w, ctxt);
|
|
691
|
+
}
|
|
692
|
+
|
|
693
|
+
/**
|
|
694
|
+
* Method for constructing JSON generator for writing JSON content
|
|
695
|
+
* using specified Writer.
|
|
696
|
+
*<p>
|
|
697
|
+
* Underlying stream <b>is NOT owned</b> by the generator constructed,
|
|
698
|
+
* so that generator will NOT close the Reader when
|
|
699
|
+
* {@link JsonGenerator#close} is called (unless auto-closing
|
|
700
|
+
* feature,
|
|
701
|
+
* {@link sh.calaba.org.codehaus.jackson.JsonGenerator.Feature#AUTO_CLOSE_TARGET} is enabled).
|
|
702
|
+
* Using application needs to close it explicitly.
|
|
703
|
+
*
|
|
704
|
+
* @param out Writer to use for writing JSON content
|
|
705
|
+
*/
|
|
706
|
+
public JsonGenerator createJsonGenerator(Writer out)
|
|
707
|
+
throws IOException
|
|
708
|
+
{
|
|
709
|
+
IOContext ctxt = _createContext(out, false);
|
|
710
|
+
// [JACKSON-512]: allow wrapping with _outputDecorator
|
|
711
|
+
if (_outputDecorator != null) {
|
|
712
|
+
out = _outputDecorator.decorate(ctxt, out);
|
|
713
|
+
}
|
|
714
|
+
return _createJsonGenerator(out, ctxt);
|
|
715
|
+
}
|
|
716
|
+
|
|
717
|
+
/**
|
|
718
|
+
* Convenience method for constructing generator that uses default
|
|
719
|
+
* encoding of the format (UTF-8 for JSON and most other data formats).
|
|
720
|
+
*<p>
|
|
721
|
+
* Note: there are formats that use fixed encoding (like most binary data formats).
|
|
722
|
+
*
|
|
723
|
+
* @since 1.8
|
|
724
|
+
*/
|
|
725
|
+
public JsonGenerator createJsonGenerator(OutputStream out) throws IOException {
|
|
726
|
+
return createJsonGenerator(out, JsonEncoding.UTF8);
|
|
727
|
+
}
|
|
728
|
+
|
|
729
|
+
/**
|
|
730
|
+
* Method for constructing JSON generator for writing JSON content
|
|
731
|
+
* to specified file, overwriting contents it might have (or creating
|
|
732
|
+
* it if such file does not yet exist).
|
|
733
|
+
* Encoding to use must be specified, and needs to be one of available
|
|
734
|
+
* types (as per JSON specification).
|
|
735
|
+
*<p>
|
|
736
|
+
* Underlying stream <b>is owned</b> by the generator constructed,
|
|
737
|
+
* i.e. generator will handle closing of file when
|
|
738
|
+
* {@link JsonGenerator#close} is called.
|
|
739
|
+
*
|
|
740
|
+
* @param f File to write contents to
|
|
741
|
+
* @param enc Character encoding to use
|
|
742
|
+
*/
|
|
743
|
+
public JsonGenerator createJsonGenerator(File f, JsonEncoding enc)
|
|
744
|
+
throws IOException
|
|
745
|
+
{
|
|
746
|
+
OutputStream out = new FileOutputStream(f);
|
|
747
|
+
// true -> yes, we have to manage the stream since we created it
|
|
748
|
+
IOContext ctxt = _createContext(out, true);
|
|
749
|
+
ctxt.setEncoding(enc);
|
|
750
|
+
if (enc == JsonEncoding.UTF8) {
|
|
751
|
+
// [JACKSON-512]: allow wrapping with _outputDecorator
|
|
752
|
+
if (_outputDecorator != null) {
|
|
753
|
+
out = _outputDecorator.decorate(ctxt, out);
|
|
754
|
+
}
|
|
755
|
+
return _createUTF8JsonGenerator(out, ctxt);
|
|
756
|
+
}
|
|
757
|
+
Writer w = _createWriter(out, enc, ctxt);
|
|
758
|
+
// [JACKSON-512]: allow wrapping with _outputDecorator
|
|
759
|
+
if (_outputDecorator != null) {
|
|
760
|
+
w = _outputDecorator.decorate(ctxt, w);
|
|
761
|
+
}
|
|
762
|
+
return _createJsonGenerator(w, ctxt);
|
|
763
|
+
}
|
|
764
|
+
|
|
765
|
+
/*
|
|
766
|
+
/**********************************************************
|
|
767
|
+
/* Factory methods used by factory for creating parser instances,
|
|
768
|
+
/* overridable by sub-classes
|
|
769
|
+
/**********************************************************
|
|
770
|
+
*/
|
|
771
|
+
|
|
772
|
+
/**
|
|
773
|
+
* Overridable factory method that actually instantiates desired parser
|
|
774
|
+
* given {@link InputStream} and context object.
|
|
775
|
+
*<p>
|
|
776
|
+
* This method is specifically designed to remain
|
|
777
|
+
* compatible between minor versions so that sub-classes can count
|
|
778
|
+
* on it being called as expected. That is, it is part of official
|
|
779
|
+
* interface from sub-class perspective, although not a public
|
|
780
|
+
* method available to users of factory implementations.
|
|
781
|
+
*/
|
|
782
|
+
protected JsonParser _createJsonParser(InputStream in, IOContext ctxt)
|
|
783
|
+
throws IOException, JsonParseException
|
|
784
|
+
{
|
|
785
|
+
return new ByteSourceBootstrapper(ctxt, in).constructParser(_parserFeatures,
|
|
786
|
+
_objectCodec, _rootByteSymbols, _rootCharSymbols);
|
|
787
|
+
}
|
|
788
|
+
|
|
789
|
+
/**
|
|
790
|
+
* Overridable factory method that actually instantiates parser
|
|
791
|
+
* using given {@link Reader} object for reading content.
|
|
792
|
+
*<p>
|
|
793
|
+
* This method is specifically designed to remain
|
|
794
|
+
* compatible between minor versions so that sub-classes can count
|
|
795
|
+
* on it being called as expected. That is, it is part of official
|
|
796
|
+
* interface from sub-class perspective, although not a public
|
|
797
|
+
* method available to users of factory implementations.
|
|
798
|
+
*/
|
|
799
|
+
protected JsonParser _createJsonParser(Reader r, IOContext ctxt)
|
|
800
|
+
throws IOException, JsonParseException
|
|
801
|
+
{
|
|
802
|
+
return new ReaderBasedParser(ctxt, _parserFeatures, r, _objectCodec,
|
|
803
|
+
_rootCharSymbols.makeChild(isEnabled(JsonParser.Feature.CANONICALIZE_FIELD_NAMES),
|
|
804
|
+
isEnabled(JsonParser.Feature.INTERN_FIELD_NAMES)));
|
|
805
|
+
}
|
|
806
|
+
|
|
807
|
+
/**
|
|
808
|
+
* Overridable factory method that actually instantiates parser
|
|
809
|
+
* using given {@link Reader} object for reading content
|
|
810
|
+
* passed as raw byte array.
|
|
811
|
+
*<p>
|
|
812
|
+
* This method is specifically designed to remain
|
|
813
|
+
* compatible between minor versions so that sub-classes can count
|
|
814
|
+
* on it being called as expected. That is, it is part of official
|
|
815
|
+
* interface from sub-class perspective, although not a public
|
|
816
|
+
* method available to users of factory implementations.
|
|
817
|
+
*/
|
|
818
|
+
protected JsonParser _createJsonParser(byte[] data, int offset, int len, IOContext ctxt)
|
|
819
|
+
throws IOException, JsonParseException
|
|
820
|
+
{
|
|
821
|
+
return new ByteSourceBootstrapper(ctxt, data, offset, len).constructParser(_parserFeatures,
|
|
822
|
+
_objectCodec, _rootByteSymbols, _rootCharSymbols);
|
|
823
|
+
}
|
|
824
|
+
|
|
825
|
+
/*
|
|
826
|
+
/**********************************************************
|
|
827
|
+
/* Factory methods used by factory for creating generator instances,
|
|
828
|
+
/* overridable by sub-classes
|
|
829
|
+
/**********************************************************
|
|
830
|
+
*/
|
|
831
|
+
|
|
832
|
+
/**
|
|
833
|
+
* Overridable factory method that actually instantiates generator for
|
|
834
|
+
* given {@link Writer} and context object.
|
|
835
|
+
*<p>
|
|
836
|
+
* This method is specifically designed to remain
|
|
837
|
+
* compatible between minor versions so that sub-classes can count
|
|
838
|
+
* on it being called as expected. That is, it is part of official
|
|
839
|
+
* interface from sub-class perspective, although not a public
|
|
840
|
+
* method available to users of factory implementations.
|
|
841
|
+
*/
|
|
842
|
+
protected JsonGenerator _createJsonGenerator(Writer out, IOContext ctxt)
|
|
843
|
+
throws IOException
|
|
844
|
+
{
|
|
845
|
+
WriterBasedGenerator gen = new WriterBasedGenerator(ctxt, _generatorFeatures, _objectCodec, out);
|
|
846
|
+
if (_characterEscapes != null) {
|
|
847
|
+
gen.setCharacterEscapes(_characterEscapes);
|
|
848
|
+
}
|
|
849
|
+
return gen;
|
|
850
|
+
}
|
|
851
|
+
|
|
852
|
+
/**
|
|
853
|
+
* Overridable factory method that actually instantiates generator for
|
|
854
|
+
* given {@link OutputStream} and context object, using UTF-8 encoding.
|
|
855
|
+
*<p>
|
|
856
|
+
* This method is specifically designed to remain
|
|
857
|
+
* compatible between minor versions so that sub-classes can count
|
|
858
|
+
* on it being called as expected. That is, it is part of official
|
|
859
|
+
* interface from sub-class perspective, although not a public
|
|
860
|
+
* method available to users of factory implementations.
|
|
861
|
+
*/
|
|
862
|
+
protected JsonGenerator _createUTF8JsonGenerator(OutputStream out, IOContext ctxt)
|
|
863
|
+
throws IOException
|
|
864
|
+
{
|
|
865
|
+
Utf8Generator gen = new Utf8Generator(ctxt, _generatorFeatures, _objectCodec, out);
|
|
866
|
+
if (_characterEscapes != null) {
|
|
867
|
+
gen.setCharacterEscapes(_characterEscapes);
|
|
868
|
+
}
|
|
869
|
+
return gen;
|
|
870
|
+
}
|
|
871
|
+
|
|
872
|
+
protected Writer _createWriter(OutputStream out, JsonEncoding enc, IOContext ctxt) throws IOException
|
|
873
|
+
{
|
|
874
|
+
// note: this should not get called any more (caller checks, dispatches)
|
|
875
|
+
if (enc == JsonEncoding.UTF8) { // We have optimized writer for UTF-8
|
|
876
|
+
return new UTF8Writer(ctxt, out);
|
|
877
|
+
}
|
|
878
|
+
// not optimal, but should do unless we really care about UTF-16/32 encoding speed
|
|
879
|
+
return new OutputStreamWriter(out, enc.getJavaName());
|
|
880
|
+
}
|
|
881
|
+
|
|
882
|
+
/*
|
|
883
|
+
/**********************************************************
|
|
884
|
+
/* Internal factory methods, other
|
|
885
|
+
/**********************************************************
|
|
886
|
+
*/
|
|
887
|
+
|
|
888
|
+
/**
|
|
889
|
+
* Overridable factory method that actually instantiates desired
|
|
890
|
+
* context object.
|
|
891
|
+
*/
|
|
892
|
+
protected IOContext _createContext(Object srcRef, boolean resourceManaged)
|
|
893
|
+
{
|
|
894
|
+
return new IOContext(_getBufferRecycler(), srcRef, resourceManaged);
|
|
895
|
+
}
|
|
896
|
+
|
|
897
|
+
/**
|
|
898
|
+
* Method used by factory to create buffer recycler instances
|
|
899
|
+
* for parsers and generators.
|
|
900
|
+
*<p>
|
|
901
|
+
* Note: only public to give access for <code>ObjectMapper</code>
|
|
902
|
+
*/
|
|
903
|
+
public BufferRecycler _getBufferRecycler()
|
|
904
|
+
{
|
|
905
|
+
SoftReference<BufferRecycler> ref = _recyclerRef.get();
|
|
906
|
+
BufferRecycler br = (ref == null) ? null : ref.get();
|
|
907
|
+
|
|
908
|
+
if (br == null) {
|
|
909
|
+
br = new BufferRecycler();
|
|
910
|
+
_recyclerRef.set(new SoftReference<BufferRecycler>(br));
|
|
911
|
+
}
|
|
912
|
+
return br;
|
|
913
|
+
}
|
|
914
|
+
|
|
915
|
+
/**
|
|
916
|
+
* Helper methods used for constructing an optimal stream for
|
|
917
|
+
* parsers to use, when input is to be read from an URL.
|
|
918
|
+
* This helps when reading file content via URL.
|
|
919
|
+
*/
|
|
920
|
+
protected InputStream _optimizedStreamFromURL(URL url)
|
|
921
|
+
throws IOException
|
|
922
|
+
{
|
|
923
|
+
if ("file".equals(url.getProtocol())) {
|
|
924
|
+
/* Can not do this if the path refers
|
|
925
|
+
* to a network drive on windows. This fixes the problem;
|
|
926
|
+
* might not be needed on all platforms (NFS?), but should not
|
|
927
|
+
* matter a lot: performance penalty of extra wrapping is more
|
|
928
|
+
* relevant when accessing local file system.
|
|
929
|
+
*/
|
|
930
|
+
String host = url.getHost();
|
|
931
|
+
if (host == null || host.length() == 0) {
|
|
932
|
+
return new FileInputStream(url.getPath());
|
|
933
|
+
}
|
|
934
|
+
}
|
|
935
|
+
return url.openStream();
|
|
936
|
+
}
|
|
937
|
+
}
|