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.
Files changed (423) hide show
  1. checksums.yaml +4 -4
  2. data/lib/calabash-android/helpers.rb +7 -15
  3. data/lib/calabash-android/lib/TestServer.apk +0 -0
  4. data/lib/calabash-android/version.rb +1 -1
  5. data/test-server/build.xml +2 -2
  6. data/test-server/instrumentation-backend/.classpath +0 -3
  7. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/HttpServer.java +1 -2
  8. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForProgress.java +1 -1
  9. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/QueryHelper.java +1 -2
  10. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/json/JSONUtils.java +1 -1
  11. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/QueryResult.java +1 -1
  12. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryUtils.java +203 -222
  13. data/test-server/instrumentation-backend/src/sh/calaba/org/apache/http/entity/mime/version.properties +22 -0
  14. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Base64Variant.java +413 -0
  15. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Base64Variants.java +90 -0
  16. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/FormatSchema.java +29 -0
  17. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonEncoding.java +47 -0
  18. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonFactory.java +937 -0
  19. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonGenerationException.java +28 -0
  20. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonGenerator.java +1197 -0
  21. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonLocation.java +141 -0
  22. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonNode.java +879 -0
  23. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonParseException.java +23 -0
  24. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonParser.java +1434 -0
  25. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonProcessingException.java +80 -0
  26. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonStreamContext.java +122 -0
  27. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonToken.java +161 -0
  28. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/ObjectCodec.java +157 -0
  29. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/PrettyPrinter.java +166 -0
  30. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/SerializableString.java +54 -0
  31. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Version.java +90 -0
  32. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Versioned.java +20 -0
  33. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JacksonAnnotation.java +20 -0
  34. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonAnyGetter.java +25 -0
  35. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonAnySetter.java +24 -0
  36. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonAutoDetect.java +148 -0
  37. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonBackReference.java +41 -0
  38. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonCreator.java +19 -0
  39. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonGetter.java +35 -0
  40. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonIgnore.java +57 -0
  41. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonIgnoreProperties.java +48 -0
  42. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonIgnoreType.java +33 -0
  43. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonManagedReference.java +41 -0
  44. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonMethod.java +90 -0
  45. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonProperty.java +38 -0
  46. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonPropertyOrder.java +46 -0
  47. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonRawValue.java +33 -0
  48. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonSetter.java +33 -0
  49. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonSubTypes.java +44 -0
  50. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonTypeInfo.java +236 -0
  51. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonTypeName.java +28 -0
  52. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonUnwrapped.java +76 -0
  53. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonValue.java +46 -0
  54. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonWriteNullProperties.java +34 -0
  55. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/package-info.java +16 -0
  56. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/DataFormatDetector.java +176 -0
  57. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/DataFormatMatcher.java +117 -0
  58. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/InputAccessor.java +130 -0
  59. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/MatchStrength.java +64 -0
  60. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/package-info.java +8 -0
  61. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/ByteSourceBootstrapper.java +518 -0
  62. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/DefaultPrettyPrinter.java +13 -0
  63. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/Indenter.java +23 -0
  64. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonGeneratorBase.java +570 -0
  65. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonNumericParserBase.java +20 -0
  66. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonParserBase.java +1067 -0
  67. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonParserMinimalBase.java +539 -0
  68. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonReadContext.java +188 -0
  69. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonWriteContext.java +178 -0
  70. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/ReaderBasedParser.java +1815 -0
  71. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/ReaderBasedParserBase.java +228 -0
  72. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/StreamBasedParserBase.java +197 -0
  73. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/Utf8Generator.java +1757 -0
  74. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/Utf8StreamParser.java +2966 -0
  75. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/WriterBasedGenerator.java +1815 -0
  76. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/package-info.java +6 -0
  77. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/BaseReader.java +117 -0
  78. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/CharacterEscapes.java +73 -0
  79. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/IOContext.java +239 -0
  80. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/InputDecorator.java +67 -0
  81. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/JsonStringEncoder.java +408 -0
  82. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/MergedStream.java +145 -0
  83. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/NumberInput.java +303 -0
  84. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/NumberOutput.java +398 -0
  85. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/OutputDecorator.java +40 -0
  86. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/SegmentedStringWriter.java +104 -0
  87. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/SerializedString.java +114 -0
  88. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/UTF32Reader.java +214 -0
  89. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/UTF8Writer.java +387 -0
  90. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/package.html +4 -0
  91. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/AbstractTypeResolver.java +63 -0
  92. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/AnnotationIntrospector.java +1485 -0
  93. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/BeanDescription.java +171 -0
  94. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/BeanProperty.java +123 -0
  95. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/BeanPropertyDefinition.java +66 -0
  96. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ClassIntrospector.java +117 -0
  97. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ContextualDeserializer.java +38 -0
  98. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ContextualKeyDeserializer.java +33 -0
  99. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ContextualSerializer.java +38 -0
  100. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializationConfig.java +926 -0
  101. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializationContext.java +262 -0
  102. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializationProblemHandler.java +56 -0
  103. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializerFactory.java +356 -0
  104. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializerProvider.java +185 -0
  105. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/Deserializers.java +339 -0
  106. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/HandlerInstantiator.java +115 -0
  107. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/InjectableValues.java +85 -0
  108. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonDeserializer.java +166 -0
  109. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonMappingException.java +335 -0
  110. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonSerializable.java +34 -0
  111. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonSerializableWithType.java +22 -0
  112. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonSerializer.java +138 -0
  113. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/KeyDeserializer.java +31 -0
  114. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/KeyDeserializers.java +21 -0
  115. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/MapperConfig.java +1154 -0
  116. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/MappingIterator.java +190 -0
  117. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/MappingJsonFactory.java +81 -0
  118. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/Module.java +255 -0
  119. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ObjectMapper.java +2885 -0
  120. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ObjectReader.java +958 -0
  121. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ObjectWriter.java +554 -0
  122. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/PropertyNamingStrategy.java +258 -0
  123. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ResolvableDeserializer.java +23 -0
  124. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ResolvableSerializer.java +23 -0
  125. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/RuntimeJsonMappingException.java +21 -0
  126. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/SerializationConfig.java +1041 -0
  127. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/SerializerFactory.java +198 -0
  128. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/SerializerProvider.java +552 -0
  129. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/Serializers.java +137 -0
  130. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/TypeDeserializer.java +118 -0
  131. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/TypeSerializer.java +164 -0
  132. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JacksonInject.java +30 -0
  133. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JacksonStdImpl.java +25 -0
  134. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonCachable.java +32 -0
  135. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonDeserialize.java +109 -0
  136. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonFilter.java +31 -0
  137. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonRootName.java +29 -0
  138. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonSerialize.java +216 -0
  139. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonTypeIdResolver.java +35 -0
  140. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonTypeResolver.java +28 -0
  141. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonValueInstantiator.java +26 -0
  142. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonView.java +37 -0
  143. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/NoClass.java +19 -0
  144. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/package-info.java +5 -0
  145. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/AbstractDeserializer.java +102 -0
  146. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ArrayDeserializer.java +28 -0
  147. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ArrayDeserializers.java +11 -0
  148. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BasicDeserializerFactory.java +894 -0
  149. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializer.java +1537 -0
  150. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializerBuilder.java +277 -0
  151. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializerFactory.java +1474 -0
  152. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializerModifier.java +58 -0
  153. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/CollectionDeserializer.java +47 -0
  154. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ContainerDeserializer.java +14 -0
  155. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/CustomDeserializerFactory.java +227 -0
  156. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/DateDeserializer.java +9 -0
  157. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/EnumDeserializer.java +15 -0
  158. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/EnumResolver.java +17 -0
  159. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/FromStringDeserializer.java +13 -0
  160. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/JsonNodeDeserializer.java +54 -0
  161. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/MapDeserializer.java +44 -0
  162. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/SettableAnyProperty.java +177 -0
  163. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/SettableBeanProperty.java +827 -0
  164. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializationContext.java +326 -0
  165. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializer.java +94 -0
  166. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializerProvider.java +494 -0
  167. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializers.java +119 -0
  168. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdKeyDeserializer.java +12 -0
  169. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdKeyDeserializers.java +11 -0
  170. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdScalarDeserializer.java +13 -0
  171. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ThrowableDeserializer.java +13 -0
  172. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/UntypedObjectDeserializer.java +9 -0
  173. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ValueInstantiator.java +280 -0
  174. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ValueInstantiators.java +52 -0
  175. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/BeanPropertyMap.java +257 -0
  176. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/CreatorCollector.java +141 -0
  177. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/CreatorProperty.java +152 -0
  178. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/ExternalTypeHandler.java +173 -0
  179. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/PropertyBasedCreator.java +117 -0
  180. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/PropertyValue.java +117 -0
  181. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/PropertyValueBuffer.java +102 -0
  182. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/UnwrappedPropertyHandler.java +41 -0
  183. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/ValueInjector.java +45 -0
  184. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/package-info.java +9 -0
  185. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/package-info.java +5 -0
  186. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/AtomicBooleanDeserializer.java +22 -0
  187. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/AtomicReferenceDeserializer.java +47 -0
  188. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/CalendarDeserializer.java +47 -0
  189. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ClassDeserializer.java +49 -0
  190. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/CollectionDeserializer.java +265 -0
  191. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ContainerDeserializerBase.java +37 -0
  192. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/DateDeserializer.java +30 -0
  193. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/EnumDeserializer.java +139 -0
  194. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/EnumMapDeserializer.java +90 -0
  195. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/EnumSetDeserializer.java +89 -0
  196. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/FromStringDeserializer.java +265 -0
  197. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/JavaTypeDeserializer.java +38 -0
  198. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/JsonNodeDeserializer.java +314 -0
  199. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/MapDeserializer.java +412 -0
  200. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ObjectArrayDeserializer.java +201 -0
  201. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/PrimitiveArrayDeserializers.java +583 -0
  202. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdDeserializer.java +1136 -0
  203. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdKeyDeserializer.java +340 -0
  204. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdKeyDeserializers.java +108 -0
  205. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdScalarDeserializer.java +34 -0
  206. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdValueInstantiator.java +392 -0
  207. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StringCollectionDeserializer.java +227 -0
  208. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StringDeserializer.java +55 -0
  209. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ThrowableDeserializer.java +164 -0
  210. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/TimestampDeserializer.java +30 -0
  211. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/TokenBufferDeserializer.java +36 -0
  212. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/UntypedObjectDeserializer.java +248 -0
  213. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/package-info.java +15 -0
  214. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/exc/UnrecognizedPropertyException.java +75 -0
  215. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/DOMDeserializer.java +65 -0
  216. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/OptionalHandlerFactory.java +217 -0
  217. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/package-info.java +23 -0
  218. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/Annotated.java +85 -0
  219. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedClass.java +980 -0
  220. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedConstructor.java +143 -0
  221. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedField.java +119 -0
  222. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedMember.java +56 -0
  223. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedMethod.java +188 -0
  224. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedMethodMap.java +85 -0
  225. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedParameter.java +191 -0
  226. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedWithParams.java +195 -0
  227. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotationMap.java +101 -0
  228. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/BasicBeanDescription.java +615 -0
  229. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/BasicClassIntrospector.java +364 -0
  230. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/JacksonAnnotationIntrospector.java +813 -0
  231. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/MemberKey.java +83 -0
  232. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/MethodFilter.java +12 -0
  233. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/NopAnnotationIntrospector.java +209 -0
  234. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/POJOPropertiesCollector.java +713 -0
  235. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/POJOPropertyBuilder.java +648 -0
  236. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/VisibilityChecker.java +424 -0
  237. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/package-info.java +12 -0
  238. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/NamedType.java +53 -0
  239. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/SubtypeResolver.java +39 -0
  240. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/TypeIdResolver.java +74 -0
  241. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/TypeResolverBuilder.java +151 -0
  242. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsArrayTypeDeserializer.java +126 -0
  243. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsArrayTypeSerializer.java +110 -0
  244. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsExternalTypeDeserializer.java +37 -0
  245. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsExternalTypeSerializer.java +129 -0
  246. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsPropertyTypeDeserializer.java +191 -0
  247. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsPropertyTypeSerializer.java +69 -0
  248. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsWrapperTypeDeserializer.java +103 -0
  249. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsWrapperTypeSerializer.java +121 -0
  250. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/ClassNameIdResolver.java +138 -0
  251. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/MinimalClassNameIdResolver.java +66 -0
  252. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/StdSubtypeResolver.java +151 -0
  253. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/StdTypeResolverBuilder.java +202 -0
  254. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeDeserializerBase.java +154 -0
  255. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeIdResolverBase.java +37 -0
  256. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeNameIdResolver.java +154 -0
  257. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeSerializerBase.java +31 -0
  258. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/package-info.java +9 -0
  259. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/package-info.java +10 -0
  260. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleAbstractTypeResolver.java +86 -0
  261. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleDeserializers.java +130 -0
  262. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleKeyDeserializers.java +59 -0
  263. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleModule.java +265 -0
  264. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleSerializers.java +206 -0
  265. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleValueInstantiators.java +45 -0
  266. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/package-info.java +16 -0
  267. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/package-info.java +34 -0
  268. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/AnyGetterWriter.java +48 -0
  269. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ArraySerializers.java +7 -0
  270. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BasicSerializerFactory.java +806 -0
  271. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanPropertyFilter.java +30 -0
  272. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanPropertyWriter.java +512 -0
  273. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializer.java +126 -0
  274. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializerBuilder.java +140 -0
  275. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializerFactory.java +780 -0
  276. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializerModifier.java +95 -0
  277. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ContainerSerializers.java +8 -0
  278. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/CustomSerializerFactory.java +293 -0
  279. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/EnumSerializer.java +17 -0
  280. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/FilterProvider.java +23 -0
  281. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/FilteredBeanPropertyWriter.java +96 -0
  282. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/JdkSerializers.java +11 -0
  283. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/MapSerializer.java +58 -0
  284. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/PropertyBuilder.java +372 -0
  285. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ScalarSerializerBase.java +18 -0
  286. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/SerializerBase.java +23 -0
  287. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/StdKeySerializer.java +10 -0
  288. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/StdSerializerProvider.java +852 -0
  289. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/StdSerializers.java +372 -0
  290. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ToStringSerializer.java +14 -0
  291. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/FailingSerializer.java +43 -0
  292. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/JsonSerializerMap.java +93 -0
  293. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/PropertySerializerMap.java +231 -0
  294. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/ReadOnlyClassToSerializerMap.java +73 -0
  295. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/SerializerCache.java +304 -0
  296. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/SimpleBeanPropertyFilter.java +109 -0
  297. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/SimpleFilterProvider.java +114 -0
  298. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/UnknownSerializer.java +54 -0
  299. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/UnwrappingBeanPropertyWriter.java +99 -0
  300. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/UnwrappingBeanSerializer.java +76 -0
  301. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/package-info.java +5 -0
  302. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/package-info.java +5 -0
  303. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/AsArraySerializerBase.java +185 -0
  304. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/BeanSerializerBase.java +340 -0
  305. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/CalendarSerializer.java +43 -0
  306. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/CollectionSerializer.java +113 -0
  307. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ContainerSerializerBase.java +51 -0
  308. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/DateSerializer.java +42 -0
  309. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/EnumMapSerializer.java +218 -0
  310. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/EnumSerializer.java +84 -0
  311. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/EnumSetSerializer.java +47 -0
  312. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/IndexedStringListSerializer.java +116 -0
  313. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/InetAddressSerializer.java +51 -0
  314. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/IterableSerializer.java +63 -0
  315. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/JsonValueSerializer.java +233 -0
  316. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/MapSerializer.java +422 -0
  317. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/NonTypedScalarSerializerBase.java +34 -0
  318. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/NullSerializer.java +38 -0
  319. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ObjectArraySerializer.java +281 -0
  320. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/RawSerializer.java +52 -0
  321. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ScalarSerializerBase.java +52 -0
  322. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/SerializableSerializer.java +99 -0
  323. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/SerializableWithTypeSerializer.java +90 -0
  324. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/SerializerBase.java +184 -0
  325. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StaticListSerializerBase.java +46 -0
  326. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdArraySerializers.java +476 -0
  327. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdContainerSerializers.java +249 -0
  328. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdJdkSerializers.java +195 -0
  329. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdKeySerializer.java +43 -0
  330. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdKeySerializers.java +95 -0
  331. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StringCollectionSerializer.java +119 -0
  332. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StringSerializer.java +36 -0
  333. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/TimeZoneSerializer.java +38 -0
  334. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ToStringSerializer.java +73 -0
  335. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/TokenBufferSerializer.java +66 -0
  336. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/ArrayType.java +260 -0
  337. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/ClassKey.java +94 -0
  338. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/CollectionLikeType.java +204 -0
  339. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/CollectionType.java +94 -0
  340. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/HierarchicType.java +88 -0
  341. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/MapLikeType.java +265 -0
  342. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/MapType.java +146 -0
  343. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/SimpleType.java +250 -0
  344. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeBase.java +148 -0
  345. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeBindings.java +351 -0
  346. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeFactory.java +1165 -0
  347. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeModifier.java +38 -0
  348. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeParser.java +134 -0
  349. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/package-info.java +10 -0
  350. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Annotations.java +23 -0
  351. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ArrayBuilders.java +293 -0
  352. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/BeanUtil.java +260 -0
  353. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ClassUtil.java +645 -0
  354. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Comparators.java +48 -0
  355. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/EnumResolver.java +108 -0
  356. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/EnumValues.java +82 -0
  357. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ISO8601DateFormat.java +52 -0
  358. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ISO8601Utils.java +230 -0
  359. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/JSONPObject.java +105 -0
  360. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/JSONWrappedObject.java +117 -0
  361. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/LRUMap.java +28 -0
  362. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/LinkedNode.java +45 -0
  363. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Named.java +10 -0
  364. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ObjectBuffer.java +257 -0
  365. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/PrimitiveArrayBuilder.java +180 -0
  366. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Provider.java +21 -0
  367. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/RootNameLookup.java +54 -0
  368. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/StdDateFormat.java +348 -0
  369. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/package-info.java +4 -0
  370. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ArrayNode.java +758 -0
  371. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BaseJsonNode.java +122 -0
  372. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BigIntegerNode.java +104 -0
  373. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BinaryNode.java +136 -0
  374. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BooleanNode.java +84 -0
  375. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ContainerNode.java +185 -0
  376. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/DecimalNode.java +96 -0
  377. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/DoubleNode.java +106 -0
  378. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/IntNode.java +122 -0
  379. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/JsonNodeFactory.java +222 -0
  380. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/LongNode.java +99 -0
  381. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/MissingNode.java +97 -0
  382. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/NodeCursor.java +222 -0
  383. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/NullNode.java +58 -0
  384. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/NumericNode.java +72 -0
  385. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ObjectNode.java +696 -0
  386. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/POJONode.java +145 -0
  387. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/TextNode.java +299 -0
  388. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/TreeTraversingParser.java +383 -0
  389. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ValueNode.java +58 -0
  390. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/package-info.java +8 -0
  391. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/package-info.java +30 -0
  392. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/JsonSchema.java +82 -0
  393. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/JsonSerializableSchema.java +46 -0
  394. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/SchemaAware.java +25 -0
  395. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/package-info.java +5 -0
  396. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/BytesToNameCanonicalizer.java +969 -0
  397. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/CharsToNameCanonicalizer.java +578 -0
  398. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name.java +50 -0
  399. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name1.java +44 -0
  400. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name2.java +40 -0
  401. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name3.java +39 -0
  402. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/NameN.java +68 -0
  403. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/package-info.java +5 -0
  404. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/type/JavaType.java +503 -0
  405. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/type/TypeReference.java +60 -0
  406. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/type/package-info.java +8 -0
  407. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/BufferRecycler.java +109 -0
  408. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/ByteArrayBuilder.java +294 -0
  409. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/CharTypes.java +237 -0
  410. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/DefaultPrettyPrinter.java +282 -0
  411. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/InternCache.java +49 -0
  412. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/JsonGeneratorDelegate.java +273 -0
  413. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/JsonParserDelegate.java +251 -0
  414. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/JsonParserSequence.java +150 -0
  415. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/MinimalPrettyPrinter.java +152 -0
  416. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/TextBuffer.java +707 -0
  417. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/TokenBuffer.java +1233 -0
  418. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/VersionUtil.java +79 -0
  419. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/package-info.java +4 -0
  420. metadata +409 -5
  421. data/test-server/instrumentation-backend/libs/jackson-annotations-2.2.0-rc2-20130418.042013-1.jar +0 -0
  422. data/test-server/instrumentation-backend/libs/jackson-core-2.2.0-rc2-20130420.041001-2.jar +0 -0
  423. data/test-server/instrumentation-backend/libs/jackson-databind-2.2.0-rc2-20130422.041053-3.jar +0 -0
