calabash-android 0.4.7.pre6 → 0.4.7.pre7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/calabash-android/helpers.rb +7 -15
- data/lib/calabash-android/lib/TestServer.apk +0 -0
- data/lib/calabash-android/version.rb +1 -1
- data/test-server/build.xml +2 -2
- data/test-server/instrumentation-backend/.classpath +0 -3
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/HttpServer.java +1 -2
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForProgress.java +1 -1
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/QueryHelper.java +1 -2
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/json/JSONUtils.java +1 -1
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/QueryResult.java +1 -1
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryUtils.java +203 -222
- data/test-server/instrumentation-backend/src/sh/calaba/org/apache/http/entity/mime/version.properties +22 -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/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 +409 -5
- data/test-server/instrumentation-backend/libs/jackson-annotations-2.2.0-rc2-20130418.042013-1.jar +0 -0
- data/test-server/instrumentation-backend/libs/jackson-core-2.2.0-rc2-20130420.041001-2.jar +0 -0
- data/test-server/instrumentation-backend/libs/jackson-databind-2.2.0-rc2-20130422.041053-3.jar +0 -0
@@ -0,0 +1,34 @@
|
|
1
|
+
package sh.calaba.org.codehaus.jackson.map;
|
2
|
+
|
3
|
+
import java.io.IOException;
|
4
|
+
|
5
|
+
import sh.calaba.org.codehaus.jackson.JsonGenerator;
|
6
|
+
import sh.calaba.org.codehaus.jackson.JsonProcessingException;
|
7
|
+
|
8
|
+
/**
|
9
|
+
* Interface that can be implemented by objects that know how to
|
10
|
+
* serialize themselves to JSON, using {@link JsonGenerator}
|
11
|
+
* (and {@link SerializerProvider} if necessary).
|
12
|
+
*<p>
|
13
|
+
* Note that implementing this interface binds implementing object
|
14
|
+
* closely to Jackson API, and that it is often not necessary to do
|
15
|
+
* so -- if class is a bean, it can be serialized without
|
16
|
+
* implementing this interface.
|
17
|
+
*<p>
|
18
|
+
* NOTE: as of version 1.5, this interface is missing one crucial
|
19
|
+
* aspect, that of dealing with type information embedding.
|
20
|
+
* Because of this, this interface is deprecated, although will be
|
21
|
+
* fully supported for all 1.x releases, and will work except for
|
22
|
+
* cases where polymorphic type information handling is needed for
|
23
|
+
* type (in which case implementing if {@link JsonSerializableWithType} is crucial).
|
24
|
+
*
|
25
|
+
* @see sh.calaba.org.codehaus.jackson.map.JsonSerializableWithType
|
26
|
+
*
|
27
|
+
* @since 1.5
|
28
|
+
*/
|
29
|
+
@Deprecated
|
30
|
+
public interface JsonSerializable
|
31
|
+
{
|
32
|
+
public void serialize(JsonGenerator jgen, SerializerProvider provider)
|
33
|
+
throws IOException, JsonProcessingException;
|
34
|
+
}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
package sh.calaba.org.codehaus.jackson.map;
|
2
|
+
|
3
|
+
import java.io.IOException;
|
4
|
+
|
5
|
+
import sh.calaba.org.codehaus.jackson.JsonGenerator;
|
6
|
+
import sh.calaba.org.codehaus.jackson.JsonProcessingException;
|
7
|
+
|
8
|
+
/**
|
9
|
+
* Interface that is to replace {@link JsonSerializable} to
|
10
|
+
* allow for dynamic type information embedding.
|
11
|
+
*
|
12
|
+
* @since 1.5
|
13
|
+
* @author tatu
|
14
|
+
*/
|
15
|
+
@SuppressWarnings("deprecation")
|
16
|
+
public interface JsonSerializableWithType
|
17
|
+
extends JsonSerializable
|
18
|
+
{
|
19
|
+
public void serializeWithType(JsonGenerator jgen, SerializerProvider provider,
|
20
|
+
TypeSerializer typeSer)
|
21
|
+
throws IOException, JsonProcessingException;
|
22
|
+
}
|
data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonSerializer.java
ADDED
@@ -0,0 +1,138 @@
|
|
1
|
+
package sh.calaba.org.codehaus.jackson.map;
|
2
|
+
|
3
|
+
import java.io.IOException;
|
4
|
+
|
5
|
+
import sh.calaba.org.codehaus.jackson.JsonGenerator;
|
6
|
+
import sh.calaba.org.codehaus.jackson.JsonProcessingException;
|
7
|
+
|
8
|
+
/**
|
9
|
+
* Abstract class that defines API used by {@link ObjectMapper} (and
|
10
|
+
* other chained {@link JsonSerializer}s too) to serialize Objects of
|
11
|
+
* arbitrary types into JSON, using provided {@link JsonGenerator}.
|
12
|
+
*<p>
|
13
|
+
* NOTE: it is recommended that custom serializers extend
|
14
|
+
* {@link sh.calaba.org.codehaus.jackson.map.ser.std.SerializerBase} instead
|
15
|
+
* of this class, since it will implement many of optional
|
16
|
+
* methods of this class.
|
17
|
+
*/
|
18
|
+
public abstract class JsonSerializer<T>
|
19
|
+
{
|
20
|
+
/*
|
21
|
+
/**********************************************************
|
22
|
+
/* Fluent factory methods for constructing decorated versions
|
23
|
+
/**********************************************************
|
24
|
+
*/
|
25
|
+
|
26
|
+
/**
|
27
|
+
* Method that will return serializer instance that produces
|
28
|
+
* "unwrapped" serialization, if applicable for type being
|
29
|
+
* serialized (which is the case for some serializers
|
30
|
+
* that produce JSON Objects as output).
|
31
|
+
* If no unwrapped serializer can be constructed, will simply
|
32
|
+
* return serializer as-is.
|
33
|
+
*<p>
|
34
|
+
* Default implementation just returns serializer as-is,
|
35
|
+
* indicating that no unwrapped variant exists
|
36
|
+
*
|
37
|
+
* @since 1.9
|
38
|
+
*/
|
39
|
+
public JsonSerializer<T> unwrappingSerializer() {
|
40
|
+
return this;
|
41
|
+
}
|
42
|
+
|
43
|
+
/**
|
44
|
+
* Accessor for checking whether this serializer is an
|
45
|
+
* "unwrapping" serializer; this is necessary to know since
|
46
|
+
* it may also require caller to suppress writing of the
|
47
|
+
* leading property name.
|
48
|
+
*
|
49
|
+
* @since 1.9
|
50
|
+
*/
|
51
|
+
public boolean isUnwrappingSerializer() {
|
52
|
+
return false;
|
53
|
+
}
|
54
|
+
|
55
|
+
/*
|
56
|
+
/**********************************************************
|
57
|
+
/* Serialization methods
|
58
|
+
/**********************************************************
|
59
|
+
*/
|
60
|
+
|
61
|
+
/**
|
62
|
+
* Method that can be called to ask implementation to serialize
|
63
|
+
* values of type this serializer handles.
|
64
|
+
*
|
65
|
+
* @param value Value to serialize; can <b>not</b> be null.
|
66
|
+
* @param jgen Generator used to output resulting Json content
|
67
|
+
* @param provider Provider that can be used to get serializers for
|
68
|
+
* serializing Objects value contains, if any.
|
69
|
+
*/
|
70
|
+
public abstract void serialize(T value, JsonGenerator jgen, SerializerProvider provider)
|
71
|
+
throws IOException, JsonProcessingException;
|
72
|
+
|
73
|
+
/**
|
74
|
+
* Method that can be called to ask implementation to serialize
|
75
|
+
* values of type this serializer handles, using specified type serializer
|
76
|
+
* for embedding necessary type information.
|
77
|
+
*<p>
|
78
|
+
* Default implementation will ignore serialization of type information,
|
79
|
+
* and just calls {@link #serialize}: serializers that can embed
|
80
|
+
* type information should override this to implement actual handling.
|
81
|
+
* Most common such handling is done by something like:
|
82
|
+
*<pre>
|
83
|
+
* // note: method to call depends on whether this type is serialized as JSON scalar, object or Array!
|
84
|
+
* typeSer.writeTypePrefixForScalar(value, jgen);
|
85
|
+
* serialize(value, jgen, provider);
|
86
|
+
* typeSer.writeTypeSuffixForScalar(value, jgen);
|
87
|
+
*</pre>
|
88
|
+
*
|
89
|
+
* @param value Value to serialize; can <b>not</b> be null.
|
90
|
+
* @param jgen Generator used to output resulting Json content
|
91
|
+
* @param provider Provider that can be used to get serializers for
|
92
|
+
* serializing Objects value contains, if any.
|
93
|
+
* @param typeSer Type serializer to use for including type information
|
94
|
+
*
|
95
|
+
* @since 1.5
|
96
|
+
*/
|
97
|
+
public void serializeWithType(T value, JsonGenerator jgen, SerializerProvider provider,
|
98
|
+
TypeSerializer typeSer)
|
99
|
+
throws IOException, JsonProcessingException
|
100
|
+
{
|
101
|
+
serialize(value, jgen, provider);
|
102
|
+
}
|
103
|
+
|
104
|
+
/*
|
105
|
+
/**********************************************************
|
106
|
+
/* Introspection methods needed for type handling
|
107
|
+
/**********************************************************
|
108
|
+
*/
|
109
|
+
|
110
|
+
/**
|
111
|
+
* Method for accessing type of Objects this serializer can handle.
|
112
|
+
* Note that this information is not guaranteed to be exact -- it
|
113
|
+
* may be a more generic (super-type) -- but it should not be
|
114
|
+
* incorrect (return a non-related type).
|
115
|
+
*<p>
|
116
|
+
* Default implementation will return null, which essentially means
|
117
|
+
* same as returning <code>Object.class</code> would; that is, that
|
118
|
+
* nothing is known about handled type.
|
119
|
+
*<p>
|
120
|
+
*/
|
121
|
+
public Class<T> handledType() { return null; }
|
122
|
+
|
123
|
+
/*
|
124
|
+
/**********************************************************
|
125
|
+
/* Helper class(es)
|
126
|
+
/**********************************************************
|
127
|
+
*/
|
128
|
+
|
129
|
+
/**
|
130
|
+
* This marker class is only to be used with annotations, to
|
131
|
+
* indicate that <b>no serializer is configured</b>.
|
132
|
+
*<p>
|
133
|
+
* Specifically, this class is to be used as the marker for
|
134
|
+
* annotation {@link sh.calaba.org.codehaus.jackson.map.annotate.JsonSerialize}.
|
135
|
+
*/
|
136
|
+
public abstract static class None
|
137
|
+
extends JsonSerializer<Object> { }
|
138
|
+
}
|
data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/KeyDeserializer.java
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
package sh.calaba.org.codehaus.jackson.map;
|
2
|
+
|
3
|
+
import java.io.IOException;
|
4
|
+
|
5
|
+
import sh.calaba.org.codehaus.jackson.JsonProcessingException;
|
6
|
+
|
7
|
+
/**
|
8
|
+
* Abstract class that defines API used for deserializing JSON content
|
9
|
+
* field names into Java Map keys. These deserializers are only used
|
10
|
+
* if the Map key class is not <code>String</code> or <code>Object</code>.
|
11
|
+
*/
|
12
|
+
public abstract class KeyDeserializer
|
13
|
+
{
|
14
|
+
/**
|
15
|
+
* Method called to deserialize a {@link java.util.Map} key from JSON property name.
|
16
|
+
*/
|
17
|
+
public abstract Object deserializeKey(String key, DeserializationContext ctxt)
|
18
|
+
throws IOException, JsonProcessingException;
|
19
|
+
|
20
|
+
/**
|
21
|
+
* This marker class is only to be used with annotations, to
|
22
|
+
* indicate that <b>no deserializer is configured</b>.
|
23
|
+
*<p>
|
24
|
+
* Specifically, this class is to be used as the marker for
|
25
|
+
* annotation {@link sh.calaba.org.codehaus.jackson.map.annotate.JsonDeserialize}.
|
26
|
+
*
|
27
|
+
* @since 1.3
|
28
|
+
*/
|
29
|
+
public abstract static class None
|
30
|
+
extends KeyDeserializer { }
|
31
|
+
}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
package sh.calaba.org.codehaus.jackson.map;
|
2
|
+
|
3
|
+
import sh.calaba.org.codehaus.jackson.type.JavaType;
|
4
|
+
|
5
|
+
/**
|
6
|
+
* Interface that defines API for simple extensions that can provide additional deserializers
|
7
|
+
* for deserializer Map keys of various types, from JSON property names.
|
8
|
+
* Access is by a single callback method; instance is to either return
|
9
|
+
* a configured {@link KeyDeserializer} for specified type, or null to indicate that it
|
10
|
+
* does not support handling of the type. In latter case, further calls can be made
|
11
|
+
* for other providers; in former case returned key deserializer is used for handling of
|
12
|
+
* key instances of specified type.
|
13
|
+
*
|
14
|
+
* @since 1.8
|
15
|
+
*/
|
16
|
+
public interface KeyDeserializers
|
17
|
+
{
|
18
|
+
public KeyDeserializer findKeyDeserializer(JavaType type, DeserializationConfig config,
|
19
|
+
BeanDescription beanDesc, BeanProperty property)
|
20
|
+
throws JsonMappingException;
|
21
|
+
}
|
data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/MapperConfig.java
ADDED
@@ -0,0 +1,1154 @@
|
|
1
|
+
package sh.calaba.org.codehaus.jackson.map;
|
2
|
+
|
3
|
+
import java.text.DateFormat;
|
4
|
+
import java.util.HashMap;
|
5
|
+
import java.util.Map;
|
6
|
+
|
7
|
+
import sh.calaba.org.codehaus.jackson.annotate.JsonAutoDetect;
|
8
|
+
import sh.calaba.org.codehaus.jackson.annotate.JsonMethod;
|
9
|
+
import sh.calaba.org.codehaus.jackson.map.introspect.Annotated;
|
10
|
+
import sh.calaba.org.codehaus.jackson.map.introspect.VisibilityChecker;
|
11
|
+
import sh.calaba.org.codehaus.jackson.map.jsontype.SubtypeResolver;
|
12
|
+
import sh.calaba.org.codehaus.jackson.map.jsontype.TypeIdResolver;
|
13
|
+
import sh.calaba.org.codehaus.jackson.map.jsontype.TypeResolverBuilder;
|
14
|
+
import sh.calaba.org.codehaus.jackson.map.jsontype.impl.StdSubtypeResolver;
|
15
|
+
import sh.calaba.org.codehaus.jackson.map.type.ClassKey;
|
16
|
+
import sh.calaba.org.codehaus.jackson.map.type.TypeBindings;
|
17
|
+
import sh.calaba.org.codehaus.jackson.map.type.TypeFactory;
|
18
|
+
import sh.calaba.org.codehaus.jackson.map.util.ClassUtil;
|
19
|
+
import sh.calaba.org.codehaus.jackson.map.util.StdDateFormat;
|
20
|
+
import sh.calaba.org.codehaus.jackson.type.JavaType;
|
21
|
+
import sh.calaba.org.codehaus.jackson.type.TypeReference;
|
22
|
+
|
23
|
+
/**
|
24
|
+
* Interface that defines functionality accessible through both
|
25
|
+
* serialization and deserialization configuration objects;
|
26
|
+
* accessors to mode-independent configuration settings
|
27
|
+
* and such.
|
28
|
+
*<p>
|
29
|
+
* As of version 1.9, the goal is to make this class eventually immutable.
|
30
|
+
* Because of this, existing methods that allow changing state of this
|
31
|
+
* instance are deprecated in favor of methods that create new instances
|
32
|
+
* with different configuration ("fluent factories").
|
33
|
+
* One major remaining issue is that of handling mix-in annotations, which
|
34
|
+
* still represent a bit of mutable state; may need to implement a
|
35
|
+
* functional-style immutable map for storing those.
|
36
|
+
*
|
37
|
+
* @since 1.2 -- major change in 1.8, changed from interface to
|
38
|
+
* abstract class
|
39
|
+
*/
|
40
|
+
public abstract class MapperConfig<T extends MapperConfig<T>>
|
41
|
+
implements ClassIntrospector.MixInResolver
|
42
|
+
{
|
43
|
+
/*
|
44
|
+
/**********************************************************
|
45
|
+
/* Constants, default values
|
46
|
+
/**********************************************************
|
47
|
+
*/
|
48
|
+
|
49
|
+
/**
|
50
|
+
* This is the default {@link DateFormat} used unless overridden by
|
51
|
+
* custom implementation.
|
52
|
+
*/
|
53
|
+
protected final static DateFormat DEFAULT_DATE_FORMAT = StdDateFormat.instance;
|
54
|
+
|
55
|
+
/*
|
56
|
+
/**********************************************************
|
57
|
+
/* Simple immutable basic settings
|
58
|
+
/**********************************************************
|
59
|
+
*/
|
60
|
+
|
61
|
+
/**
|
62
|
+
* Immutable container object for simple configuration settings.
|
63
|
+
*<p>
|
64
|
+
* Note: ideally this would be final, but until we can eliminate
|
65
|
+
* mutators, must keep it mutable.
|
66
|
+
*/
|
67
|
+
protected Base _base;
|
68
|
+
|
69
|
+
/*
|
70
|
+
/**********************************************************
|
71
|
+
/* Mix-in annotations
|
72
|
+
/**********************************************************
|
73
|
+
*/
|
74
|
+
|
75
|
+
/**
|
76
|
+
* Mapping that defines how to apply mix-in annotations: key is
|
77
|
+
* the type to received additional annotations, and value is the
|
78
|
+
* type that has annotations to "mix in".
|
79
|
+
*<p>
|
80
|
+
* Annotations associated with the value classes will be used to
|
81
|
+
* override annotations of the key class, associated with the
|
82
|
+
* same field or method. They can be further masked by sub-classes:
|
83
|
+
* you can think of it as injecting annotations between the target
|
84
|
+
* class and its sub-classes (or interfaces)
|
85
|
+
*
|
86
|
+
* @since 1.2
|
87
|
+
*/
|
88
|
+
protected HashMap<ClassKey,Class<?>> _mixInAnnotations;
|
89
|
+
|
90
|
+
/**
|
91
|
+
* Flag used to detect when a copy if mix-in annotations is
|
92
|
+
* needed: set when current copy is shared, cleared when a
|
93
|
+
* fresh copy is made
|
94
|
+
*
|
95
|
+
* @since 1.2
|
96
|
+
*/
|
97
|
+
protected boolean _mixInAnnotationsShared;
|
98
|
+
|
99
|
+
/*
|
100
|
+
/**********************************************************
|
101
|
+
/* "Late bound" settings
|
102
|
+
/**********************************************************
|
103
|
+
*/
|
104
|
+
|
105
|
+
/**
|
106
|
+
* Registered concrete subtypes that can be used instead of (or
|
107
|
+
* in addition to) ones declared using annotations.
|
108
|
+
* Unlike most other settings, it is not configured as early
|
109
|
+
* as it is set, but rather only when a non-shared instance
|
110
|
+
* is constructed by <code>ObjectMapper</code> (or -Reader
|
111
|
+
* or -Writer)
|
112
|
+
*<p>
|
113
|
+
* Note: this is the only property left as non-final, to allow
|
114
|
+
* lazy construction of the instance as necessary.
|
115
|
+
*
|
116
|
+
* @since 1.6
|
117
|
+
*/
|
118
|
+
protected SubtypeResolver _subtypeResolver;
|
119
|
+
|
120
|
+
/*
|
121
|
+
/**********************************************************
|
122
|
+
/* Life-cycle: constructors
|
123
|
+
/**********************************************************
|
124
|
+
*/
|
125
|
+
|
126
|
+
protected MapperConfig(ClassIntrospector<? extends BeanDescription> ci, AnnotationIntrospector ai,
|
127
|
+
VisibilityChecker<?> vc, SubtypeResolver str, PropertyNamingStrategy pns, TypeFactory tf,
|
128
|
+
HandlerInstantiator hi)
|
129
|
+
{
|
130
|
+
_base = new Base(ci, ai, vc, pns, tf, null, DEFAULT_DATE_FORMAT, hi);
|
131
|
+
_subtypeResolver = str;
|
132
|
+
// by default, assumed to be shared; only cleared when explicit copy is made
|
133
|
+
_mixInAnnotationsShared = true;
|
134
|
+
}
|
135
|
+
|
136
|
+
/**
|
137
|
+
* Simple copy constructor
|
138
|
+
*
|
139
|
+
* @since 1.8
|
140
|
+
*/
|
141
|
+
protected MapperConfig(MapperConfig<T> src) {
|
142
|
+
this(src, src._base, src._subtypeResolver);
|
143
|
+
}
|
144
|
+
|
145
|
+
/**
|
146
|
+
* @since 1.8
|
147
|
+
*/
|
148
|
+
protected MapperConfig(MapperConfig<T> src, MapperConfig.Base base, SubtypeResolver str)
|
149
|
+
{
|
150
|
+
_base = base;
|
151
|
+
_subtypeResolver = str;
|
152
|
+
// by default, assumed to be shared; only cleared when explicit copy is made
|
153
|
+
_mixInAnnotationsShared = true;
|
154
|
+
_mixInAnnotations = src._mixInAnnotations;
|
155
|
+
}
|
156
|
+
|
157
|
+
/*
|
158
|
+
/**********************************************************
|
159
|
+
/* Life-cycle: factory methods
|
160
|
+
/**********************************************************
|
161
|
+
*/
|
162
|
+
|
163
|
+
/**
|
164
|
+
* Method that checks class annotations that the argument Object has,
|
165
|
+
* and modifies settings of this configuration object accordingly,
|
166
|
+
* similar to how those annotations would affect actual value classes
|
167
|
+
* annotated with them, but with global scope. Note that not all
|
168
|
+
* annotations have global significance, and thus only subset of
|
169
|
+
* Jackson annotations will have any effect.
|
170
|
+
*
|
171
|
+
* @deprecated Since 1.9, it is preferably to explicitly configure
|
172
|
+
* instances; this method also modifies existing instance which is
|
173
|
+
* against immutable design goals of this class.
|
174
|
+
*/
|
175
|
+
@Deprecated
|
176
|
+
public abstract void fromAnnotations(Class<?> cls);
|
177
|
+
|
178
|
+
/**
|
179
|
+
* Method to use for constructing an instance that is not shared
|
180
|
+
* between multiple operations but only used for a single one
|
181
|
+
* (which may be this instance, if it is immutable; if not, a copy
|
182
|
+
* is constructed with same settings)
|
183
|
+
*
|
184
|
+
* @since 1.8
|
185
|
+
*/
|
186
|
+
public abstract T createUnshared(SubtypeResolver subtypeResolver);
|
187
|
+
|
188
|
+
/**
|
189
|
+
* Method for constructing and returning a new instance with different
|
190
|
+
* {@link ClassIntrospector}
|
191
|
+
* to use.
|
192
|
+
*<p>
|
193
|
+
* NOTE: make sure to register new instance with <code>ObjectMapper</code>
|
194
|
+
* if directly calling this method.
|
195
|
+
*
|
196
|
+
* @since 1.8
|
197
|
+
*/
|
198
|
+
public abstract T withClassIntrospector(ClassIntrospector<? extends BeanDescription> ci);
|
199
|
+
|
200
|
+
/**
|
201
|
+
* Method for constructing and returning a new instance with different
|
202
|
+
* {@link AnnotationIntrospector} to use (replacing old one).
|
203
|
+
*<p>
|
204
|
+
* NOTE: make sure to register new instance with <code>ObjectMapper</code>
|
205
|
+
* if directly calling this method.
|
206
|
+
*
|
207
|
+
* @since 1.8
|
208
|
+
*/
|
209
|
+
public abstract T withAnnotationIntrospector(AnnotationIntrospector ai);
|
210
|
+
|
211
|
+
/**
|
212
|
+
* Method for constructing and returning a new instance with different
|
213
|
+
* {@link VisibilityChecker}
|
214
|
+
* to use.
|
215
|
+
*<p>
|
216
|
+
* NOTE: make sure to register new instance with <code>ObjectMapper</code>
|
217
|
+
* if directly calling this method.
|
218
|
+
*
|
219
|
+
* @since 1.8
|
220
|
+
*/
|
221
|
+
public abstract T withVisibilityChecker(VisibilityChecker<?> vc);
|
222
|
+
|
223
|
+
/**
|
224
|
+
* Method for constructing and returning a new instance with different
|
225
|
+
* minimal visibility level for specified property type
|
226
|
+
*<p>
|
227
|
+
* NOTE: make sure to register new instance with <code>ObjectMapper</code>
|
228
|
+
* if directly calling this method.
|
229
|
+
*
|
230
|
+
* @since 1.9
|
231
|
+
*/
|
232
|
+
public abstract T withVisibility(JsonMethod forMethod, JsonAutoDetect.Visibility visibility);
|
233
|
+
|
234
|
+
/**
|
235
|
+
* Method for constructing and returning a new instance with different
|
236
|
+
* {@link TypeResolverBuilder}
|
237
|
+
* to use.
|
238
|
+
*<p>
|
239
|
+
* NOTE: make sure to register new instance with <code>ObjectMapper</code>
|
240
|
+
* if directly calling this method.
|
241
|
+
*
|
242
|
+
* @since 1.8
|
243
|
+
*/
|
244
|
+
public abstract T withTypeResolverBuilder(TypeResolverBuilder<?> trb);
|
245
|
+
|
246
|
+
/**
|
247
|
+
* Method for constructing and returning a new instance with different
|
248
|
+
* {@link SubtypeResolver}
|
249
|
+
* to use.
|
250
|
+
*<p>
|
251
|
+
* NOTE: make sure to register new instance with <code>ObjectMapper</code>
|
252
|
+
* if directly calling this method.
|
253
|
+
*
|
254
|
+
* @since 1.8
|
255
|
+
*/
|
256
|
+
public abstract T withSubtypeResolver(SubtypeResolver str);
|
257
|
+
|
258
|
+
/**
|
259
|
+
* Method for constructing and returning a new instance with different
|
260
|
+
* {@link PropertyNamingStrategy}
|
261
|
+
* to use.
|
262
|
+
*<p>
|
263
|
+
* NOTE: make sure to register new instance with <code>ObjectMapper</code>
|
264
|
+
* if directly calling this method.
|
265
|
+
*
|
266
|
+
* @since 1.8
|
267
|
+
*/
|
268
|
+
public abstract T withPropertyNamingStrategy(PropertyNamingStrategy strategy);
|
269
|
+
|
270
|
+
/**
|
271
|
+
* Method for constructing and returning a new instance with different
|
272
|
+
* {@link TypeFactory}
|
273
|
+
* to use.
|
274
|
+
*<p>
|
275
|
+
* NOTE: make sure to register new instance with <code>ObjectMapper</code>
|
276
|
+
* if directly calling this method.
|
277
|
+
*
|
278
|
+
* @since 1.8
|
279
|
+
*/
|
280
|
+
public abstract T withTypeFactory(TypeFactory typeFactory);
|
281
|
+
|
282
|
+
/**
|
283
|
+
* Method for constructing and returning a new instance with different
|
284
|
+
* {@link DateFormat}
|
285
|
+
* to use.
|
286
|
+
*<p>
|
287
|
+
* NOTE: make sure to register new instance with <code>ObjectMapper</code>
|
288
|
+
* if directly calling this method.
|
289
|
+
*
|
290
|
+
* @since 1.8
|
291
|
+
*/
|
292
|
+
public abstract T withDateFormat(DateFormat df);
|
293
|
+
|
294
|
+
/**
|
295
|
+
* Method for constructing and returning a new instance with different
|
296
|
+
* {@link HandlerInstantiator}
|
297
|
+
* to use.
|
298
|
+
*<p>
|
299
|
+
* NOTE: make sure to register new instance with <code>ObjectMapper</code>
|
300
|
+
* if directly calling this method.
|
301
|
+
*
|
302
|
+
* @since 1.8
|
303
|
+
*/
|
304
|
+
public abstract T withHandlerInstantiator(HandlerInstantiator hi);
|
305
|
+
|
306
|
+
/**
|
307
|
+
* Method for constructing and returning a new instance with additional
|
308
|
+
* {@link AnnotationIntrospector} inserted (as the highest priority one)
|
309
|
+
*
|
310
|
+
* @since 1.9
|
311
|
+
*/
|
312
|
+
public abstract T withInsertedAnnotationIntrospector(AnnotationIntrospector introspector);
|
313
|
+
|
314
|
+
/**
|
315
|
+
* Method for constructing and returning a new instance with additional
|
316
|
+
* {@link AnnotationIntrospector} appended (as the lowest priority one)
|
317
|
+
*
|
318
|
+
* @since 1.9
|
319
|
+
*/
|
320
|
+
public abstract T withAppendedAnnotationIntrospector(AnnotationIntrospector introspector);
|
321
|
+
|
322
|
+
/*
|
323
|
+
/**********************************************************
|
324
|
+
/* Configuration: simple features
|
325
|
+
/**********************************************************
|
326
|
+
*/
|
327
|
+
|
328
|
+
/**
|
329
|
+
* Method for checking whether given feature is enabled or not
|
330
|
+
*/
|
331
|
+
public abstract boolean isEnabled(ConfigFeature f);
|
332
|
+
|
333
|
+
/**
|
334
|
+
* Method for determining whether annotation processing is enabled or not
|
335
|
+
* (default settings are typically that it is enabled; must explicitly disable).
|
336
|
+
*
|
337
|
+
* @return True if annotation processing is enabled; false if not
|
338
|
+
*
|
339
|
+
* @since 1.8
|
340
|
+
*/
|
341
|
+
public abstract boolean isAnnotationProcessingEnabled();
|
342
|
+
|
343
|
+
/**
|
344
|
+
* Accessor for determining whether it is ok to try to force override of access
|
345
|
+
* modifiers to be able to get or set values of non-public Methods, Fields;
|
346
|
+
* to invoke non-public Constructors, Methods; or to instantiate non-public
|
347
|
+
* Classes. By default this is enabled, but on some platforms it needs to be
|
348
|
+
* prevented since if this would violate security constraints and cause failures.
|
349
|
+
*
|
350
|
+
* @return True if access modifier overriding is allowed (and may be done for
|
351
|
+
* any Field, Method, Constructor or Class); false to prevent any attempts
|
352
|
+
* to override.
|
353
|
+
*
|
354
|
+
* @since 1.8
|
355
|
+
*/
|
356
|
+
public abstract boolean canOverrideAccessModifiers();
|
357
|
+
|
358
|
+
/**
|
359
|
+
* Accessor for checking whether default settings for property handling
|
360
|
+
* indicate that properties should be alphabetically ordered or not.
|
361
|
+
*
|
362
|
+
* @since 1.9
|
363
|
+
*/
|
364
|
+
public abstract boolean shouldSortPropertiesAlphabetically();
|
365
|
+
|
366
|
+
/*
|
367
|
+
/**********************************************************
|
368
|
+
/* Configuration: introspectors, mix-ins
|
369
|
+
/**********************************************************
|
370
|
+
*/
|
371
|
+
|
372
|
+
public ClassIntrospector<? extends BeanDescription> getClassIntrospector() {
|
373
|
+
return _base.getClassIntrospector();
|
374
|
+
}
|
375
|
+
|
376
|
+
/**
|
377
|
+
* Method for getting {@link AnnotationIntrospector} configured
|
378
|
+
* to introspect annotation values used for configuration.
|
379
|
+
*<p>
|
380
|
+
* Non-final since it is actually overridden by sub-classes (for now?)
|
381
|
+
*/
|
382
|
+
public AnnotationIntrospector getAnnotationIntrospector() {
|
383
|
+
return _base.getAnnotationIntrospector();
|
384
|
+
}
|
385
|
+
|
386
|
+
/**
|
387
|
+
* Method for registering specified {@link AnnotationIntrospector} as the highest
|
388
|
+
* priority introspector (will be chained with existing introspector(s) which
|
389
|
+
* will be used as fallbacks for cases this introspector does not handle)
|
390
|
+
*
|
391
|
+
* @param introspector Annotation introspector to register.
|
392
|
+
*
|
393
|
+
* @since 1.7
|
394
|
+
*
|
395
|
+
* @deprecated Since 1.9 use {@link #withInsertedAnnotationIntrospector(AnnotationIntrospector)} instead;
|
396
|
+
* this method is deprecated as it changes state, preventing immutability of instances
|
397
|
+
*/
|
398
|
+
@Deprecated
|
399
|
+
public final void insertAnnotationIntrospector(AnnotationIntrospector introspector) {
|
400
|
+
_base = _base.withAnnotationIntrospector(AnnotationIntrospector.Pair.create(introspector,
|
401
|
+
getAnnotationIntrospector()));
|
402
|
+
}
|
403
|
+
|
404
|
+
/**
|
405
|
+
* Method for registering specified {@link AnnotationIntrospector} as the lowest
|
406
|
+
* priority introspector, chained with existing introspector(s) and called
|
407
|
+
* as fallback for cases not otherwise handled.
|
408
|
+
*
|
409
|
+
* @param introspector Annotation introspector to register.
|
410
|
+
*
|
411
|
+
* @since 1.7
|
412
|
+
*
|
413
|
+
* @deprecated Since 1.9 use {@link #withAppendedAnnotationIntrospector(AnnotationIntrospector)} instead;
|
414
|
+
* this method is deprecated as it changes state, preventing immutability of instances
|
415
|
+
*/
|
416
|
+
@Deprecated
|
417
|
+
public final void appendAnnotationIntrospector(AnnotationIntrospector introspector) {
|
418
|
+
_base = _base.withAnnotationIntrospector(AnnotationIntrospector.Pair.create(getAnnotationIntrospector(),
|
419
|
+
introspector));
|
420
|
+
}
|
421
|
+
|
422
|
+
/**
|
423
|
+
* Accessor for object used for determining whether specific property elements
|
424
|
+
* (method, constructors, fields) can be auto-detected based on
|
425
|
+
* their visibility (access modifiers). Can be changed to allow
|
426
|
+
* different minimum visibility levels for auto-detection. Note
|
427
|
+
* that this is the global handler; individual types (classes)
|
428
|
+
* can further override active checker used (using
|
429
|
+
* {@link JsonAutoDetect} annotation)
|
430
|
+
*
|
431
|
+
* @since 1.5
|
432
|
+
*/
|
433
|
+
public VisibilityChecker<?> getDefaultVisibilityChecker() {
|
434
|
+
return _base.getVisibilityChecker();
|
435
|
+
}
|
436
|
+
|
437
|
+
/**
|
438
|
+
* @since 1.8
|
439
|
+
*/
|
440
|
+
public final PropertyNamingStrategy getPropertyNamingStrategy() {
|
441
|
+
return _base.getPropertyNamingStrategy();
|
442
|
+
}
|
443
|
+
|
444
|
+
/**
|
445
|
+
* @since 1.8
|
446
|
+
*/
|
447
|
+
public final HandlerInstantiator getHandlerInstantiator() {
|
448
|
+
return _base.getHandlerInstantiator();
|
449
|
+
}
|
450
|
+
|
451
|
+
/*
|
452
|
+
/**********************************************************
|
453
|
+
/* Configuration: mix-in annotations
|
454
|
+
/**********************************************************
|
455
|
+
*/
|
456
|
+
|
457
|
+
/**
|
458
|
+
* Method to use for defining mix-in annotations to use for augmenting
|
459
|
+
* annotations that processable (serializable / deserializable)
|
460
|
+
* classes have.
|
461
|
+
* Mixing in is done when introspecting class annotations and properties.
|
462
|
+
* Map passed contains keys that are target classes (ones to augment
|
463
|
+
* with new annotation overrides), and values that are source classes
|
464
|
+
* (have annotations to use for augmentation).
|
465
|
+
* Annotations from source classes (and their supertypes)
|
466
|
+
* will <b>override</b>
|
467
|
+
* annotations that target classes (and their super-types) have.
|
468
|
+
*
|
469
|
+
* @since 1.2
|
470
|
+
*/
|
471
|
+
public final void setMixInAnnotations(Map<Class<?>, Class<?>> sourceMixins)
|
472
|
+
{
|
473
|
+
HashMap<ClassKey,Class<?>> mixins = null;
|
474
|
+
if (sourceMixins != null && sourceMixins.size() > 0) {
|
475
|
+
mixins = new HashMap<ClassKey,Class<?>>(sourceMixins.size());
|
476
|
+
for (Map.Entry<Class<?>,Class<?>> en : sourceMixins.entrySet()) {
|
477
|
+
mixins.put(new ClassKey(en.getKey()), en.getValue());
|
478
|
+
}
|
479
|
+
}
|
480
|
+
_mixInAnnotationsShared = false;
|
481
|
+
_mixInAnnotations = mixins;
|
482
|
+
}
|
483
|
+
|
484
|
+
/**
|
485
|
+
* Method to use for adding mix-in annotations to use for augmenting
|
486
|
+
* specified class or interface. All annotations from
|
487
|
+
* <code>mixinSource</code> are taken to override annotations
|
488
|
+
* that <code>target</code> (or its supertypes) has.
|
489
|
+
*
|
490
|
+
* @since 1.2
|
491
|
+
*
|
492
|
+
* @param target Class (or interface) whose annotations to effectively override
|
493
|
+
* @param mixinSource Class (or interface) whose annotations are to
|
494
|
+
* be "added" to target's annotations, overriding as necessary
|
495
|
+
*/
|
496
|
+
public final void addMixInAnnotations(Class<?> target, Class<?> mixinSource)
|
497
|
+
{
|
498
|
+
if (_mixInAnnotations == null) {
|
499
|
+
_mixInAnnotationsShared = false;
|
500
|
+
_mixInAnnotations = new HashMap<ClassKey,Class<?>>();
|
501
|
+
} else if (_mixInAnnotationsShared) {
|
502
|
+
_mixInAnnotationsShared = false;
|
503
|
+
_mixInAnnotations = new HashMap<ClassKey,Class<?>>(_mixInAnnotations);
|
504
|
+
}
|
505
|
+
_mixInAnnotations.put(new ClassKey(target), mixinSource);
|
506
|
+
}
|
507
|
+
|
508
|
+
// ClassIntrospector.MixInResolver impl:
|
509
|
+
|
510
|
+
/**
|
511
|
+
* Method that will check if there are "mix-in" classes (with mix-in
|
512
|
+
* annotations) for given class
|
513
|
+
*
|
514
|
+
* @since 1.2
|
515
|
+
*/
|
516
|
+
@Override
|
517
|
+
public final Class<?> findMixInClassFor(Class<?> cls) {
|
518
|
+
return (_mixInAnnotations == null) ? null : _mixInAnnotations.get(new ClassKey(cls));
|
519
|
+
}
|
520
|
+
|
521
|
+
/**
|
522
|
+
* @since 1.8.1
|
523
|
+
*/
|
524
|
+
public final int mixInCount() {
|
525
|
+
return (_mixInAnnotations == null) ? 0 : _mixInAnnotations.size();
|
526
|
+
}
|
527
|
+
|
528
|
+
/*
|
529
|
+
/**********************************************************
|
530
|
+
/* Configuration: type and subtype handling
|
531
|
+
/**********************************************************
|
532
|
+
*/
|
533
|
+
|
534
|
+
/**
|
535
|
+
* Method called to locate a type info handler for types that do not have
|
536
|
+
* one explicitly declared via annotations (or other configuration).
|
537
|
+
* If such default handler is configured, it is returned; otherwise
|
538
|
+
* null is returned.
|
539
|
+
*
|
540
|
+
* @since 1.5
|
541
|
+
*/
|
542
|
+
public final TypeResolverBuilder<?> getDefaultTyper(JavaType baseType) {
|
543
|
+
return _base.getTypeResolverBuilder();
|
544
|
+
}
|
545
|
+
|
546
|
+
/**
|
547
|
+
* Accessor for object used for finding out all reachable subtypes
|
548
|
+
* for supertypes; needed when a logical type name is used instead
|
549
|
+
* of class name (or custom scheme).
|
550
|
+
*
|
551
|
+
* @since 1.6
|
552
|
+
*/
|
553
|
+
public final SubtypeResolver getSubtypeResolver() {
|
554
|
+
if (_subtypeResolver == null) {
|
555
|
+
_subtypeResolver = new StdSubtypeResolver();
|
556
|
+
}
|
557
|
+
return _subtypeResolver;
|
558
|
+
}
|
559
|
+
|
560
|
+
/**
|
561
|
+
* @since 1.8
|
562
|
+
*/
|
563
|
+
public final TypeFactory getTypeFactory() {
|
564
|
+
return _base.getTypeFactory();
|
565
|
+
}
|
566
|
+
|
567
|
+
/**
|
568
|
+
* Helper method that will construct {@link JavaType} for given
|
569
|
+
* raw class.
|
570
|
+
* This is a simple short-cut for:
|
571
|
+
*<pre>
|
572
|
+
* getTypeFactory().constructType(cls);
|
573
|
+
*</pre>
|
574
|
+
*
|
575
|
+
* @since 1.8
|
576
|
+
*/
|
577
|
+
public final JavaType constructType(Class<?> cls) {
|
578
|
+
return getTypeFactory().constructType(cls, (TypeBindings) null);
|
579
|
+
}
|
580
|
+
|
581
|
+
/**
|
582
|
+
* Helper method that will construct {@link JavaType} for given
|
583
|
+
* type reference
|
584
|
+
* This is a simple short-cut for:
|
585
|
+
*<pre>
|
586
|
+
* getTypeFactory().constructType(valueTypeRef);
|
587
|
+
*</pre>
|
588
|
+
*
|
589
|
+
* @since 1.9
|
590
|
+
*/
|
591
|
+
public final JavaType constructType(TypeReference<?> valueTypeRef) {
|
592
|
+
return getTypeFactory().constructType(valueTypeRef.getType(), (TypeBindings) null);
|
593
|
+
}
|
594
|
+
|
595
|
+
/**
|
596
|
+
* @since 1.9.1
|
597
|
+
*/
|
598
|
+
public JavaType constructSpecializedType(JavaType baseType, Class<?> subclass) {
|
599
|
+
return getTypeFactory().constructSpecializedType(baseType, subclass);
|
600
|
+
}
|
601
|
+
|
602
|
+
/*
|
603
|
+
/**********************************************************
|
604
|
+
/* Configuration: other
|
605
|
+
/**********************************************************
|
606
|
+
*/
|
607
|
+
|
608
|
+
/**
|
609
|
+
* Method for accessing currently configured (textual) date format
|
610
|
+
* that will be used for reading or writing date values (in case
|
611
|
+
* of writing, only if textual output is configured; not if dates
|
612
|
+
* are to be serialized as time stamps).
|
613
|
+
*<p>
|
614
|
+
* Note that typically {@link DateFormat} instances are <b>not thread-safe</b>
|
615
|
+
* (at least ones provided by JDK):
|
616
|
+
* this means that calling code should clone format instance before
|
617
|
+
* using it.
|
618
|
+
*<p>
|
619
|
+
* This method is usually only called by framework itself, since there
|
620
|
+
* are convenience methods available via
|
621
|
+
* {@link DeserializationContext} and {@link SerializerProvider} that
|
622
|
+
* take care of cloning and thread-safe reuse.
|
623
|
+
*/
|
624
|
+
public final DateFormat getDateFormat() { return _base.getDateFormat(); }
|
625
|
+
|
626
|
+
/**
|
627
|
+
* Accessor for getting bean description that only contains class
|
628
|
+
* annotations: useful if no getter/setter/creator information is needed.
|
629
|
+
*
|
630
|
+
* @since 1.7
|
631
|
+
*/
|
632
|
+
@SuppressWarnings("unchecked")
|
633
|
+
public <DESC extends BeanDescription> DESC introspectClassAnnotations(Class<?> cls) {
|
634
|
+
return (DESC) introspectClassAnnotations(constructType(cls));
|
635
|
+
}
|
636
|
+
|
637
|
+
/**
|
638
|
+
* Accessor for getting bean description that only contains class
|
639
|
+
* annotations: useful if no getter/setter/creator information is needed.
|
640
|
+
*
|
641
|
+
* @since 1.9
|
642
|
+
*/
|
643
|
+
public abstract <DESC extends BeanDescription> DESC introspectClassAnnotations(JavaType type);
|
644
|
+
|
645
|
+
/**
|
646
|
+
* Accessor for getting bean description that only contains immediate class
|
647
|
+
* annotations: ones from the class, and its direct mix-in, if any, but
|
648
|
+
* not from super types.
|
649
|
+
*
|
650
|
+
* @since 1.7
|
651
|
+
*/
|
652
|
+
@SuppressWarnings("unchecked")
|
653
|
+
public <DESC extends BeanDescription> DESC introspectDirectClassAnnotations(Class<?> cls) {
|
654
|
+
return (DESC) introspectDirectClassAnnotations(constructType(cls));
|
655
|
+
}
|
656
|
+
/**
|
657
|
+
* Accessor for getting bean description that only contains immediate class
|
658
|
+
* annotations: ones from the class, and its direct mix-in, if any, but
|
659
|
+
* not from super types.
|
660
|
+
*/
|
661
|
+
public abstract <DESC extends BeanDescription> DESC introspectDirectClassAnnotations(JavaType type);
|
662
|
+
|
663
|
+
/*
|
664
|
+
/**********************************************************
|
665
|
+
/* Methods for instantiating handlers
|
666
|
+
/**********************************************************
|
667
|
+
*/
|
668
|
+
|
669
|
+
/**
|
670
|
+
* Method that can be called to obtain an instance of <code>TypeIdResolver</code> of
|
671
|
+
* specified type.
|
672
|
+
*
|
673
|
+
* @since 1.8
|
674
|
+
*/
|
675
|
+
public TypeResolverBuilder<?> typeResolverBuilderInstance(Annotated annotated,
|
676
|
+
Class<? extends TypeResolverBuilder<?>> builderClass)
|
677
|
+
{
|
678
|
+
HandlerInstantiator hi = getHandlerInstantiator();
|
679
|
+
if (hi != null) {
|
680
|
+
TypeResolverBuilder<?> builder = hi.typeResolverBuilderInstance(this, annotated, builderClass);
|
681
|
+
if (builder != null) {
|
682
|
+
return builder;
|
683
|
+
}
|
684
|
+
}
|
685
|
+
return (TypeResolverBuilder<?>) ClassUtil.createInstance(builderClass, canOverrideAccessModifiers());
|
686
|
+
}
|
687
|
+
|
688
|
+
/**
|
689
|
+
* Method that can be called to obtain an instance of <code>TypeIdResolver</code> of
|
690
|
+
* specified type.
|
691
|
+
*
|
692
|
+
* @since 1.8
|
693
|
+
*/
|
694
|
+
public TypeIdResolver typeIdResolverInstance(Annotated annotated,
|
695
|
+
Class<? extends TypeIdResolver> resolverClass)
|
696
|
+
{
|
697
|
+
HandlerInstantiator hi = getHandlerInstantiator();
|
698
|
+
if (hi != null) {
|
699
|
+
TypeIdResolver builder = hi.typeIdResolverInstance(this, annotated, resolverClass);
|
700
|
+
if (builder != null) {
|
701
|
+
return builder;
|
702
|
+
}
|
703
|
+
}
|
704
|
+
return (TypeIdResolver) ClassUtil.createInstance(resolverClass, canOverrideAccessModifiers());
|
705
|
+
}
|
706
|
+
|
707
|
+
/*
|
708
|
+
/**********************************************************
|
709
|
+
/* Deprecated methods
|
710
|
+
/**********************************************************
|
711
|
+
*/
|
712
|
+
|
713
|
+
/**
|
714
|
+
* Method for replacing existing annotation introspector(s) with specified
|
715
|
+
* introspector.
|
716
|
+
* Since this method modifies state of configuration object directly, its use
|
717
|
+
* is not recommended.
|
718
|
+
*
|
719
|
+
* @deprecated Since 1.8, use either
|
720
|
+
* {@link #withAnnotationIntrospector(AnnotationIntrospector)} or
|
721
|
+
* Module API instead
|
722
|
+
*/
|
723
|
+
@Deprecated
|
724
|
+
public final void setAnnotationIntrospector(AnnotationIntrospector ai) {
|
725
|
+
_base = _base.withAnnotationIntrospector(ai);
|
726
|
+
}
|
727
|
+
|
728
|
+
/**
|
729
|
+
* Method that will define specific date format to use for reading/writing
|
730
|
+
* Date and Calendar values.
|
731
|
+
* If null is passed, will use {@link StdDateFormat}.
|
732
|
+
* Instance is used as is, without creating a clone.
|
733
|
+
* Format object in use can be accessed using {@link #getDateFormat}.
|
734
|
+
*
|
735
|
+
* @param df Date format to use, if not null; if null, the default format
|
736
|
+
* will be used
|
737
|
+
*
|
738
|
+
* @deprecated As of version 1.8, it is preferable to call method in
|
739
|
+
* {@link ObjectMapper} instead; or construct new instance with
|
740
|
+
* {@link #withDateFormat(DateFormat)}
|
741
|
+
*/
|
742
|
+
@Deprecated
|
743
|
+
public void setDateFormat(DateFormat df) {
|
744
|
+
if (df == null) {
|
745
|
+
df = DEFAULT_DATE_FORMAT;
|
746
|
+
}
|
747
|
+
_base = _base.withDateFormat(df);
|
748
|
+
}
|
749
|
+
|
750
|
+
/*
|
751
|
+
/**********************************************************
|
752
|
+
/* Helper interface used with simple on/off features
|
753
|
+
/**********************************************************
|
754
|
+
*/
|
755
|
+
|
756
|
+
/**
|
757
|
+
* Interface that actual Feature enumerations used by
|
758
|
+
* {@link MapperConfig} implementations must implement.
|
759
|
+
* Necessary since enums can not be extended using normal
|
760
|
+
* inheritance, but can implement interfaces
|
761
|
+
*
|
762
|
+
* @since 1.9
|
763
|
+
*/
|
764
|
+
public interface ConfigFeature
|
765
|
+
{
|
766
|
+
/**
|
767
|
+
* Accessor for checking whether this feature is enabled by default.
|
768
|
+
*/
|
769
|
+
public boolean enabledByDefault();
|
770
|
+
|
771
|
+
/**
|
772
|
+
* Returns bit mask for this feature instance
|
773
|
+
*/
|
774
|
+
public int getMask();
|
775
|
+
}
|
776
|
+
|
777
|
+
/*
|
778
|
+
/**********************************************************
|
779
|
+
/* Helper class to contain basic state needed to implement
|
780
|
+
/* MapperConfig.
|
781
|
+
/**********************************************************
|
782
|
+
*/
|
783
|
+
|
784
|
+
/**
|
785
|
+
* Immutable container class used to store simple configuration
|
786
|
+
* settings. Since instances are fully immutable, instances can
|
787
|
+
* be freely shared and used without synchronization.
|
788
|
+
*/
|
789
|
+
public static class Base
|
790
|
+
{
|
791
|
+
/*
|
792
|
+
/**********************************************************
|
793
|
+
/* Configuration settings; introspection, related
|
794
|
+
/**********************************************************
|
795
|
+
*/
|
796
|
+
|
797
|
+
/**
|
798
|
+
* Introspector used to figure out Bean properties needed for bean serialization
|
799
|
+
* and deserialization. Overridable so that it is possible to change low-level
|
800
|
+
* details of introspection, like adding new annotation types.
|
801
|
+
*/
|
802
|
+
protected final ClassIntrospector<? extends BeanDescription> _classIntrospector;
|
803
|
+
|
804
|
+
/**
|
805
|
+
* Introspector used for accessing annotation value based configuration.
|
806
|
+
*/
|
807
|
+
protected final AnnotationIntrospector _annotationIntrospector;
|
808
|
+
|
809
|
+
/**
|
810
|
+
* Object used for determining whether specific property elements
|
811
|
+
* (method, constructors, fields) can be auto-detected based on
|
812
|
+
* their visibility (access modifiers). Can be changed to allow
|
813
|
+
* different minimum visibility levels for auto-detection. Note
|
814
|
+
* that this is the global handler; individual types (classes)
|
815
|
+
* can further override active checker used (using
|
816
|
+
* {@link JsonAutoDetect} annotation)
|
817
|
+
*
|
818
|
+
* @since 1.5
|
819
|
+
*/
|
820
|
+
protected final VisibilityChecker<?> _visibilityChecker;
|
821
|
+
|
822
|
+
/**
|
823
|
+
* Custom property naming strategy in use, if any.
|
824
|
+
*
|
825
|
+
* @since 1.8
|
826
|
+
*/
|
827
|
+
protected final PropertyNamingStrategy _propertyNamingStrategy;
|
828
|
+
|
829
|
+
/**
|
830
|
+
* Specific factory used for creating {@link JavaType} instances;
|
831
|
+
* needed to allow modules to add more custom type handling
|
832
|
+
* (mostly to support types of non-Java JVM languages)
|
833
|
+
*/
|
834
|
+
protected final TypeFactory _typeFactory;
|
835
|
+
|
836
|
+
/*
|
837
|
+
/**********************************************************
|
838
|
+
/* Configuration settings; type resolution
|
839
|
+
/**********************************************************
|
840
|
+
*/
|
841
|
+
|
842
|
+
/**
|
843
|
+
* Type information handler used for "untyped" values (ones declared
|
844
|
+
* to have type <code>Object.class</code>)
|
845
|
+
*
|
846
|
+
* @since 1.5
|
847
|
+
*/
|
848
|
+
protected final TypeResolverBuilder<?> _typeResolverBuilder;
|
849
|
+
|
850
|
+
/*
|
851
|
+
/**********************************************************
|
852
|
+
/* Configuration settings; other
|
853
|
+
/**********************************************************
|
854
|
+
*/
|
855
|
+
|
856
|
+
/**
|
857
|
+
* Custom date format to use for de-serialization. If specified, will be
|
858
|
+
* used instead of {@link sh.calaba.org.codehaus.jackson.map.util.StdDateFormat}.
|
859
|
+
*<p>
|
860
|
+
* Note that the configured format object will be cloned once per
|
861
|
+
* deserialization process (first time it is needed)
|
862
|
+
*/
|
863
|
+
protected final DateFormat _dateFormat;
|
864
|
+
|
865
|
+
/**
|
866
|
+
* Object used for creating instances of handlers (serializers, deserializers,
|
867
|
+
* type and type id resolvers), given class to instantiate. This is typically
|
868
|
+
* used to do additional configuration (with dependency injection, for example)
|
869
|
+
* beyond simply construction of instances; or to use alternative constructors.
|
870
|
+
*/
|
871
|
+
protected final HandlerInstantiator _handlerInstantiator;
|
872
|
+
|
873
|
+
/*
|
874
|
+
/**********************************************************
|
875
|
+
/* Construction
|
876
|
+
/**********************************************************
|
877
|
+
*/
|
878
|
+
|
879
|
+
public Base(ClassIntrospector<? extends BeanDescription> ci, AnnotationIntrospector ai,
|
880
|
+
VisibilityChecker<?> vc, PropertyNamingStrategy pns, TypeFactory tf,
|
881
|
+
TypeResolverBuilder<?> typer, DateFormat dateFormat, HandlerInstantiator hi)
|
882
|
+
{
|
883
|
+
_classIntrospector = ci;
|
884
|
+
_annotationIntrospector = ai;
|
885
|
+
_visibilityChecker = vc;
|
886
|
+
_propertyNamingStrategy = pns;
|
887
|
+
_typeFactory = tf;
|
888
|
+
_typeResolverBuilder = typer;
|
889
|
+
_dateFormat = dateFormat;
|
890
|
+
_handlerInstantiator = hi;
|
891
|
+
}
|
892
|
+
|
893
|
+
/*
|
894
|
+
/**********************************************************
|
895
|
+
/* Factory methods
|
896
|
+
/**********************************************************
|
897
|
+
*/
|
898
|
+
|
899
|
+
public Base withClassIntrospector(ClassIntrospector<? extends BeanDescription> ci) {
|
900
|
+
return new Base(ci, _annotationIntrospector, _visibilityChecker, _propertyNamingStrategy, _typeFactory,
|
901
|
+
_typeResolverBuilder, _dateFormat, _handlerInstantiator);
|
902
|
+
}
|
903
|
+
|
904
|
+
public Base withAnnotationIntrospector(AnnotationIntrospector ai) {
|
905
|
+
return new Base(_classIntrospector, ai, _visibilityChecker, _propertyNamingStrategy, _typeFactory,
|
906
|
+
_typeResolverBuilder, _dateFormat, _handlerInstantiator);
|
907
|
+
}
|
908
|
+
|
909
|
+
public Base withInsertedAnnotationIntrospector(AnnotationIntrospector ai) {
|
910
|
+
return withAnnotationIntrospector(AnnotationIntrospector.Pair.create(ai, _annotationIntrospector));
|
911
|
+
}
|
912
|
+
|
913
|
+
public Base withAppendedAnnotationIntrospector(AnnotationIntrospector ai) {
|
914
|
+
return withAnnotationIntrospector(AnnotationIntrospector.Pair.create(_annotationIntrospector, ai));
|
915
|
+
}
|
916
|
+
|
917
|
+
public Base withVisibilityChecker(VisibilityChecker<?> vc) {
|
918
|
+
return new Base(_classIntrospector, _annotationIntrospector, vc, _propertyNamingStrategy, _typeFactory,
|
919
|
+
_typeResolverBuilder, _dateFormat, _handlerInstantiator);
|
920
|
+
}
|
921
|
+
|
922
|
+
public Base withVisibility(JsonMethod forMethod, JsonAutoDetect.Visibility visibility) {
|
923
|
+
return new Base(_classIntrospector, _annotationIntrospector,
|
924
|
+
_visibilityChecker.withVisibility(forMethod, visibility),
|
925
|
+
_propertyNamingStrategy, _typeFactory,
|
926
|
+
_typeResolverBuilder, _dateFormat, _handlerInstantiator);
|
927
|
+
}
|
928
|
+
|
929
|
+
public Base withPropertyNamingStrategy(PropertyNamingStrategy pns) {
|
930
|
+
return new Base(_classIntrospector, _annotationIntrospector, _visibilityChecker, pns, _typeFactory,
|
931
|
+
_typeResolverBuilder, _dateFormat, _handlerInstantiator);
|
932
|
+
}
|
933
|
+
|
934
|
+
public Base withTypeFactory(TypeFactory tf) {
|
935
|
+
return new Base(_classIntrospector, _annotationIntrospector, _visibilityChecker, _propertyNamingStrategy, tf,
|
936
|
+
_typeResolverBuilder, _dateFormat, _handlerInstantiator);
|
937
|
+
}
|
938
|
+
|
939
|
+
public Base withTypeResolverBuilder(TypeResolverBuilder<?> typer) {
|
940
|
+
return new Base(_classIntrospector, _annotationIntrospector, _visibilityChecker, _propertyNamingStrategy, _typeFactory,
|
941
|
+
typer, _dateFormat, _handlerInstantiator);
|
942
|
+
}
|
943
|
+
|
944
|
+
public Base withDateFormat(DateFormat df) {
|
945
|
+
return new Base(_classIntrospector, _annotationIntrospector, _visibilityChecker, _propertyNamingStrategy, _typeFactory,
|
946
|
+
_typeResolverBuilder, df, _handlerInstantiator);
|
947
|
+
}
|
948
|
+
|
949
|
+
public Base withHandlerInstantiator(HandlerInstantiator hi) {
|
950
|
+
return new Base(_classIntrospector, _annotationIntrospector, _visibilityChecker, _propertyNamingStrategy, _typeFactory,
|
951
|
+
_typeResolverBuilder, _dateFormat, hi);
|
952
|
+
}
|
953
|
+
|
954
|
+
/*
|
955
|
+
/**********************************************************
|
956
|
+
/* API
|
957
|
+
/**********************************************************
|
958
|
+
*/
|
959
|
+
|
960
|
+
public ClassIntrospector<? extends BeanDescription> getClassIntrospector() {
|
961
|
+
return _classIntrospector;
|
962
|
+
}
|
963
|
+
|
964
|
+
public AnnotationIntrospector getAnnotationIntrospector() {
|
965
|
+
return _annotationIntrospector;
|
966
|
+
}
|
967
|
+
|
968
|
+
|
969
|
+
public VisibilityChecker<?> getVisibilityChecker() {
|
970
|
+
return _visibilityChecker;
|
971
|
+
}
|
972
|
+
|
973
|
+
public PropertyNamingStrategy getPropertyNamingStrategy() {
|
974
|
+
return _propertyNamingStrategy;
|
975
|
+
}
|
976
|
+
|
977
|
+
public TypeFactory getTypeFactory() {
|
978
|
+
return _typeFactory;
|
979
|
+
}
|
980
|
+
|
981
|
+
public TypeResolverBuilder<?> getTypeResolverBuilder() {
|
982
|
+
return _typeResolverBuilder;
|
983
|
+
}
|
984
|
+
|
985
|
+
public DateFormat getDateFormat() {
|
986
|
+
return _dateFormat;
|
987
|
+
}
|
988
|
+
|
989
|
+
public HandlerInstantiator getHandlerInstantiator() {
|
990
|
+
return _handlerInstantiator;
|
991
|
+
}
|
992
|
+
}
|
993
|
+
|
994
|
+
/*
|
995
|
+
/**********************************************************
|
996
|
+
/* Basic extension; added to avoid having to change generic
|
997
|
+
/* signature of MapperConfig
|
998
|
+
/*
|
999
|
+
/* NOTE: May be merge in MapperConfig for 2.0, depending
|
1000
|
+
/* on how much we value backwards compatibility
|
1001
|
+
/**********************************************************
|
1002
|
+
*/
|
1003
|
+
|
1004
|
+
static abstract class Impl<CFG extends MapperConfig.ConfigFeature,
|
1005
|
+
T extends Impl<CFG,T>>
|
1006
|
+
extends MapperConfig<T>
|
1007
|
+
{
|
1008
|
+
/**
|
1009
|
+
*<p>
|
1010
|
+
* Note: moved to base class in 1.9; was stored by sub-class earlier
|
1011
|
+
*/
|
1012
|
+
protected int _featureFlags;
|
1013
|
+
|
1014
|
+
/*
|
1015
|
+
/**********************************************************
|
1016
|
+
/* Construction
|
1017
|
+
/**********************************************************
|
1018
|
+
*/
|
1019
|
+
|
1020
|
+
protected Impl(ClassIntrospector<? extends BeanDescription> ci, AnnotationIntrospector ai,
|
1021
|
+
VisibilityChecker<?> vc, SubtypeResolver str, PropertyNamingStrategy pns, TypeFactory tf,
|
1022
|
+
HandlerInstantiator hi,
|
1023
|
+
int defaultFeatures)
|
1024
|
+
{
|
1025
|
+
super(ci, ai, vc, str, pns, tf, hi);
|
1026
|
+
_featureFlags = defaultFeatures;
|
1027
|
+
}
|
1028
|
+
|
1029
|
+
protected Impl(Impl<CFG,T> src) {
|
1030
|
+
super(src);
|
1031
|
+
_featureFlags = src._featureFlags;
|
1032
|
+
}
|
1033
|
+
|
1034
|
+
protected Impl(Impl<CFG,T> src, int features) {
|
1035
|
+
super(src);
|
1036
|
+
_featureFlags = features;
|
1037
|
+
}
|
1038
|
+
|
1039
|
+
/**
|
1040
|
+
* @since 1.8
|
1041
|
+
*/
|
1042
|
+
protected Impl(Impl<CFG,T> src, MapperConfig.Base base, SubtypeResolver str)
|
1043
|
+
{
|
1044
|
+
super(src, base, str);
|
1045
|
+
_featureFlags = src._featureFlags;
|
1046
|
+
}
|
1047
|
+
|
1048
|
+
/**
|
1049
|
+
* Method that calculates bit set (flags) of all features that
|
1050
|
+
* are enabled by default.
|
1051
|
+
*/
|
1052
|
+
static <F extends Enum<F> & MapperConfig.ConfigFeature> int collectFeatureDefaults(Class<F> enumClass)
|
1053
|
+
{
|
1054
|
+
int flags = 0;
|
1055
|
+
for (F value : enumClass.getEnumConstants()) {
|
1056
|
+
if (value.enabledByDefault()) {
|
1057
|
+
flags |= value.getMask();
|
1058
|
+
}
|
1059
|
+
}
|
1060
|
+
return flags;
|
1061
|
+
}
|
1062
|
+
|
1063
|
+
/*
|
1064
|
+
/**********************************************************
|
1065
|
+
/* Additional fluent-factory methods
|
1066
|
+
/**********************************************************
|
1067
|
+
*/
|
1068
|
+
|
1069
|
+
/**
|
1070
|
+
* Fluent factory method that will construct and return a new configuration
|
1071
|
+
* object instance with specified features enabled.
|
1072
|
+
*
|
1073
|
+
* @since 1.9
|
1074
|
+
*/
|
1075
|
+
public abstract T with(CFG... features);
|
1076
|
+
|
1077
|
+
/**
|
1078
|
+
* Fluent factory method that will construct and return a new configuration
|
1079
|
+
* object instance with specified features disabled.
|
1080
|
+
*
|
1081
|
+
* @since 1.9
|
1082
|
+
*/
|
1083
|
+
public abstract T without(CFG... features);
|
1084
|
+
|
1085
|
+
/*
|
1086
|
+
/**********************************************************
|
1087
|
+
/* Configuration: simple features
|
1088
|
+
/**********************************************************
|
1089
|
+
*/
|
1090
|
+
|
1091
|
+
/* NOTE: this method was added in 1.9, but should be
|
1092
|
+
* removed from 2.0 -- overloads do not work nicely with
|
1093
|
+
* enums, so we better not try
|
1094
|
+
*<p>
|
1095
|
+
* Also note that we can NOT use type variable CFG here, because
|
1096
|
+
* non-generic base class had to use base type.
|
1097
|
+
*
|
1098
|
+
* @Deprecated
|
1099
|
+
*/
|
1100
|
+
@Override
|
1101
|
+
public boolean isEnabled(MapperConfig.ConfigFeature f) {
|
1102
|
+
return (_featureFlags & f.getMask()) != 0;
|
1103
|
+
}
|
1104
|
+
|
1105
|
+
/*
|
1106
|
+
/**********************************************************
|
1107
|
+
/* Configuration: deprecated methods
|
1108
|
+
/**********************************************************
|
1109
|
+
*/
|
1110
|
+
|
1111
|
+
/**
|
1112
|
+
* Method for enabling specified feature.
|
1113
|
+
*
|
1114
|
+
* @deprecated Since 1.9, it is preferable to use {@link #with} instead;
|
1115
|
+
* this method is deprecated as it modifies current instance instead of
|
1116
|
+
* creating a new one (as the goal is to make this class immutable)
|
1117
|
+
*/
|
1118
|
+
@Deprecated
|
1119
|
+
public void enable(CFG f) {
|
1120
|
+
_featureFlags |= f.getMask();
|
1121
|
+
}
|
1122
|
+
|
1123
|
+
/**
|
1124
|
+
* Method for disabling specified feature.
|
1125
|
+
*
|
1126
|
+
* @deprecated Since 1.9, it is preferable to use {@link #without} instead;
|
1127
|
+
* this method is deprecated as it modifies current instance instead of
|
1128
|
+
* creating a new one (as the goal is to make this class immutable)
|
1129
|
+
*/
|
1130
|
+
@Deprecated
|
1131
|
+
public void disable(CFG f) {
|
1132
|
+
_featureFlags &= ~f.getMask();
|
1133
|
+
}
|
1134
|
+
|
1135
|
+
/**
|
1136
|
+
* Method for enabling or disabling specified feature.
|
1137
|
+
*
|
1138
|
+
* @deprecated Since 1.9, it is preferable to use {@link #with} and
|
1139
|
+
* {@link #without} methods instead;
|
1140
|
+
* this method is deprecated as it modifies current instance instead of
|
1141
|
+
* creating a new one (as the goal is to make this class immutable)
|
1142
|
+
*/
|
1143
|
+
@SuppressWarnings("deprecation")
|
1144
|
+
@Deprecated
|
1145
|
+
public void set(CFG f, boolean state)
|
1146
|
+
{
|
1147
|
+
if (state) {
|
1148
|
+
enable(f);
|
1149
|
+
} else {
|
1150
|
+
disable(f);
|
1151
|
+
}
|
1152
|
+
}
|
1153
|
+
}
|
1154
|
+
}
|