@@ -0,0 +1,258 @@
1
+ package sh.calaba.org.codehaus.jackson.map;
2
+
3
+ import sh.calaba.org.codehaus.jackson.map.introspect.AnnotatedField;
4
+ import sh.calaba.org.codehaus.jackson.map.introspect.AnnotatedMethod;
5
+ import sh.calaba.org.codehaus.jackson.map.introspect.AnnotatedParameter;
6
+
7
+ /**
8
+ * Class that defines how names of JSON properties ("external names")
9
+ * are derived from names of POJO methods and fields ("internal names"),
10
+ * in cases where they are not
11
+ * auto-detected and no explicit annotations exist for naming.
12
+ * Methods are passed information about POJO member for which name is needed,
13
+ * as well as default name that would be used if no custom strategy was used.
14
+ *<p>
15
+ * Default implementation returns suggested ("default") name unmodified.
16
+ *<p>
17
+ * Note that the strategy is guaranteed to be called once per logical property
18
+ * (which may be represented by multiple members; such as pair of a getter and
19
+ * a setter), but may be called for each: implementations should not count on
20
+ * exact number of times, and should work for any member that represent a
21
+ * property.
22
+ *<p>
23
+ * In absence of a registered custom strategy, default Java property naming strategy
24
+ * is used, which leaves field names as is, and removes set/get/is prefix
25
+ * from methods (as well as lower-cases initial sequence of capitalized
26
+ * characters).
27
+ *
28
+ * @since 1.8
29
+ */
30
+ public abstract class PropertyNamingStrategy
31
+ {
32
+ /*
33
+ /**********************************************************
34
+ /* API
35
+ /**********************************************************
36
+ */
37
+
38
+ /**
39
+ * Method called to find external name (name used in JSON) for given logical
40
+ * POJO property,
41
+ * as defined by given field.
42
+ *
43
+ * @param config Configuration in used: either <code>SerializationConfig</code>
44
+ * or <code>DeserializationConfig</code>, depending on whether method is called
45
+ * during serialization or deserialization
46
+ * @param field Field used to access property
47
+ * @param defaultName Default name that would be used for property in absence of custom strategy
48
+ *
49
+ * @return Logical name to use for property that the field represents
50
+ */
51
+ public String nameForField(MapperConfig<?> config, AnnotatedField field,
52
+ String defaultName)
53
+ {
54
+ return defaultName;
55
+ }
56
+
57
+ /**
58
+ * Method called to find external name (name used in JSON) for given logical
59
+ * POJO property,
60
+ * as defined by given getter method; typically called when building a serializer.
61
+ * (but not always -- when using "getter-as-setter", may be called during
62
+ * deserialization)
63
+ *
64
+ * @param config Configuration in used: either <code>SerializationConfig</code>
65
+ * or <code>DeserializationConfig</code>, depending on whether method is called
66
+ * during serialization or deserialization
67
+ * @param method Method used to access property.
68
+ * @param defaultName Default name that would be used for property in absence of custom strategy
69
+ *
70
+ * @return Logical name to use for property that the method represents
71
+ */
72
+ public String nameForGetterMethod(MapperConfig<?> config, AnnotatedMethod method,
73
+ String defaultName)
74
+ {
75
+ return defaultName;
76
+ }
77
+
78
+ /**
79
+ * Method called to find external name (name used in JSON) for given logical
80
+ * POJO property,
81
+ * as defined by given setter method; typically called when building a deserializer
82
+ * (but not necessarily only then).
83
+ *
84
+ * @param config Configuration in used: either <code>SerializationConfig</code>
85
+ * or <code>DeserializationConfig</code>, depending on whether method is called
86
+ * during serialization or deserialization
87
+ * @param method Method used to access property.
88
+ * @param defaultName Default name that would be used for property in absence of custom strategy
89
+ *
90
+ * @return Logical name to use for property that the method represents
91
+ */
92
+ public String nameForSetterMethod(MapperConfig<?> config, AnnotatedMethod method,
93
+ String defaultName)
94
+ {
95
+ return defaultName;
96
+ }
97
+
98
+ /**
99
+ * Method called to find external name (name used in JSON) for given logical
100
+ * POJO property,
101
+ * as defined by given constructor parameter; typically called when building a deserializer
102
+ * (but not necessarily only then).
103
+ *
104
+ * @param config Configuration in used: either <code>SerializationConfig</code>
105
+ * or <code>DeserializationConfig</code>, depending on whether method is called
106
+ * during serialization or deserialization
107
+ * @param ctorParam Constructor parameter used to pass property.
108
+ * @param defaultName Default name that would be used for property in absence of custom strategy
109
+ * @since 1.9
110
+ */
111
+ public String nameForConstructorParameter(MapperConfig<?> config, AnnotatedParameter ctorParam,
112
+ String defaultName)
113
+ {
114
+ return defaultName;
115
+ }
116
+
117
+ /*
118
+ /**********************************************************
119
+ /* Standard implementations
120
+ /**********************************************************
121
+ */
122
+
123
+ /**
124
+ * @since 1.9
125
+ */
126
+ public static abstract class PropertyNamingStrategyBase extends PropertyNamingStrategy
127
+ {
128
+ @Override
129
+ public String nameForField(MapperConfig<?> config, AnnotatedField field, String defaultName)
130
+ {
131
+ return translate(defaultName);
132
+ }
133
+
134
+ @Override
135
+ public String nameForGetterMethod(MapperConfig<?> config, AnnotatedMethod method, String defaultName)
136
+ {
137
+ return translate(defaultName);
138
+ }
139
+
140
+ @Override
141
+ public String nameForSetterMethod(MapperConfig<?> config, AnnotatedMethod method, String defaultName)
142
+ {
143
+ return translate(defaultName);
144
+ }
145
+
146
+ @Override
147
+ public String nameForConstructorParameter(MapperConfig<?> config, AnnotatedParameter ctorParam,
148
+ String defaultName)
149
+ {
150
+ return translate(defaultName);
151
+ }
152
+
153
+ public abstract String translate(String propertyName);
154
+ }
155
+
156
+
157
+ /*
158
+ /**********************************************************
159
+ /* Standard implementations
160
+ /**********************************************************
161
+ */
162
+
163
+ /**
164
+ * See {@link LowerCaseWithUnderscoresStrategy} for details.
165
+ *
166
+ * @since 1.9
167
+ */
168
+ public static final PropertyNamingStrategy CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES =
169
+ new LowerCaseWithUnderscoresStrategy();
170
+
171
+ /**
172
+ * A {@link PropertyNamingStrategy} that translates typical camel case Java
173
+ * property names to lower case JSON element names, separated by
174
+ * underscores. This implementation is somewhat lenient, in that it
175
+ * provides some additional translations beyond strictly translating from
176
+ * camel case only. In particular, the following translations are applied
177
+ * by this PropertyNamingStrategy.
178
+ *
179
+ * <ul><li>Every upper case letter in the Java property name is translated
180
+ * into two characters, an underscore and the lower case equivalent of the
181
+ * target character, with three exceptions.
182
+ * <ol><li>For contiguous sequences of upper case letters, characters after
183
+ * the first character are replaced only by their lower case equivalent,
184
+ * and are not preceded by an underscore.
185
+ * <ul><li>This provides for reasonable translations of upper case acronyms,
186
+ * e.g., &quot;theWWW&quot; is translated to &quot;the_www&quot;.</li></ul></li>
187
+ * <li>An upper case character in the first position of the Java property
188
+ * name is not preceded by an underscore character, and is translated only
189
+ * to its lower case equivalent.
190
+ * <ul><li>For example, &quot;Results&quot; is translated to &quot;results&quot;,
191
+ * and not to &quot;_results&quot;.</li></ul></li>
192
+ * <li>An upper case character in the Java property name that is already
193
+ * preceded by an underscore character is translated only to its lower case
194
+ * equivalent, and is not preceded by an additional underscore.
195
+ * <ul><li>For example, &quot;user_Name&quot; is translated to
196
+ * &quot;user_name&quot;, and not to &quot;user__name&quot; (with two
197
+ * underscore characters).</li></ul></li></ol></li>
198
+ * <li>If the Java property name starts with an underscore, then that
199
+ * underscore is not included in the translated name, unless the Java
200
+ * property name is just one character in length, i.e., it is the
201
+ * underscore character. This applies only to the first character of the
202
+ * Java property name.</li></ul>
203
+ *
204
+ * These rules result in the following additional example translations from
205
+ * Java property names to JSON element names.
206
+ * <ul><li>&quot;userName&quot; is translated to &quot;user_name&quot;</li>
207
+ * <li>&quot;UserName&quot; is translated to &quot;user_name&quot;</li>
208
+ * <li>&quot;USER_NAME&quot; is translated to &quot;user_name&quot;</li>
209
+ * <li>&quot;user_name&quot; is translated to &quot;user_name&quot; (unchanged)</li>
210
+ * <li>&quot;user&quot; is translated to &quot;user&quot; (unchanged)</li>
211
+ * <li>&quot;User&quot; is translated to &quot;user&quot;</li>
212
+ * <li>&quot;USER&quot; is translated to &quot;user&quot;</li>
213
+ * <li>&quot;_user&quot; is translated to &quot;user&quot;</li>
214
+ * <li>&quot;_User&quot; is translated to &quot;user&quot;</li>
215
+ * <li>&quot;__user&quot; is translated to &quot;_user&quot;
216
+ * (the first of two underscores was removed)</li>
217
+ * <li>&quot;user__name&quot; is translated to &quot;user__name&quot;
218
+ * (unchanged, with two underscores)</li></ul>
219
+ *
220
+ * @since 1.9
221
+ */
222
+ public static class LowerCaseWithUnderscoresStrategy extends PropertyNamingStrategyBase
223
+ {
224
+ @Override
225
+ public String translate(String input)
226
+ {
227
+ if (input == null) return input; // garbage in, garbage out
228
+ int length = input.length();
229
+ StringBuilder result = new StringBuilder(length * 2);
230
+ int resultLength = 0;
231
+ boolean wasPrevTranslated = false;
232
+ for (int i = 0; i < length; i++)
233
+ {
234
+ char c = input.charAt(i);
235
+ if (i > 0 || c != '_') // skip first starting underscore
236
+ {
237
+ if (Character.isUpperCase(c))
238
+ {
239
+ if (!wasPrevTranslated && resultLength > 0 && result.charAt(resultLength - 1) != '_')
240
+ {
241
+ result.append('_');
242
+ resultLength++;
243
+ }
244
+ c = Character.toLowerCase(c);
245
+ wasPrevTranslated = true;
246
+ }
247
+ else
248
+ {
249
+ wasPrevTranslated = false;
250
+ }
251
+ result.append(c);
252
+ resultLength++;
253
+ }
254
+ }
255
+ return resultLength > 0 ? result.toString() : input;
256
+ }
257
+ }
258
+ }
@@ -0,0 +1,23 @@
1
+ package sh.calaba.org.codehaus.jackson.map;
2
+
3
+ /**
4
+ * Interface used to indicate deserializers that want to do post-processing
5
+ * after construction and being added to {@link DeserializerProvider},
6
+ * but before being used. This is typically used to resolve references
7
+ * to other contained types; for example, bean deserializers use this
8
+ * to eagerly find deserializers for contained field types.
9
+ */
10
+ public interface ResolvableDeserializer
11
+ {
12
+ /**
13
+ * Method called after {@link DeserializerProvider} has registered
14
+ * the deserializer, but before it has returned it to the caller.
15
+ * Called object can then resolve its dependencies to other types,
16
+ * including self-references (direct or indirect).
17
+ *
18
+ * @param provider Provider that has constructed deserializer this method
19
+ * is called on.
20
+ */
21
+ public abstract void resolve(DeserializationConfig config, DeserializerProvider provider)
22
+ throws JsonMappingException;
23
+ }
@@ -0,0 +1,23 @@
1
+ package sh.calaba.org.codehaus.jackson.map;
2
+
3
+ /**
4
+ * Interface used to indicate serializers that want to do post-processing
5
+ * after construction and being added to {@link SerializerProvider},
6
+ * but before being used. This is typically used to resolve references
7
+ * to other contained types; for example, bean serializers use this
8
+ * to eagerly find serializers for contained field types.
9
+ */
10
+ public interface ResolvableSerializer
11
+ {
12
+ /**
13
+ * Method called after {@link SerializerProvider} has registered
14
+ * the serializer, but before it has returned it to the caller.
15
+ * Called object can then resolve its dependencies to other types,
16
+ * including self-references (direct or indirect).
17
+ *
18
+ * @param provider Provider that has constructed serializer this method
19
+ * is called on.
20
+ */
21
+ public abstract void resolve(SerializerProvider provider)
22
+ throws JsonMappingException;
23
+ }
@@ -0,0 +1,21 @@
1
+ package sh.calaba.org.codehaus.jackson.map;
2
+
3
+ /**
4
+ * Wrapper used when interface does not allow throwing a checked
5
+ * {@link JsonMappingException}
6
+ */
7
+ @SuppressWarnings("serial")
8
+ public class RuntimeJsonMappingException extends RuntimeException
9
+ {
10
+ public RuntimeJsonMappingException(JsonMappingException cause) {
11
+ super(cause);
12
+ }
13
+
14
+ public RuntimeJsonMappingException(String message) {
15
+ super(message);
16
+ }
17
+
18
+ public RuntimeJsonMappingException(String message, JsonMappingException cause) {
19
+ super(message, cause);
20
+ }
21
+ }
@@ -0,0 +1,1041 @@
1
+ package sh.calaba.org.codehaus.jackson.map;
2
+
3
+ import java.text.DateFormat;
4
+ import java.util.HashMap;
5
+
6
+ import sh.calaba.org.codehaus.jackson.annotate.JsonAutoDetect;
7
+ import sh.calaba.org.codehaus.jackson.annotate.JsonMethod;
8
+ import sh.calaba.org.codehaus.jackson.annotate.JsonWriteNullProperties;
9
+ import sh.calaba.org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
10
+ import sh.calaba.org.codehaus.jackson.map.annotate.JsonSerialize;
11
+ import sh.calaba.org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;
12
+ import sh.calaba.org.codehaus.jackson.map.introspect.Annotated;
13
+ import sh.calaba.org.codehaus.jackson.map.introspect.AnnotatedClass;
14
+ import sh.calaba.org.codehaus.jackson.map.introspect.VisibilityChecker;
15
+ import sh.calaba.org.codehaus.jackson.map.jsontype.SubtypeResolver;
16
+ import sh.calaba.org.codehaus.jackson.map.jsontype.TypeResolverBuilder;
17
+ import sh.calaba.org.codehaus.jackson.map.ser.FilterProvider;
18
+ import sh.calaba.org.codehaus.jackson.map.type.ClassKey;
19
+ import sh.calaba.org.codehaus.jackson.map.type.TypeFactory;
20
+ import sh.calaba.org.codehaus.jackson.map.util.ClassUtil;
21
+ import sh.calaba.org.codehaus.jackson.type.JavaType;
22
+
23
+ /**
24
+ * Object that contains baseline configuration for serialization
25
+ * process. An instance is owned by {@link ObjectMapper}, which makes
26
+ * a copy that is passed during serialization process to
27
+ * {@link SerializerProvider} and {@link SerializerFactory}.
28
+ *<p>
29
+ * Note: although configuration settings can be changed at any time
30
+ * (for factories and instances), they are not guaranteed to have
31
+ * effect if called after constructing relevant mapper or serializer
32
+ * instance. This because some objects may be configured, constructed and
33
+ * cached first time they are needed.
34
+ *<p>
35
+ * As of version 1.9, the goal is to make this class eventually immutable.
36
+ * Because of this, existing methods that allow changing state of this
37
+ * instance are deprecated in favor of methods that create new instances
38
+ * with different configuration ("fluent factories")
39
+ */
40
+ public class SerializationConfig
41
+ extends MapperConfig.Impl<SerializationConfig.Feature, SerializationConfig>
42
+ {
43
+ /**
44
+ * Enumeration that defines togglable features that guide
45
+ * the serialization feature.
46
+ */
47
+ public enum Feature implements MapperConfig.ConfigFeature
48
+ {
49
+ /*
50
+ /******************************************************
51
+ /* Introspection features
52
+ /******************************************************
53
+ */
54
+
55
+ /**
56
+ * Feature that determines whether annotation introspection
57
+ * is used for configuration; if enabled, configured
58
+ * {@link AnnotationIntrospector} will be used: if disabled,
59
+ * no annotations are considered.
60
+ *<P>
61
+ * Feature is enabled by default.
62
+ *
63
+ * @since 1.2
64
+ */
65
+ USE_ANNOTATIONS(true),
66
+
67
+ /**
68
+ * Feature that determines whether regualr "getter" methods are
69
+ * automatically detected based on standard Bean naming convention
70
+ * or not. If yes, then all public zero-argument methods that
71
+ * start with prefix "get"
72
+ * are considered as getters.
73
+ * If disabled, only methods explicitly annotated are considered getters.
74
+ *<p>
75
+ * Note that since version 1.3, this does <b>NOT</b> include
76
+ * "is getters" (see {@link #AUTO_DETECT_IS_GETTERS} for details)
77
+ *<p>
78
+ * Note that this feature has lower precedence than per-class
79
+ * annotations, and is only used if there isn't more granular
80
+ * configuration available.
81
+ *<P>
82
+ * Feature is enabled by default.
83
+ */
84
+ AUTO_DETECT_GETTERS(true),
85
+
86
+ /**
87
+ * Feature that determines whether "is getter" methods are
88
+ * automatically detected based on standard Bean naming convention
89
+ * or not. If yes, then all public zero-argument methods that
90
+ * start with prefix "is", and whose return type is boolean
91
+ * are considered as "is getters".
92
+ * If disabled, only methods explicitly annotated are considered getters.
93
+ *<p>
94
+ * Note that this feature has lower precedence than per-class
95
+ * annotations, and is only used if there isn't more granular
96
+ * configuration available.
97
+ *<P>
98
+ * Feature is enabled by default.
99
+ */
100
+ AUTO_DETECT_IS_GETTERS(true),
101
+
102
+ /**
103
+ * Feature that determines whether non-static fields are recognized as
104
+ * properties.
105
+ * If yes, then all public member fields
106
+ * are considered as properties. If disabled, only fields explicitly
107
+ * annotated are considered property fields.
108
+ *<p>
109
+ * Note that this feature has lower precedence than per-class
110
+ * annotations, and is only used if there isn't more granular
111
+ * configuration available.
112
+ *<p>
113
+ * Feature is enabled by default.
114
+ *
115
+ * @since 1.1
116
+ */
117
+ AUTO_DETECT_FIELDS(true),
118
+
119
+ /**
120
+ * Feature that determines whether method and field access
121
+ * modifier settings can be overridden when accessing
122
+ * properties. If enabled, method
123
+ * {@link java.lang.reflect.AccessibleObject#setAccessible}
124
+ * may be called to enable access to otherwise unaccessible
125
+ * objects.
126
+ *<p>
127
+ * Feature is enabled by default.
128
+ */
129
+ CAN_OVERRIDE_ACCESS_MODIFIERS(true),
130
+
131
+ /**
132
+ * Feature that determines whether getters (getter methods)
133
+ * can be auto-detected if there is no matching mutator (setter,
134
+ * constructor parameter or field) or not: if set to true,
135
+ * only getters that match a mutator are auto-discovered; if
136
+ * false, all auto-detectable getters can be discovered.
137
+ *<p>
138
+ * Feature is disabled by default for backwards compatibility
139
+ * reasons.
140
+ *
141
+ * @since 1.9
142
+ */
143
+ REQUIRE_SETTERS_FOR_GETTERS(false),
144
+
145
+ /*
146
+ /******************************************************
147
+ /* Generic output features
148
+ /******************************************************
149
+ */
150
+
151
+ /**
152
+ * Feature that determines the default settings of whether Bean
153
+ * properties with null values are to be written out.
154
+ *<p>
155
+ * Feature is enabled by default (null properties written).
156
+ *<p>
157
+ * Note too that there is annotation
158
+ * {@link sh.calaba.org.codehaus.jackson.annotate.JsonWriteNullProperties}
159
+ * that can be used for more granular control (annotates bean
160
+ * classes or individual property access methods).
161
+ *
162
+ * @deprecated As of 1.1, use {@link SerializationConfig#setSerializationInclusion}
163
+ * instead
164
+ */
165
+ @Deprecated
166
+ WRITE_NULL_PROPERTIES(true),
167
+
168
+ /**
169
+ * Feature that determines whether the type detection for
170
+ * serialization should be using actual dynamic runtime type,
171
+ * or declared static type.
172
+ * Default value is false, to use dynamic runtime type.
173
+ *<p>
174
+ * This global default value can be overridden at class, method
175
+ * or field level by using {@link JsonSerialize#typing} annotation
176
+ * property
177
+ */
178
+ USE_STATIC_TYPING(false),
179
+
180
+ /**
181
+ * Feature that determines whether properties that have no view
182
+ * annotations are included in JSON serialization views (see
183
+ * {@link sh.calaba.org.codehaus.jackson.map.annotate.JsonView} for more
184
+ * details on JSON Views).
185
+ * If enabled, non-annotated properties will be included;
186
+ * when disabled, they will be excluded. So this feature
187
+ * changes between "opt-in" (feature disabled) and
188
+ * "opt-out" (feature enabled) modes.
189
+ *<p>
190
+ * Default value is enabled, meaning that non-annotated
191
+ * properties are included in all views if there is no
192
+ * {@link sh.calaba.org.codehaus.jackson.map.annotate.JsonView} annotation.
193
+ *
194
+ * @since 1.5
195
+ */
196
+ DEFAULT_VIEW_INCLUSION(true),
197
+
198
+ /**
199
+ * Feature that can be enabled to make root value (usually JSON
200
+ * Object but can be any type) wrapped within a single property
201
+ * JSON object, where key as the "root name", as determined by
202
+ * annotation introspector (esp. for JAXB that uses
203
+ * <code>@XmlRootElement.name</code>) or fallback (non-qualified
204
+ * class name).
205
+ * Feature is mostly intended for JAXB compatibility.
206
+ *<p>
207
+ * Default setting is false, meaning root value is not wrapped.
208
+ *
209
+ * @since 1.7
210
+ */
211
+ WRAP_ROOT_VALUE(false),
212
+
213
+ /**
214
+ * Feature that allows enabling (or disabling) indentation
215
+ * for the underlying generator, using the default pretty
216
+ * printer (see
217
+ * {@link sh.calaba.org.codehaus.jackson.JsonGenerator#useDefaultPrettyPrinter}
218
+ * for details).
219
+ *<p>
220
+ * Note that this only affects cases where
221
+ * {@link sh.calaba.org.codehaus.jackson.JsonGenerator}
222
+ * is constructed implicitly by ObjectMapper: if explicit
223
+ * generator is passed, its configuration is not changed.
224
+ *<p>
225
+ * Also note that if you want to configure details of indentation,
226
+ * you need to directly configure the generator: there is a
227
+ * method to use any <code>PrettyPrinter</code> instance.
228
+ * This feature will only allow using the default implementation.
229
+ */
230
+ INDENT_OUTPUT(false),
231
+
232
+ /**
233
+ * Feature that defines default property serialization order used
234
+ * for POJO fields (note: does <b>not</b> apply to {@link java.util.Map}
235
+ * serialization!):
236
+ * if enabled, default ordering is alphabetic (similar to
237
+ * how {@link sh.calaba.org.codehaus.jackson.annotate.JsonPropertyOrder#alphabetic()}
238
+ * works); if disabled, order is unspecified (based on what JDK gives
239
+ * us, which may be declaration order, but not guaranteed).
240
+ *<p>
241
+ * Note that this is just the default behavior, and can be overridden by
242
+ * explicit overrides in classes.
243
+ *
244
+ * @since 1.8
245
+ */
246
+ SORT_PROPERTIES_ALPHABETICALLY(false),
247
+
248
+ /*
249
+ /******************************************************
250
+ /* Error handling features
251
+ /******************************************************
252
+ */
253
+
254
+ /**
255
+ * Feature that determines what happens when no accessors are
256
+ * found for a type (and there are no annotations to indicate
257
+ * it is meant to be serialized). If enabled (default), an
258
+ * exception is thrown to indicate these as non-serializable
259
+ * types; if disabled, they are serialized as empty Objects,
260
+ * i.e. without any properties.
261
+ *<p>
262
+ * Note that empty types that this feature has only effect on
263
+ * those "empty" beans that do not have any recognized annotations
264
+ * (like <code>@JsonSerialize</code>): ones that do have annotations
265
+ * do not result in an exception being thrown.
266
+ *
267
+ * @since 1.4
268
+ */
269
+ FAIL_ON_EMPTY_BEANS(true),
270
+
271
+ /**
272
+ * Feature that determines whether Jackson code should catch
273
+ * and wrap {@link Exception}s (but never {@link Error}s!)
274
+ * to add additional information about
275
+ * location (within input) of problem or not. If enabled,
276
+ * most exceptions will be caught and re-thrown (exception
277
+ * specifically being that {@link java.io.IOException}s may be passed
278
+ * as is, since they are declared as throwable); this can be
279
+ * convenient both in that all exceptions will be checked and
280
+ * declared, and so there is more contextual information.
281
+ * However, sometimes calling application may just want "raw"
282
+ * unchecked exceptions passed as is.
283
+ *<p>
284
+ * Feature is enabled by default, and is similar in behavior
285
+ * to default prior to 1.7.
286
+ *
287
+ * @since 1.7
288
+ */
289
+ WRAP_EXCEPTIONS(true),
290
+
291
+ /*
292
+ /******************************************************
293
+ /* Output life cycle features
294
+ /******************************************************
295
+ */
296
+
297
+ /**
298
+ * Feature that determines whether <code>close</code> method of
299
+ * serialized <b>root level</b> objects (ones for which <code>ObjectMapper</code>'s
300
+ * writeValue() (or equivalent) method is called)
301
+ * that implement {@link java.io.Closeable}
302
+ * is called after serialization or not. If enabled, <b>close()</b> will
303
+ * be called after serialization completes (whether succesfully, or
304
+ * due to an error manifested by an exception being thrown). You can
305
+ * think of this as sort of "finally" processing.
306
+ *<p>
307
+ * NOTE: only affects behavior with <b>root</b> objects, and not other
308
+ * objects reachable from the root object. Put another way, only one
309
+ * call will be made for each 'writeValue' call.
310
+ *
311
+ * @since 1.6 (see [JACKSON-282 for details])
312
+ */
313
+ CLOSE_CLOSEABLE(false),
314
+
315
+ /**
316
+ * Feature that determines whether <code>JsonGenerator.flush()</code> is
317
+ * called after <code>writeValue()</code> method <b>that takes JsonGenerator
318
+ * as an argument</b> completes (i.e. does NOT affect methods
319
+ * that use other destinations); same for methods in {@link ObjectWriter}.
320
+ * This usually makes sense; but there are cases where flushing
321
+ * should not be forced: for example when underlying stream is
322
+ * compressing and flush() causes compression state to be flushed
323
+ * (which occurs with some compression codecs).
324
+ *
325
+ * @since 1.6 (see [JACKSON-401 for details])
326
+ */
327
+ FLUSH_AFTER_WRITE_VALUE(true),
328
+
329
+ /*
330
+ /******************************************************
331
+ /* Data type - specific serialization configuration
332
+ /******************************************************
333
+ */
334
+
335
+ /**
336
+ * Feature that determines whether {@link java.util.Date} values
337
+ * (and Date-based things like {@link java.util.Calendar}s) are to be
338
+ * serialized as numeric timestamps (true; the default),
339
+ * or as something else (usually textual representation).
340
+ * If textual representation is used, the actual format is
341
+ * one returned by a call to {@link #getDateFormat}.
342
+ *<p>
343
+ * Note: whether this feature affects handling of other date-related
344
+ * types depend on handlers of those types, although ideally they
345
+ * should use this feature
346
+ *<p>
347
+ * Note: whether {@link java.util.Map} keys are serialized as Strings
348
+ * or not is controlled using {@link #WRITE_DATE_KEYS_AS_TIMESTAMPS}.
349
+ */
350
+ WRITE_DATES_AS_TIMESTAMPS(true),
351
+
352
+ /**
353
+ * Feature that determines whether {@link java.util.Date}s
354
+ * (and sub-types) used as {@link java.util.Map} keys are serialized
355
+ * as timestamps or not (if not, will be serialized as textual
356
+ * values).
357
+ *<p>
358
+ * Default value is 'false', meaning that Date-valued Map keys are serialized
359
+ * as textual (ISO-8601) values.
360
+ *
361
+ * @since 1.9
362
+ */
363
+ WRITE_DATE_KEYS_AS_TIMESTAMPS(false),
364
+
365
+ /**
366
+ * Feature that determines how type <code>char[]</code> is serialized:
367
+ * when enabled, will be serialized as an explict JSON array (with
368
+ * single-character Strings as values); when disabled, defaults to
369
+ * serializing them as Strings (which is more compact).
370
+ *
371
+ * @since 1.6 (see [JACKSON-289 for details])
372
+ */
373
+ WRITE_CHAR_ARRAYS_AS_JSON_ARRAYS(false),
374
+
375
+ /**
376
+ * Feature that determines standard serialization mechanism used for
377
+ * Enum values: if enabled, return value of <code>Enum.toString()</code>
378
+ * is used; if disabled, return value of <code>Enum.name()</code> is used.
379
+ * Since pre-1.6 method was to use Enum name, this is the default.
380
+ *<p>
381
+ * Note: this feature should usually have same value
382
+ * as {@link DeserializationConfig.Feature#READ_ENUMS_USING_TO_STRING}.
383
+ *<p>
384
+ * For further details, check out [JACKSON-212]
385
+ *
386
+ * @since 1.6
387
+ */
388
+ WRITE_ENUMS_USING_TO_STRING(false),
389
+
390
+ /**
391
+ * Feature that determines whethere Java Enum values are serialized
392
+ * as numbers (true), or textual values (false). If textual values are
393
+ * used, other settings are also considered.
394
+ * If this feature is enabled,
395
+ * return value of <code>Enum.ordinal()</code>
396
+ * (an integer) will be used as the serialization.
397
+ *<p>
398
+ * Note that this feature has precedence over {@link #WRITE_ENUMS_USING_TO_STRING},
399
+ * which is only considered if this feature is set to false.
400
+ *
401
+ * @since 1.9
402
+ */
403
+ WRITE_ENUMS_USING_INDEX(false),
404
+
405
+ /**
406
+ * Feature that determines whether Map entries with null values are
407
+ * to be serialized (true) or not (false).
408
+ *<p>
409
+ * For further details, check out [JACKSON-314]
410
+ *
411
+ * @since 1.6
412
+ */
413
+ WRITE_NULL_MAP_VALUES(true),
414
+
415
+ /**
416
+ * Feature that determines whether Container properties (POJO properties
417
+ * with declared value of Collection or array; i.e. things that produce JSON
418
+ * arrays) that are empty (have no elements)
419
+ * will be serialized as empty JSON arrays (true), or suppressed from output (false).
420
+ *<p>
421
+ * Note that this does not change behavior of {@link java.util.Map}s, or
422
+ * "Collection-like" types.
423
+ *
424
+ * @since 1.9
425
+ */
426
+ WRITE_EMPTY_JSON_ARRAYS(true)
427
+
428
+ ;
429
+
430
+ final boolean _defaultState;
431
+
432
+ private Feature(boolean defaultState) {
433
+ _defaultState = defaultState;
434
+ }
435
+
436
+ @Override
437
+ public boolean enabledByDefault() { return _defaultState; }
438
+
439
+ @Override
440
+ public int getMask() { return (1 << ordinal()); }
441
+ }
442
+
443
+ /*
444
+ /**********************************************************
445
+ /* Configuration settings
446
+ /**********************************************************
447
+ */
448
+
449
+ /**
450
+ * Which Bean/Map properties are to be included in serialization?
451
+ * Default settings is to include all regardless of value; can be
452
+ * changed to only include non-null properties, or properties
453
+ * with non-default values.
454
+ *<p>
455
+ * Defaults to null for backwards compatibility; if left as null,
456
+ * will check
457
+ * deprecated {@link Feature#WRITE_NULL_PROPERTIES}
458
+ * to choose between {@link Inclusion#ALWAYS}
459
+ * and {@link Inclusion#NON_NULL}.
460
+ */
461
+ protected JsonSerialize.Inclusion _serializationInclusion = null;
462
+
463
+ /**
464
+ * View to use for filtering out properties to serialize.
465
+ * Null if none (will also be assigned null if <code>Object.class</code>
466
+ * is defined), meaning that all properties are to be included.
467
+ */
468
+ protected Class<?> _serializationView;
469
+
470
+ /**
471
+ * Object used for resolving filter ids to filter instances.
472
+ * Non-null if explicitly defined; null by default.
473
+ *
474
+ * @since 1.7
475
+ */
476
+ protected FilterProvider _filterProvider;
477
+
478
+ /*
479
+ /**********************************************************
480
+ /* Life-cycle, constructors
481
+ /**********************************************************
482
+ */
483
+
484
+ /**
485
+ * Constructor used by ObjectMapper to create default configuration object instance.
486
+ */
487
+ public SerializationConfig(ClassIntrospector<? extends BeanDescription> intr,
488
+ AnnotationIntrospector annIntr, VisibilityChecker<?> vc,
489
+ SubtypeResolver subtypeResolver, PropertyNamingStrategy propertyNamingStrategy,
490
+ TypeFactory typeFactory, HandlerInstantiator handlerInstantiator)
491
+ {
492
+ super(intr, annIntr, vc, subtypeResolver, propertyNamingStrategy, typeFactory, handlerInstantiator,
493
+ collectFeatureDefaults(SerializationConfig.Feature.class));
494
+ _filterProvider = null;
495
+ }
496
+
497
+ /**
498
+ * @since 1.8
499
+ */
500
+ protected SerializationConfig(SerializationConfig src) {
501
+ this(src, src._base);
502
+ }
503
+
504
+ /**
505
+ * Constructor used to make a private copy of specific mix-in definitions.
506
+ *
507
+ * @since 1.8
508
+ */
509
+ protected SerializationConfig(SerializationConfig src,
510
+ HashMap<ClassKey,Class<?>> mixins, SubtypeResolver str)
511
+ {
512
+ this(src, src._base);
513
+ _mixInAnnotations = mixins;
514
+ _subtypeResolver = str;
515
+ }
516
+
517
+ /**
518
+ * @since 1.8
519
+ */
520
+ protected SerializationConfig(SerializationConfig src, MapperConfig.Base base)
521
+ {
522
+ super(src, base, src._subtypeResolver);
523
+ _serializationInclusion = src._serializationInclusion;
524
+ _serializationView = src._serializationView;
525
+ _filterProvider = src._filterProvider;
526
+ }
527
+
528
+ /**
529
+ * @since 1.8
530
+ */
531
+ protected SerializationConfig(SerializationConfig src, FilterProvider filters)
532
+ {
533
+ super(src);
534
+ _serializationInclusion = src._serializationInclusion;
535
+ _serializationView = src._serializationView;
536
+ _filterProvider = filters;
537
+ }
538
+
539
+ /**
540
+ * @since 1.8
541
+ */
542
+ protected SerializationConfig(SerializationConfig src, Class<?> view)
543
+ {
544
+ super(src);
545
+ _serializationInclusion = src._serializationInclusion;
546
+ _serializationView = view;
547
+ _filterProvider = src._filterProvider;
548
+ }
549
+
550
+ /**
551
+ * @since 1.9
552
+ */
553
+ protected SerializationConfig(SerializationConfig src, JsonSerialize.Inclusion incl)
554
+ {
555
+ super(src);
556
+ _serializationInclusion = incl;
557
+ // And for some level of backwards compatibility, also...
558
+ if (incl == JsonSerialize.Inclusion.NON_NULL) {
559
+ _featureFlags &= ~Feature.WRITE_NULL_PROPERTIES.getMask();
560
+ } else {
561
+ _featureFlags |= Feature.WRITE_NULL_PROPERTIES.getMask();
562
+ }
563
+ _serializationView = src._serializationView;
564
+ _filterProvider = src._filterProvider;
565
+ }
566
+
567
+ /**
568
+ * @since 1.9
569
+ */
570
+ protected SerializationConfig(SerializationConfig src, int features)
571
+ {
572
+ super(src, features);
573
+ _serializationInclusion = src._serializationInclusion;
574
+ _serializationView = src._serializationView;
575
+ _filterProvider = src._filterProvider;
576
+ }
577
+
578
+ /*
579
+ /**********************************************************
580
+ /* Life-cycle, factory methods from MapperConfig
581
+ /**********************************************************
582
+ */
583
+
584
+ @Override
585
+ public SerializationConfig withClassIntrospector(ClassIntrospector<? extends BeanDescription> ci) {
586
+ return new SerializationConfig(this, _base.withClassIntrospector(ci));
587
+ }
588
+
589
+ @Override
590
+ public SerializationConfig withAnnotationIntrospector(AnnotationIntrospector ai) {
591
+ return new SerializationConfig(this, _base.withAnnotationIntrospector(ai));
592
+ }
593
+
594
+ @Override
595
+ public SerializationConfig withInsertedAnnotationIntrospector(AnnotationIntrospector ai) {
596
+ return new SerializationConfig(this, _base.withInsertedAnnotationIntrospector(ai));
597
+ }
598
+
599
+ @Override
600
+ public SerializationConfig withAppendedAnnotationIntrospector(AnnotationIntrospector ai) {
601
+ return new SerializationConfig(this, _base.withAppendedAnnotationIntrospector(ai));
602
+ }
603
+
604
+ @Override
605
+ public SerializationConfig withVisibilityChecker(VisibilityChecker<?> vc) {
606
+ return new SerializationConfig(this, _base.withVisibilityChecker(vc));
607
+ }
608
+
609
+ @Override
610
+ public SerializationConfig withVisibility(JsonMethod forMethod, JsonAutoDetect.Visibility visibility) {
611
+ return new SerializationConfig(this, _base.withVisibility(forMethod, visibility));
612
+ }
613
+
614
+ @Override
615
+ public SerializationConfig withTypeResolverBuilder(TypeResolverBuilder<?> trb) {
616
+ return new SerializationConfig(this, _base.withTypeResolverBuilder(trb));
617
+ }
618
+
619
+ @Override
620
+ public SerializationConfig withSubtypeResolver(SubtypeResolver str) {
621
+ SerializationConfig cfg = new SerializationConfig(this);
622
+ cfg._subtypeResolver = str;
623
+ return cfg;
624
+ }
625
+
626
+ @Override
627
+ public SerializationConfig withPropertyNamingStrategy(PropertyNamingStrategy pns) {
628
+ return new SerializationConfig(this, _base.withPropertyNamingStrategy(pns));
629
+ }
630
+
631
+ @Override
632
+ public SerializationConfig withTypeFactory(TypeFactory tf) {
633
+ return new SerializationConfig(this, _base.withTypeFactory(tf));
634
+ }
635
+
636
+ /**
637
+ * In addition to constructing instance with specified date format,
638
+ * will enable or disable <code>Feature.WRITE_DATES_AS_TIMESTAMPS</code>
639
+ * (enable if format set as null; disable if non-null)
640
+ */
641
+ @Override
642
+ public SerializationConfig withDateFormat(DateFormat df) {
643
+ SerializationConfig cfg = new SerializationConfig(this, _base.withDateFormat(df));
644
+ // Also need to toggle this feature based on existence of date format:
645
+ if (df == null) {
646
+ cfg = cfg.with(Feature.WRITE_DATES_AS_TIMESTAMPS);
647
+ } else {
648
+ cfg = cfg.without(Feature.WRITE_DATES_AS_TIMESTAMPS);
649
+ }
650
+ return cfg;
651
+ }
652
+
653
+ @Override
654
+ public SerializationConfig withHandlerInstantiator(HandlerInstantiator hi) {
655
+ return new SerializationConfig(this, _base.withHandlerInstantiator(hi));
656
+ }
657
+
658
+ /*
659
+ /**********************************************************
660
+ /* Life-cycle, SerializationConfig specific factory methods
661
+ /**********************************************************
662
+ */
663
+
664
+ /**
665
+ * @since 1.7
666
+ */
667
+ public SerializationConfig withFilters(FilterProvider filterProvider) {
668
+ return new SerializationConfig(this, filterProvider);
669
+ }
670
+
671
+ /**
672
+ * @since 1.8
673
+ */
674
+ public SerializationConfig withView(Class<?> view) {
675
+ return new SerializationConfig(this, view);
676
+ }
677
+
678
+ /**
679
+ * @since 1.9
680
+ */
681
+ public SerializationConfig withSerializationInclusion(JsonSerialize.Inclusion incl) {
682
+ return new SerializationConfig(this, incl);
683
+ }
684
+
685
+ /**
686
+ * Fluent factory method that will construct and return a new configuration
687
+ * object instance with specified features enabled.
688
+ *
689
+ * @since 1.9
690
+ */
691
+ @Override
692
+ public SerializationConfig with(Feature... features)
693
+ {
694
+ int flags = _featureFlags;
695
+ for (Feature f : features) {
696
+ flags |= f.getMask();
697
+ }
698
+ return new SerializationConfig(this, flags);
699
+ }
700
+
701
+ /**
702
+ * Fluent factory method that will construct and return a new configuration
703
+ * object instance with specified features disabled.
704
+ *
705
+ * @since 1.9
706
+ */
707
+ @Override
708
+ public SerializationConfig without(Feature... features)
709
+ {
710
+ int flags = _featureFlags;
711
+ for (Feature f : features) {
712
+ flags &= ~f.getMask();
713
+ }
714
+ return new SerializationConfig(this, flags);
715
+ }
716
+
717
+ /*
718
+ /**********************************************************
719
+ /* MapperConfig implementation/overrides
720
+ /**********************************************************
721
+ */
722
+
723
+ /**
724
+ * Method that checks class annotations that the argument Object has,
725
+ * and modifies settings of this configuration object accordingly,
726
+ * similar to how those annotations would affect actual value classes
727
+ * annotated with them, but with global scope. Note that not all
728
+ * annotations have global significance, and thus only subset of
729
+ * Jackson annotations will have any effect.
730
+ *<p>
731
+ * Serialization annotations that are known to have effect are:
732
+ *<ul>
733
+ * <li>{@link JsonWriteNullProperties}</li>
734
+ * <li>{@link JsonAutoDetect}</li>
735
+ * <li>{@link JsonSerialize#typing}</li>
736
+ *</ul>
737
+ *
738
+ * @param cls Class of which class annotations to use
739
+ * for changing configuration settings
740
+ *
741
+ * @deprecated Since 1.9, it is preferably to explicitly configure
742
+ * instances; this method also modifies existing instance which is
743
+ * against immutable design goals of this class.
744
+ */
745
+ @SuppressWarnings("deprecation")
746
+ @Deprecated
747
+ @Override
748
+ public void fromAnnotations(Class<?> cls)
749
+ {
750
+ /* 10-Jul-2009, tatu: Should be able to just pass null as
751
+ * 'MixInResolver'; no mix-ins set at this point
752
+ * 29-Jul-2009, tatu: Also, we do NOT ignore annotations here, even
753
+ * if Feature.USE_ANNOTATIONS was disabled, since caller
754
+ * specifically requested annotations to be added with this call
755
+ */
756
+ AnnotationIntrospector ai = getAnnotationIntrospector();
757
+ AnnotatedClass ac = AnnotatedClass.construct(cls, ai, null);
758
+ _base = _base.withVisibilityChecker(ai.findAutoDetectVisibility(ac,
759
+ getDefaultVisibilityChecker()));
760
+
761
+ // How about writing null property values?
762
+ JsonSerialize.Inclusion incl = ai.findSerializationInclusion(ac, null);
763
+ if (incl != _serializationInclusion) {
764
+ setSerializationInclusion(incl);
765
+ }
766
+
767
+ JsonSerialize.Typing typing = ai.findSerializationTyping(ac);
768
+ if (typing != null) {
769
+ set(Feature.USE_STATIC_TYPING, (typing == JsonSerialize.Typing.STATIC));
770
+ }
771
+ }
772
+
773
+ @Override
774
+ public SerializationConfig createUnshared(SubtypeResolver subtypeResolver)
775
+ {
776
+ HashMap<ClassKey,Class<?>> mixins = _mixInAnnotations;
777
+ _mixInAnnotationsShared = true;
778
+ return new SerializationConfig(this, mixins, subtypeResolver);
779
+ }
780
+
781
+ @Override
782
+ public AnnotationIntrospector getAnnotationIntrospector()
783
+ {
784
+ /* 29-Jul-2009, tatu: it's now possible to disable use of
785
+ * annotations; can be done using "no-op" introspector
786
+ */
787
+ if (isEnabled(Feature.USE_ANNOTATIONS)) {
788
+ return super.getAnnotationIntrospector();
789
+ }
790
+ return AnnotationIntrospector.nopInstance();
791
+ }
792
+
793
+ /**
794
+ * Accessor for getting bean description that only contains class
795
+ * annotations: useful if no getter/setter/creator information is needed.
796
+ *<p>
797
+ * Note: part of {@link MapperConfig} since 1.7
798
+ */
799
+ @SuppressWarnings("unchecked")
800
+ @Override
801
+ public <T extends BeanDescription> T introspectClassAnnotations(JavaType type) {
802
+ return (T) getClassIntrospector().forClassAnnotations(this, type, this);
803
+ }
804
+
805
+ /**
806
+ * Accessor for getting bean description that only contains immediate class
807
+ * annotations: ones from the class, and its direct mix-in, if any, but
808
+ * not from super types.
809
+ *<p>
810
+ * Note: part of {@link MapperConfig} since 1.7
811
+ */
812
+ @SuppressWarnings("unchecked")
813
+ @Override
814
+ public <T extends BeanDescription> T introspectDirectClassAnnotations(JavaType type) {
815
+ return (T) getClassIntrospector().forDirectClassAnnotations(this, type, this);
816
+ }
817
+
818
+ @Override
819
+ public boolean isAnnotationProcessingEnabled() {
820
+ return isEnabled(SerializationConfig.Feature.USE_ANNOTATIONS);
821
+ }
822
+
823
+ @Override
824
+ public boolean canOverrideAccessModifiers() {
825
+ return isEnabled(Feature.CAN_OVERRIDE_ACCESS_MODIFIERS);
826
+ }
827
+
828
+ @Override
829
+ public boolean shouldSortPropertiesAlphabetically() {
830
+ return isEnabled(Feature.SORT_PROPERTIES_ALPHABETICALLY);
831
+ }
832
+
833
+ @Override
834
+ public VisibilityChecker<?> getDefaultVisibilityChecker()
835
+ {
836
+ VisibilityChecker<?> vchecker = super.getDefaultVisibilityChecker();
837
+ if (!isEnabled(SerializationConfig.Feature.AUTO_DETECT_GETTERS)) {
838
+ vchecker = vchecker.withGetterVisibility(Visibility.NONE);
839
+ }
840
+ // then global overrides (disabling)
841
+ if (!isEnabled(SerializationConfig.Feature.AUTO_DETECT_IS_GETTERS)) {
842
+ vchecker = vchecker.withIsGetterVisibility(Visibility.NONE);
843
+ }
844
+ if (!isEnabled(SerializationConfig.Feature.AUTO_DETECT_FIELDS)) {
845
+ vchecker = vchecker.withFieldVisibility(Visibility.NONE);
846
+ }
847
+ return vchecker;
848
+ }
849
+
850
+ /*
851
+ /**********************************************************
852
+ /* MapperConfig overrides for 1.8 backwards compatibility
853
+ /**********************************************************
854
+ */
855
+
856
+ /* NOTE: these are overloads we MUST have, but that were missing
857
+ * from 1.9.0 and 1.9.1. Type erasure can bite in the ass...
858
+ *<p>
859
+ * NOTE: will remove either these variants, or base class one, in 2.0.
860
+ */
861
+
862
+ /**
863
+ * Alias for {@link MapperConfig#isEnabled(sh.calaba.org.codehaus.jackson.map.MapperConfig.ConfigFeature)}.
864
+ *
865
+ * @since 1.0 However, note that version 1.9.0 and 1.9.1 accidentally missed
866
+ * this overloaded variant
867
+ */
868
+ public boolean isEnabled(SerializationConfig.Feature f) {
869
+ return (_featureFlags & f.getMask()) != 0;
870
+ }
871
+
872
+ /**
873
+ * @deprecated Since 1.9, it is preferable to use {@link #with} instead;
874
+ * this method is deprecated as it modifies current instance instead of
875
+ * creating a new one (as the goal is to make this class immutable)
876
+ */
877
+ @Deprecated
878
+ @Override
879
+ public void enable(SerializationConfig.Feature f) {
880
+ super.enable(f);
881
+ }
882
+
883
+ /**
884
+ * @deprecated Since 1.9, it is preferable to use {@link #without} instead;
885
+ * this method is deprecated as it modifies current instance instead of
886
+ * creating a new one (as the goal is to make this class immutable)
887
+ */
888
+ @Deprecated
889
+ @Override
890
+ public void disable(SerializationConfig.Feature f) {
891
+ super.disable(f);
892
+ }
893
+
894
+ /**
895
+ * @deprecated Since 1.9, it is preferable to use {@link #without} and {@link #with} instead;
896
+ * this method is deprecated as it modifies current instance instead of
897
+ * creating a new one (as the goal is to make this class immutable)
898
+ */
899
+ @Deprecated
900
+ @Override
901
+ public void set(SerializationConfig.Feature f, boolean state) {
902
+ super.set(f, state);
903
+ }
904
+
905
+ /*
906
+ /**********************************************************
907
+ /* Configuration: other
908
+ /**********************************************************
909
+ */
910
+
911
+ /**
912
+ * Method for checking which serialization view is being used,
913
+ * if any; null if none.
914
+ *
915
+ * @since 1.4
916
+ */
917
+ public Class<?> getSerializationView() { return _serializationView; }
918
+
919
+ public JsonSerialize.Inclusion getSerializationInclusion()
920
+ {
921
+ if (_serializationInclusion != null) {
922
+ return _serializationInclusion;
923
+ }
924
+ return isEnabled(Feature.WRITE_NULL_PROPERTIES) ?
925
+ JsonSerialize.Inclusion.ALWAYS : JsonSerialize.Inclusion.NON_NULL;
926
+ }
927
+
928
+ /**
929
+ * Method that will define global setting of which
930
+ * bean/map properties are to be included in serialization.
931
+ * Can be overridden by class annotations (overriding
932
+ * settings to use for instances of that class) and
933
+ * method/field annotations (overriding settings for the value
934
+ * bean for that getter method or field)
935
+ *
936
+ * @deprecated since 1.9 should either use {@link #withSerializationInclusion}
937
+ * to construct new instance, or configure through {@link ObjectMapper}
938
+ */
939
+ @Deprecated
940
+ public void setSerializationInclusion(JsonSerialize.Inclusion props)
941
+ {
942
+ _serializationInclusion = props;
943
+ // And for some level of backwards compatibility, also...
944
+ if (props == JsonSerialize.Inclusion.NON_NULL) {
945
+ disable(Feature.WRITE_NULL_PROPERTIES);
946
+ } else {
947
+ enable(Feature.WRITE_NULL_PROPERTIES);
948
+ }
949
+ }
950
+
951
+ /**
952
+ * Method for getting provider used for locating filters given
953
+ * id (which is usually provided with filter annotations).
954
+ * Will be null if no provided was set for {@link ObjectWriter}
955
+ * (or if serialization directly called from {@link ObjectMapper})
956
+ *
957
+ * @since 1.7
958
+ */
959
+ public FilterProvider getFilterProvider() {
960
+ return _filterProvider;
961
+ }
962
+
963
+ /*
964
+ /**********************************************************
965
+ /* Introspection methods
966
+ /**********************************************************
967
+ */
968
+
969
+ /**
970
+ * Method that will introspect full bean properties for the purpose
971
+ * of building a bean serializer
972
+ */
973
+ @SuppressWarnings("unchecked")
974
+ public <T extends BeanDescription> T introspect(JavaType type) {
975
+ return (T) getClassIntrospector().forSerialization(this, type, this);
976
+ }
977
+
978
+ /*
979
+ /**********************************************************
980
+ /* Extended API: serializer instantiation
981
+ /**********************************************************
982
+ */
983
+
984
+ @SuppressWarnings("unchecked")
985
+ public JsonSerializer<Object> serializerInstance(Annotated annotated, Class<? extends JsonSerializer<?>> serClass)
986
+ {
987
+ HandlerInstantiator hi = getHandlerInstantiator();
988
+ if (hi != null) {
989
+ JsonSerializer<?> ser = hi.serializerInstance(this, annotated, serClass);
990
+ if (ser != null) {
991
+ return (JsonSerializer<Object>) ser;
992
+ }
993
+ }
994
+ return (JsonSerializer<Object>) ClassUtil.createInstance(serClass, canOverrideAccessModifiers());
995
+ }
996
+
997
+ /*
998
+ /**********************************************************
999
+ /* Deprecated methods
1000
+ /**********************************************************
1001
+ */
1002
+
1003
+ /**
1004
+ * One thing to note is that this will set {@link Feature#WRITE_DATES_AS_TIMESTAMPS}
1005
+ * to false (if null format set), or true (if non-null format)
1006
+ *
1007
+ * @deprecated Since 1.8, use {@link #withDateFormat} instead.
1008
+ */
1009
+ @SuppressWarnings("deprecation")
1010
+ @Override
1011
+ @Deprecated
1012
+ public final void setDateFormat(DateFormat df) {
1013
+ super.setDateFormat(df);
1014
+ set(Feature.WRITE_DATES_AS_TIMESTAMPS, (df == null));
1015
+ }
1016
+
1017
+ /**
1018
+ * Method for checking which serialization view is being used,
1019
+ * if any; null if none.
1020
+ *
1021
+ * @since 1.4
1022
+ *
1023
+ * @deprecated Since 1.8, use {@link #withView} instead
1024
+ */
1025
+ @Deprecated
1026
+ public void setSerializationView(Class<?> view)
1027
+ {
1028
+ _serializationView = view;
1029
+ }
1030
+
1031
+ /*
1032
+ /**********************************************************
1033
+ /* Debug support
1034
+ /**********************************************************
1035
+ */
1036
+
1037
+ @Override public String toString()
1038
+ {
1039
+ return "[SerializationConfig: flags=0x"+Integer.toHexString(_featureFlags)+"]";
1040
+ }
1041
+ }