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,364 @@
1
+ package sh.calaba.org.codehaus.jackson.map.introspect;
2
+
3
+ import java.lang.reflect.Method;
4
+ import java.lang.reflect.Modifier;
5
+ import java.util.*;
6
+
7
+ import sh.calaba.org.codehaus.jackson.map.AnnotationIntrospector;
8
+ import sh.calaba.org.codehaus.jackson.map.ClassIntrospector;
9
+ import sh.calaba.org.codehaus.jackson.map.DeserializationConfig;
10
+ import sh.calaba.org.codehaus.jackson.map.MapperConfig;
11
+ import sh.calaba.org.codehaus.jackson.map.SerializationConfig;
12
+ import sh.calaba.org.codehaus.jackson.map.type.SimpleType;
13
+ import sh.calaba.org.codehaus.jackson.map.util.ClassUtil;
14
+ import sh.calaba.org.codehaus.jackson.type.JavaType;
15
+
16
+ public class BasicClassIntrospector
17
+ extends ClassIntrospector<BasicBeanDescription>
18
+ {
19
+ /* We keep a small set of pre-constructed descriptions to use for
20
+ * common non-structured values, such as Numbers and Strings.
21
+ * This is strictly performance optimization to reduce what is
22
+ * usually one-time cost, but seems useful for some cases considering
23
+ * simplicity.
24
+ */
25
+
26
+ protected final static BasicBeanDescription STRING_DESC;
27
+ static {
28
+ AnnotatedClass ac = AnnotatedClass.constructWithoutSuperTypes(String.class, null, null);
29
+ STRING_DESC = BasicBeanDescription.forOtherUse(null, SimpleType.constructUnsafe(String.class), ac);
30
+ }
31
+ protected final static BasicBeanDescription BOOLEAN_DESC;
32
+ static {
33
+ AnnotatedClass ac = AnnotatedClass.constructWithoutSuperTypes(Boolean.TYPE, null, null);
34
+ BOOLEAN_DESC = BasicBeanDescription.forOtherUse(null, SimpleType.constructUnsafe(Boolean.TYPE), ac);
35
+ }
36
+ protected final static BasicBeanDescription INT_DESC;
37
+ static {
38
+ AnnotatedClass ac = AnnotatedClass.constructWithoutSuperTypes(Integer.TYPE, null, null);
39
+ INT_DESC = BasicBeanDescription.forOtherUse(null, SimpleType.constructUnsafe(Integer.TYPE), ac);
40
+ }
41
+ protected final static BasicBeanDescription LONG_DESC;
42
+ static {
43
+ AnnotatedClass ac = AnnotatedClass.constructWithoutSuperTypes(Long.TYPE, null, null);
44
+ LONG_DESC = BasicBeanDescription.forOtherUse(null, SimpleType.constructUnsafe(Long.TYPE), ac);
45
+ }
46
+
47
+
48
+ // // // Then static filter singletons
49
+
50
+ /**
51
+ * @since 1.8
52
+ * @deprecated Since 1.9 just don't use
53
+ */
54
+ @Deprecated
55
+ public final static GetterMethodFilter DEFAULT_GETTER_FILTER = new GetterMethodFilter();
56
+
57
+ /**
58
+ * @since 1.8
59
+ * @deprecated Since 1.9 just don't use
60
+ */
61
+ @Deprecated
62
+ public final static SetterMethodFilter DEFAULT_SETTER_FILTER = new SetterMethodFilter();
63
+
64
+ /**
65
+ * @since 1.8
66
+ * @deprecated Since 1.9 just don't use
67
+ */
68
+ @Deprecated
69
+ public final static SetterAndGetterMethodFilter DEFAULT_SETTER_AND_GETTER_FILTER = new SetterAndGetterMethodFilter();
70
+
71
+ protected final static MethodFilter MINIMAL_FILTER = new MinimalMethodFilter();
72
+
73
+ /*
74
+ /**********************************************************
75
+ /* Life cycle
76
+ /**********************************************************
77
+ */
78
+
79
+ public final static BasicClassIntrospector instance = new BasicClassIntrospector();
80
+
81
+ public BasicClassIntrospector() { }
82
+
83
+ /*
84
+ /**********************************************************
85
+ /* Factory method impls
86
+ /**********************************************************
87
+ */
88
+
89
+ @Override
90
+ public BasicBeanDescription forSerialization(SerializationConfig cfg,
91
+ JavaType type, MixInResolver r)
92
+ {
93
+ // minor optimization: for JDK types do minimal introspection
94
+ BasicBeanDescription desc = _findCachedDesc(type);
95
+ if (desc == null) {
96
+ desc = BasicBeanDescription.forSerialization(collectProperties(cfg, type, r, true));
97
+ }
98
+ return desc;
99
+ }
100
+
101
+ @Override
102
+ public BasicBeanDescription forDeserialization(DeserializationConfig cfg,
103
+ JavaType type, MixInResolver r)
104
+ {
105
+ // minor optimization: for JDK types do minimal introspection
106
+ BasicBeanDescription desc = _findCachedDesc(type);
107
+ if (desc == null) {
108
+ desc = BasicBeanDescription.forDeserialization(collectProperties(cfg, type, r, false));
109
+ }
110
+ return desc;
111
+ }
112
+
113
+ @Override
114
+ public BasicBeanDescription forCreation(DeserializationConfig cfg,
115
+ JavaType type, MixInResolver r)
116
+ {
117
+ BasicBeanDescription desc = _findCachedDesc(type);
118
+ if (desc == null) {
119
+ desc = BasicBeanDescription.forDeserialization(collectProperties(cfg, type, r, false));
120
+ }
121
+ return desc;
122
+ }
123
+
124
+ @Override
125
+ public BasicBeanDescription forClassAnnotations(MapperConfig<?> cfg,
126
+ JavaType type, MixInResolver r)
127
+ {
128
+ boolean useAnnotations = cfg.isAnnotationProcessingEnabled();
129
+ AnnotationIntrospector ai = cfg.getAnnotationIntrospector();
130
+ AnnotatedClass ac = AnnotatedClass.construct(type.getRawClass(), (useAnnotations ? ai : null), r);
131
+ return BasicBeanDescription.forOtherUse(cfg, type, ac);
132
+ }
133
+
134
+ @Override
135
+ public BasicBeanDescription forDirectClassAnnotations(MapperConfig<?> cfg,
136
+ JavaType type, MixInResolver r)
137
+ {
138
+ boolean useAnnotations = cfg.isAnnotationProcessingEnabled();
139
+ AnnotationIntrospector ai = cfg.getAnnotationIntrospector();
140
+ AnnotatedClass ac = AnnotatedClass.constructWithoutSuperTypes(type.getRawClass(),
141
+ (useAnnotations ? ai : null), r);
142
+ return BasicBeanDescription.forOtherUse(cfg, type, ac);
143
+ }
144
+
145
+ /*
146
+ /**********************************************************
147
+ /* Overridable helper methods
148
+ /**********************************************************
149
+ */
150
+
151
+ /**
152
+ * @since 1.9
153
+ */
154
+ public POJOPropertiesCollector collectProperties(MapperConfig<?> config,
155
+ JavaType type, MixInResolver r, boolean forSerialization)
156
+ {
157
+ AnnotatedClass ac = classWithCreators(config, type, r);
158
+ ac.resolveMemberMethods(MINIMAL_FILTER);
159
+ ac.resolveFields();
160
+ return constructPropertyCollector(config, ac, type, forSerialization).collect();
161
+ }
162
+
163
+ /**
164
+ * Overridable method called for creating {@link POJOPropertiesCollector} instance
165
+ * to use; override is needed if a custom sub-class is to be used.
166
+ *
167
+ * @since 1.9
168
+ */
169
+ protected POJOPropertiesCollector constructPropertyCollector(MapperConfig<?> config,
170
+ AnnotatedClass ac, JavaType type,
171
+ boolean forSerialization)
172
+ {
173
+ return new POJOPropertiesCollector(config, forSerialization, type, ac);
174
+ }
175
+
176
+ /**
177
+ * @since 1.9
178
+ */
179
+ public AnnotatedClass classWithCreators(MapperConfig<?> config,
180
+ JavaType type, MixInResolver r)
181
+ {
182
+ boolean useAnnotations = config.isAnnotationProcessingEnabled();
183
+ AnnotationIntrospector ai = config.getAnnotationIntrospector();
184
+ AnnotatedClass ac = AnnotatedClass.construct(type.getRawClass(), (useAnnotations ? ai : null), r);
185
+ ac.resolveMemberMethods(MINIMAL_FILTER);
186
+ // true -> include all creators, not just default constructor
187
+ ac.resolveCreators(true);
188
+ return ac;
189
+ }
190
+
191
+ /**
192
+ * Method called to see if type is one of core JDK types
193
+ * that we have cached for efficiency.
194
+ *
195
+ * @since 1.9
196
+ */
197
+ protected BasicBeanDescription _findCachedDesc(JavaType type)
198
+ {
199
+ Class<?> cls = type.getRawClass();
200
+ if (cls == String.class) {
201
+ return STRING_DESC;
202
+ }
203
+ if (cls == Boolean.TYPE) {
204
+ return BOOLEAN_DESC;
205
+ }
206
+ if (cls == Integer.TYPE) {
207
+ return INT_DESC;
208
+ }
209
+ if (cls == Long.TYPE) {
210
+ return LONG_DESC;
211
+ }
212
+ return null;
213
+ }
214
+
215
+ /**
216
+ * Helper method for getting access to filter that only guarantees
217
+ * that methods used for serialization are to be included.
218
+ *
219
+ * @deprecated Since 1.9 just don't use
220
+ */
221
+ @Deprecated
222
+ protected MethodFilter getSerializationMethodFilter(SerializationConfig cfg)
223
+ {
224
+ return DEFAULT_GETTER_FILTER;
225
+ }
226
+
227
+ /**
228
+ * Helper method for getting access to filter that only guarantees
229
+ * that methods used for deserialization are to be included.
230
+ *
231
+ * @deprecated Since 1.9 just don't use
232
+ */
233
+ @Deprecated
234
+ protected MethodFilter getDeserializationMethodFilter(DeserializationConfig cfg)
235
+ {
236
+ /* [JACKSON-88]: may also need to include getters (at least for
237
+ * Collection and Map types)
238
+ */
239
+ if (cfg.isEnabled(DeserializationConfig.Feature.USE_GETTERS_AS_SETTERS)) {
240
+ return DEFAULT_SETTER_AND_GETTER_FILTER;
241
+
242
+ }
243
+ return DEFAULT_SETTER_FILTER;
244
+ }
245
+
246
+ /*
247
+ /**********************************************************
248
+ /* Helper classes
249
+ /**********************************************************
250
+ */
251
+
252
+ /**
253
+ * Going forward, we will only do very minimal filtering;
254
+ * mostly just gets rid of static methods really.
255
+ *
256
+ * @since 1.9
257
+ */
258
+ private static class MinimalMethodFilter
259
+ implements MethodFilter
260
+ {
261
+ @Override
262
+ public boolean includeMethod(Method m)
263
+ {
264
+ if (Modifier.isStatic(m.getModifiers())) {
265
+ return false;
266
+ }
267
+ int pcount = m.getParameterTypes().length;
268
+ return (pcount <= 2);
269
+ }
270
+ }
271
+
272
+ /**
273
+ * Filter used to only include methods that have signature that is
274
+ * compatible with "getters": take no arguments, are non-static,
275
+ * and return something.
276
+ *
277
+ * @deprecated Since 1.9 just don't use
278
+ */
279
+ @Deprecated
280
+ public static class GetterMethodFilter
281
+ implements MethodFilter
282
+ {
283
+ private GetterMethodFilter() { }
284
+
285
+ @Override
286
+ public boolean includeMethod(Method m)
287
+ {
288
+ return ClassUtil.hasGetterSignature(m);
289
+ }
290
+ }
291
+
292
+ /**
293
+ * Filter used to only include methods that have signature that is
294
+ * compatible with "setters": take one and only argument and
295
+ * are non-static.
296
+ *<p>
297
+ * Actually, also need to include 2-arg methods to support
298
+ * "any setters"; as well as 0-arg getters as long as they
299
+ * return Collection or Map type.
300
+ *
301
+ * @deprecated Since 1.9 just don't use
302
+ */
303
+ @Deprecated
304
+ public static class SetterMethodFilter
305
+ implements MethodFilter
306
+ {
307
+ @Override
308
+ public boolean includeMethod(Method m)
309
+ {
310
+ // First: we can't use static methods
311
+ if (Modifier.isStatic(m.getModifiers())) {
312
+ return false;
313
+ }
314
+ int pcount = m.getParameterTypes().length;
315
+ // Ok; multiple acceptable parameter counts:
316
+ switch (pcount) {
317
+ case 1:
318
+ // Regular setters take just one param, so include:
319
+ return true;
320
+ case 2:
321
+ /* 2-arg version only for "AnySetters"; they are not
322
+ * auto-detected, and need to have an annotation.
323
+ * However, due to annotation inheritance we do, we
324
+ * don't yet know if sub-classes might have annotations...
325
+ * so shouldn't leave out any methods quite yet.
326
+ */
327
+ //if (m.getAnnotation(JsonAnySetter.class) != null) { ... }
328
+
329
+ return true;
330
+ }
331
+ return false;
332
+ }
333
+ }
334
+
335
+ /**
336
+ * Filter used if some getters (namely, once needed for "setterless
337
+ * collection injection") are also needed, not just setters.
338
+ *
339
+ * @deprecated Since 1.9 just don't use
340
+ */
341
+ @Deprecated
342
+ public final static class SetterAndGetterMethodFilter
343
+ extends SetterMethodFilter
344
+ {
345
+ @SuppressWarnings("deprecation")
346
+ @Override
347
+ public boolean includeMethod(Method m)
348
+ {
349
+ if (super.includeMethod(m)) {
350
+ return true;
351
+ }
352
+ if (!ClassUtil.hasGetterSignature(m)) {
353
+ return false;
354
+ }
355
+ // but furthermore, only accept Collections & Maps, for now
356
+ Class<?> rt = m.getReturnType();
357
+ if (Collection.class.isAssignableFrom(rt)
358
+ || Map.class.isAssignableFrom(rt)) {
359
+ return true;
360
+ }
361
+ return false;
362
+ }
363
+ }
364
+ }
@@ -0,0 +1,813 @@
1
+ package sh.calaba.org.codehaus.jackson.map.introspect;
2
+
3
+ import java.lang.annotation.Annotation;
4
+ import java.util.ArrayList;
5
+ import java.util.List;
6
+
7
+ import sh.calaba.org.codehaus.jackson.annotate.*;
8
+ import sh.calaba.org.codehaus.jackson.map.*;
9
+ import sh.calaba.org.codehaus.jackson.map.annotate.*;
10
+ import sh.calaba.org.codehaus.jackson.map.jsontype.NamedType;
11
+ import sh.calaba.org.codehaus.jackson.map.jsontype.TypeIdResolver;
12
+ import sh.calaba.org.codehaus.jackson.map.jsontype.TypeResolverBuilder;
13
+ import sh.calaba.org.codehaus.jackson.map.jsontype.impl.StdTypeResolverBuilder;
14
+ import sh.calaba.org.codehaus.jackson.map.ser.std.RawSerializer;
15
+ import sh.calaba.org.codehaus.jackson.type.JavaType;
16
+
17
+ /**
18
+ * {@link AnnotationIntrospector} implementation that handles standard
19
+ * Jackson annotations.
20
+ */
21
+ public class JacksonAnnotationIntrospector
22
+ extends AnnotationIntrospector
23
+ {
24
+ public JacksonAnnotationIntrospector() { }
25
+
26
+ /*
27
+ /**********************************************************
28
+ /* General annotation properties
29
+ /**********************************************************
30
+ */
31
+
32
+ @Override
33
+ public boolean isHandled(Annotation ann)
34
+ {
35
+ Class<? extends Annotation> acls = ann.annotationType();
36
+
37
+ /* 16-May-2009, tatu: used to check this like so...
38
+ final String JACKSON_PKG_PREFIX = "sh.calaba.org.codehaus.jackson";
39
+
40
+ Package pkg = acls.getPackage();
41
+ return (pkg != null) && (pkg.getName().startsWith(JACKSON_PKG_PREFIX));
42
+ */
43
+
44
+ // but this is more reliable, now that we have tag annotation:
45
+ return acls.getAnnotation(JacksonAnnotation.class) != null;
46
+ }
47
+
48
+ /*
49
+ /**********************************************************
50
+ /* General annotations
51
+ /**********************************************************
52
+ */
53
+
54
+ @Override
55
+ public String findEnumValue(Enum<?> value)
56
+ {
57
+ return value.name();
58
+ }
59
+
60
+ /*
61
+ /**********************************************************
62
+ /* General class annotations
63
+ /**********************************************************
64
+ */
65
+
66
+ @Override
67
+ public Boolean findCachability(AnnotatedClass ac)
68
+ {
69
+ JsonCachable ann = ac.getAnnotation(JsonCachable.class);
70
+ if (ann == null) {
71
+ return null;
72
+ }
73
+ return ann.value() ? Boolean.TRUE : Boolean.FALSE;
74
+ }
75
+
76
+ @Override
77
+ public String findRootName(AnnotatedClass ac)
78
+ {
79
+ JsonRootName ann = ac.getAnnotation(JsonRootName.class);
80
+ return (ann == null) ? null : ann.value();
81
+ }
82
+
83
+ @Override
84
+ public String[] findPropertiesToIgnore(AnnotatedClass ac) {
85
+ JsonIgnoreProperties ignore = ac.getAnnotation(JsonIgnoreProperties.class);
86
+ return (ignore == null) ? null : ignore.value();
87
+ }
88
+
89
+ @Override
90
+ public Boolean findIgnoreUnknownProperties(AnnotatedClass ac) {
91
+ JsonIgnoreProperties ignore = ac.getAnnotation(JsonIgnoreProperties.class);
92
+ return (ignore == null) ? null : ignore.ignoreUnknown();
93
+ }
94
+
95
+ @Override
96
+ public Boolean isIgnorableType(AnnotatedClass ac) {
97
+ JsonIgnoreType ignore = ac.getAnnotation(JsonIgnoreType.class);
98
+ return (ignore == null) ? null : ignore.value();
99
+ }
100
+
101
+ @Override
102
+ public Object findFilterId(AnnotatedClass ac)
103
+ {
104
+ JsonFilter ann = ac.getAnnotation(JsonFilter.class);
105
+ if (ann != null) {
106
+ String id = ann.value();
107
+ // Empty String is same as not having annotation, to allow overrides
108
+ if (id.length() > 0) {
109
+ return id;
110
+ }
111
+ }
112
+ return null;
113
+ }
114
+
115
+ /*
116
+ /**********************************************************
117
+ /* Property auto-detection
118
+ /**********************************************************
119
+ */
120
+
121
+ @Override
122
+ public VisibilityChecker<?> findAutoDetectVisibility(AnnotatedClass ac,
123
+ VisibilityChecker<?> checker)
124
+ {
125
+ JsonAutoDetect ann = ac.getAnnotation(JsonAutoDetect.class);
126
+ return (ann == null) ? checker : checker.with(ann);
127
+ }
128
+
129
+ /*
130
+ /**********************************************************
131
+ /* General member (field, method/constructor) annotations
132
+ /**********************************************************
133
+ */
134
+
135
+ // @since 1.6
136
+ @Override
137
+ public ReferenceProperty findReferenceType(AnnotatedMember member)
138
+ {
139
+ JsonManagedReference ref1 = member.getAnnotation(JsonManagedReference.class);
140
+ if (ref1 != null) {
141
+ return AnnotationIntrospector.ReferenceProperty.managed(ref1.value());
142
+ }
143
+ JsonBackReference ref2 = member.getAnnotation(JsonBackReference.class);
144
+ if (ref2 != null) {
145
+ return AnnotationIntrospector.ReferenceProperty.back(ref2.value());
146
+ }
147
+ return null;
148
+ }
149
+
150
+ @Override
151
+ public Boolean shouldUnwrapProperty(AnnotatedMember member)
152
+ {
153
+ JsonUnwrapped ann = member.getAnnotation(JsonUnwrapped.class);
154
+ // if not enabled, just means annotation is not enabled; not necessarily
155
+ // that unwrapping should not be done (relevant when using chained introspectors)
156
+ return (ann != null && ann.enabled()) ? Boolean.TRUE : null;
157
+ }
158
+
159
+ @Override
160
+ public boolean hasIgnoreMarker(AnnotatedMember m) {
161
+ return _isIgnorable(m);
162
+ }
163
+
164
+ @Override
165
+ public Object findInjectableValueId(AnnotatedMember m)
166
+ {
167
+ JacksonInject ann = m.getAnnotation(JacksonInject.class);
168
+ if (ann == null) {
169
+ return null;
170
+ }
171
+ /* Empty String means that we should use name of declared
172
+ * value class.
173
+ */
174
+ String id = ann.value();
175
+ if (id.length() == 0) {
176
+ // slight complication; for setters, type
177
+ if (!(m instanceof AnnotatedMethod)) {
178
+ return m.getRawType().getName();
179
+ }
180
+ AnnotatedMethod am = (AnnotatedMethod) m;
181
+ if (am.getParameterCount() == 0) {
182
+ return m.getRawType().getName();
183
+ }
184
+ return am.getParameterClass(0).getName();
185
+ }
186
+ return id;
187
+ }
188
+
189
+ /*
190
+ /**********************************************************
191
+ /* Class annotations for PM type handling (1.5+)
192
+ /**********************************************************
193
+ */
194
+
195
+ @Override
196
+ public TypeResolverBuilder<?> findTypeResolver(MapperConfig<?> config,
197
+ AnnotatedClass ac, JavaType baseType)
198
+ {
199
+ return _findTypeResolver(config, ac, baseType);
200
+ }
201
+
202
+ /**
203
+ * Since 1.7, it is possible to use {@link JsonTypeInfo} from a property too.
204
+ */
205
+ @Override
206
+ public TypeResolverBuilder<?> findPropertyTypeResolver(MapperConfig<?> config,
207
+ AnnotatedMember am, JavaType baseType)
208
+ {
209
+ /* As per definition of @JsonTypeInfo, should only apply to contents of container
210
+ * (collection, map) types, not container types themselves:
211
+ */
212
+ if (baseType.isContainerType()) return null;
213
+ // No per-member type overrides (yet)
214
+ return _findTypeResolver(config, am, baseType);
215
+ }
216
+
217
+ /**
218
+ * Since 1.7, it is possible to use {@link JsonTypeInfo} from a property too.
219
+ */
220
+ @Override
221
+ public TypeResolverBuilder<?> findPropertyContentTypeResolver(MapperConfig<?> config,
222
+ AnnotatedMember am, JavaType containerType)
223
+ {
224
+ /* First: let's ensure property is a container type: caller should have
225
+ * verified but just to be sure
226
+ */
227
+ if (!containerType.isContainerType()) {
228
+ throw new IllegalArgumentException("Must call method with a container type (got "+containerType+")");
229
+ }
230
+ return _findTypeResolver(config, am, containerType);
231
+ }
232
+
233
+ @Override
234
+ public List<NamedType> findSubtypes(Annotated a)
235
+ {
236
+ JsonSubTypes t = a.getAnnotation(JsonSubTypes.class);
237
+ if (t == null) return null;
238
+ JsonSubTypes.Type[] types = t.value();
239
+ ArrayList<NamedType> result = new ArrayList<NamedType>(types.length);
240
+ for (JsonSubTypes.Type type : types) {
241
+ result.add(new NamedType(type.value(), type.name()));
242
+ }
243
+ return result;
244
+ }
245
+
246
+ @Override
247
+ public String findTypeName(AnnotatedClass ac)
248
+ {
249
+ JsonTypeName tn = ac.getAnnotation(JsonTypeName.class);
250
+ return (tn == null) ? null : tn.value();
251
+ }
252
+
253
+ /*
254
+ /**********************************************************
255
+ /* General method annotations
256
+ /**********************************************************
257
+ */
258
+
259
+ @Override
260
+ public boolean isIgnorableMethod(AnnotatedMethod m) {
261
+ return _isIgnorable(m);
262
+ }
263
+
264
+ @Override
265
+ public boolean isIgnorableConstructor(AnnotatedConstructor c) {
266
+ return _isIgnorable(c);
267
+ }
268
+
269
+ /*
270
+ /**********************************************************
271
+ /* General field annotations
272
+ /**********************************************************
273
+ */
274
+
275
+ @Override
276
+ public boolean isIgnorableField(AnnotatedField f) {
277
+ return _isIgnorable(f);
278
+ }
279
+
280
+ /*
281
+ /**********************************************************
282
+ /* Serialization: general annotations
283
+ /**********************************************************
284
+ */
285
+
286
+ @Override
287
+ public Object findSerializer(Annotated a)
288
+ {
289
+ /* 21-May-2009, tatu: Slight change; primary annotation is now
290
+ * @JsonSerialize; @JsonUseSerializer is deprecated
291
+ */
292
+ JsonSerialize ann = a.getAnnotation(JsonSerialize.class);
293
+ if (ann != null) {
294
+ Class<? extends JsonSerializer<?>> serClass = ann.using();
295
+ if (serClass != JsonSerializer.None.class) {
296
+ return serClass;
297
+ }
298
+ }
299
+
300
+ /* 18-Oct-2010, tatu: [JACKSON-351] @JsonRawValue handled just here, for now;
301
+ * if we need to get raw indicator from other sources need to add
302
+ * separate accessor within {@link AnnotationIntrospector} interface.
303
+ */
304
+ JsonRawValue annRaw = a.getAnnotation(JsonRawValue.class);
305
+ if ((annRaw != null) && annRaw.value()) {
306
+ // let's construct instance with nominal type:
307
+ Class<?> cls = a.getRawType();
308
+ return new RawSerializer<Object>(cls);
309
+ }
310
+ return null;
311
+ }
312
+
313
+ @Override
314
+ public Class<? extends JsonSerializer<?>> findKeySerializer(Annotated a)
315
+ {
316
+ JsonSerialize ann = a.getAnnotation(JsonSerialize.class);
317
+ if (ann != null) {
318
+ Class<? extends JsonSerializer<?>> serClass = ann.keyUsing();
319
+ if (serClass != JsonSerializer.None.class) {
320
+ return serClass;
321
+ }
322
+ }
323
+ return null;
324
+ }
325
+
326
+ @Override
327
+ public Class<? extends JsonSerializer<?>> findContentSerializer(Annotated a)
328
+ {
329
+ JsonSerialize ann = a.getAnnotation(JsonSerialize.class);
330
+ if (ann != null) {
331
+ Class<? extends JsonSerializer<?>> serClass = ann.contentUsing();
332
+ if (serClass != JsonSerializer.None.class) {
333
+ return serClass;
334
+ }
335
+ }
336
+ return null;
337
+ }
338
+
339
+ @SuppressWarnings("deprecation")
340
+ @Override
341
+ public JsonSerialize.Inclusion findSerializationInclusion(Annotated a, JsonSerialize.Inclusion defValue)
342
+ {
343
+ JsonSerialize ann = a.getAnnotation(JsonSerialize.class);
344
+ if (ann != null) {
345
+ return ann.include();
346
+ }
347
+ /* 23-May-2009, tatu: Will still support now-deprecated (as of 1.1)
348
+ * legacy annotation too:
349
+ */
350
+ JsonWriteNullProperties oldAnn = a.getAnnotation(JsonWriteNullProperties.class);
351
+ if (oldAnn != null) {
352
+ boolean writeNulls = oldAnn.value();
353
+ return writeNulls ? JsonSerialize.Inclusion.ALWAYS : JsonSerialize.Inclusion.NON_NULL;
354
+ }
355
+ return defValue;
356
+ }
357
+
358
+ @Override
359
+ public Class<?> findSerializationType(Annotated am)
360
+ {
361
+ JsonSerialize ann = am.getAnnotation(JsonSerialize.class);
362
+ if (ann != null) {
363
+ Class<?> cls = ann.as();
364
+ if (cls != NoClass.class) {
365
+ return cls;
366
+ }
367
+ }
368
+ return null;
369
+ }
370
+
371
+ @Override
372
+ public Class<?> findSerializationKeyType(Annotated am, JavaType baseType)
373
+ {
374
+ JsonSerialize ann = am.getAnnotation(JsonSerialize.class);
375
+ if (ann != null) {
376
+ Class<?> cls = ann.keyAs();
377
+ if (cls != NoClass.class) {
378
+ return cls;
379
+ }
380
+ }
381
+ return null;
382
+ }
383
+
384
+ @Override
385
+ public Class<?> findSerializationContentType(Annotated am, JavaType baseType)
386
+ {
387
+ JsonSerialize ann = am.getAnnotation(JsonSerialize.class);
388
+ if (ann != null) {
389
+ Class<?> cls = ann.contentAs();
390
+ if (cls != NoClass.class) {
391
+ return cls;
392
+ }
393
+ }
394
+ return null;
395
+ }
396
+
397
+ @Override
398
+ public JsonSerialize.Typing findSerializationTyping(Annotated a)
399
+ {
400
+ JsonSerialize ann = a.getAnnotation(JsonSerialize.class);
401
+ return (ann == null) ? null : ann.typing();
402
+ }
403
+
404
+ @Override
405
+ public Class<?>[] findSerializationViews(Annotated a)
406
+ {
407
+ JsonView ann = a.getAnnotation(JsonView.class);
408
+ return (ann == null) ? null : ann.value();
409
+ }
410
+
411
+ /*
412
+ /**********************************************************
413
+ /* Serialization: class annotations
414
+ /**********************************************************
415
+ */
416
+
417
+ @Override
418
+ public String[] findSerializationPropertyOrder(AnnotatedClass ac) {
419
+ JsonPropertyOrder order = ac.getAnnotation(JsonPropertyOrder.class);
420
+ return (order == null) ? null : order.value();
421
+ }
422
+
423
+ @Override
424
+ public Boolean findSerializationSortAlphabetically(AnnotatedClass ac) {
425
+ JsonPropertyOrder order = ac.getAnnotation(JsonPropertyOrder.class);
426
+ return (order == null) ? null : order.alphabetic();
427
+ }
428
+
429
+ /*
430
+ /**********************************************************
431
+ /* Serialization: method annotations
432
+ /**********************************************************
433
+ */
434
+
435
+ @SuppressWarnings("deprecation")
436
+ @Override
437
+ public String findGettablePropertyName(AnnotatedMethod am)
438
+ {
439
+ /* 22-May-2009, tatu: JsonProperty is the primary annotation
440
+ * to check for
441
+ */
442
+ JsonProperty pann = am.getAnnotation(JsonProperty.class);
443
+ if (pann != null) {
444
+ return pann.value();
445
+ }
446
+ /* 22-May-2009, tatu: JsonGetter is deprecated as of 1.1
447
+ * but still supported
448
+ */
449
+ JsonGetter ann = am.getAnnotation(JsonGetter.class);
450
+ if (ann != null) {
451
+ return ann.value();
452
+ }
453
+ /* 22-May-2009, tatu: And finally, JsonSerialize implies
454
+ * that there is a property, although doesn't define name
455
+ */
456
+ // 09-Apr-2010, tatu: Ditto for JsonView
457
+ if (am.hasAnnotation(JsonSerialize.class) || am.hasAnnotation(JsonView.class)) {
458
+ return "";
459
+ }
460
+ return null;
461
+ }
462
+
463
+ @Override
464
+ public boolean hasAsValueAnnotation(AnnotatedMethod am)
465
+ {
466
+ JsonValue ann = am.getAnnotation(JsonValue.class);
467
+ // value of 'false' means disabled...
468
+ return (ann != null && ann.value());
469
+ }
470
+
471
+ /*
472
+ /**********************************************************
473
+ /* Serialization: field annotations
474
+ /**********************************************************
475
+ */
476
+
477
+ @Override
478
+ public String findSerializablePropertyName(AnnotatedField af)
479
+ {
480
+ JsonProperty pann = af.getAnnotation(JsonProperty.class);
481
+ if (pann != null) {
482
+ return pann.value();
483
+ }
484
+ // Also: having JsonSerialize implies it is such a property
485
+ // 09-Apr-2010, tatu: Ditto for JsonView
486
+ if (af.hasAnnotation(JsonSerialize.class) || af.hasAnnotation(JsonView.class)) {
487
+ return "";
488
+ }
489
+ return null;
490
+ }
491
+
492
+ /*
493
+ /**********************************************************
494
+ /* Deserialization: general annotations
495
+ /**********************************************************
496
+ */
497
+
498
+ @Override
499
+ public Class<? extends JsonDeserializer<?>> findDeserializer(Annotated a)
500
+ {
501
+ /* 21-May-2009, tatu: Slight change; primary annotation is now
502
+ * @JsonDeserialize; @JsonUseDeserializer is deprecated
503
+ */
504
+ JsonDeserialize ann = a.getAnnotation(JsonDeserialize.class);
505
+ if (ann != null) {
506
+ Class<? extends JsonDeserializer<?>> deserClass = ann.using();
507
+ if (deserClass != JsonDeserializer.None.class) {
508
+ return deserClass;
509
+ }
510
+ }
511
+ // 31-Jan-2010, tatus: @JsonUseDeserializer removed as of 1.5
512
+ return null;
513
+ }
514
+
515
+ @Override
516
+ public Class<? extends KeyDeserializer> findKeyDeserializer(Annotated a)
517
+ {
518
+ JsonDeserialize ann = a.getAnnotation(JsonDeserialize.class);
519
+ if (ann != null) {
520
+ Class<? extends KeyDeserializer> deserClass = ann.keyUsing();
521
+ if (deserClass != KeyDeserializer.None.class) {
522
+ return deserClass;
523
+ }
524
+ }
525
+ return null;
526
+ }
527
+
528
+ @Override
529
+ public Class<? extends JsonDeserializer<?>> findContentDeserializer(Annotated a)
530
+ {
531
+ JsonDeserialize ann = a.getAnnotation(JsonDeserialize.class);
532
+ if (ann != null) {
533
+ Class<? extends JsonDeserializer<?>> deserClass = ann.contentUsing();
534
+ if (deserClass != JsonDeserializer.None.class) {
535
+ return deserClass;
536
+ }
537
+ }
538
+ return null;
539
+ }
540
+
541
+ @Override
542
+ public Class<?> findDeserializationType(Annotated am, JavaType baseType,
543
+ String propName)
544
+ {
545
+ // Primary annotation, JsonDeserialize
546
+ JsonDeserialize ann = am.getAnnotation(JsonDeserialize.class);
547
+ if (ann != null) {
548
+ Class<?> cls = ann.as();
549
+ if (cls != NoClass.class) {
550
+ return cls;
551
+ }
552
+ }
553
+ /* 30-Jun-2011, tatu: Here we used to have support for @JsonClass;
554
+ * removed in 1.9
555
+ */
556
+ return null;
557
+ }
558
+
559
+ @Override
560
+ public Class<?> findDeserializationKeyType(Annotated am, JavaType baseKeyType,
561
+ String propName)
562
+ {
563
+ // Primary annotation, JsonDeserialize
564
+ JsonDeserialize ann = am.getAnnotation(JsonDeserialize.class);
565
+ if (ann != null) {
566
+ Class<?> cls = ann.keyAs();
567
+ if (cls != NoClass.class) {
568
+ return cls;
569
+ }
570
+ }
571
+ /* 30-Jun-2011, tatu: Here we used to have support for @JsonKeyClass;
572
+ * removed in 1.9
573
+ */
574
+ return null;
575
+ }
576
+
577
+ @Override
578
+ public Class<?> findDeserializationContentType(Annotated am, JavaType baseContentType,
579
+ String propName)
580
+ {
581
+ // Primary annotation, JsonDeserialize
582
+ JsonDeserialize ann = am.getAnnotation(JsonDeserialize.class);
583
+ if (ann != null) {
584
+ Class<?> cls = ann.contentAs();
585
+ if (cls != NoClass.class) {
586
+ return cls;
587
+ }
588
+ }
589
+ /* 30-Jun-2011, tatu: Here we used to have support for @JsonContentClass;
590
+ * removed in 1.9
591
+ */
592
+ return null;
593
+ }
594
+
595
+ /*
596
+ /**********************************************************
597
+ /* Deserialization: Class annotations
598
+ /**********************************************************
599
+ */
600
+
601
+ @Override
602
+ public Object findValueInstantiator(AnnotatedClass ac)
603
+ {
604
+ JsonValueInstantiator ann = ac.getAnnotation(JsonValueInstantiator.class);
605
+ // no 'null' marker yet, so:
606
+ return (ann == null) ? null : ann.value();
607
+ }
608
+
609
+ /*
610
+ /**********************************************************
611
+ /* Deserialization: Method annotations
612
+ /**********************************************************
613
+ */
614
+
615
+ @Override
616
+ public String findSettablePropertyName(AnnotatedMethod am)
617
+ {
618
+ /* 16-Apr-2010, tatu: Existing priority (since 1.1) is that
619
+ * @JsonProperty is checked first; and @JsonSetter next.
620
+ * This is not quite optimal now that @JsonSetter is un-deprecated.
621
+ * However, it is better to have stable behavior rather than
622
+ * cause compatibility problems by fine-tuning.
623
+ */
624
+ JsonProperty pann = am.getAnnotation(JsonProperty.class);
625
+ if (pann != null) {
626
+ return pann.value();
627
+ }
628
+ JsonSetter ann = am.getAnnotation(JsonSetter.class);
629
+ if (ann != null) {
630
+ return ann.value();
631
+ }
632
+ /* 22-May-2009, tatu: And finally, JsonSerialize implies
633
+ * that there is a property, although doesn't define name
634
+ */
635
+ // 09-Apr-2010, tatu: Ditto for JsonView
636
+ // 19-Oct-2011, tatu: And JsonBackReference/JsonManagedReference
637
+ if (am.hasAnnotation(JsonDeserialize.class)
638
+ || am.hasAnnotation(JsonView.class)
639
+ || am.hasAnnotation(JsonBackReference.class)
640
+ || am.hasAnnotation(JsonManagedReference.class)
641
+ ) {
642
+ return "";
643
+ }
644
+ return null;
645
+ }
646
+
647
+ @Override
648
+ public boolean hasAnySetterAnnotation(AnnotatedMethod am)
649
+ {
650
+ /* No dedicated disabling; regular @JsonIgnore used
651
+ * if needs to be ignored (and if so, is handled prior
652
+ * to this method getting called)
653
+ */
654
+ return am.hasAnnotation(JsonAnySetter.class);
655
+ }
656
+
657
+ @Override
658
+ public boolean hasAnyGetterAnnotation(AnnotatedMethod am)
659
+ {
660
+ /* No dedicated disabling; regular @JsonIgnore used
661
+ * if needs to be ignored (handled separately
662
+ */
663
+ return am.hasAnnotation(JsonAnyGetter.class);
664
+ }
665
+
666
+ @Override
667
+ public boolean hasCreatorAnnotation(Annotated a)
668
+ {
669
+ /* No dedicated disabling; regular @JsonIgnore used
670
+ * if needs to be ignored (and if so, is handled prior
671
+ * to this method getting called)
672
+ */
673
+ return a.hasAnnotation(JsonCreator.class);
674
+ }
675
+
676
+ /*
677
+ /**********************************************************
678
+ /* Deserialization: field annotations
679
+ /**********************************************************
680
+ */
681
+
682
+ @Override
683
+ public String findDeserializablePropertyName(AnnotatedField af)
684
+ {
685
+ JsonProperty pann = af.getAnnotation(JsonProperty.class);
686
+ if (pann != null) {
687
+ return pann.value();
688
+ }
689
+ // Also: having JsonDeserialize implies it is such a property
690
+ // 09-Apr-2010, tatu: Ditto for JsonView
691
+ if (af.hasAnnotation(JsonDeserialize.class)
692
+ || af.hasAnnotation(JsonView.class)
693
+ || af.hasAnnotation(JsonBackReference.class)
694
+ || af.hasAnnotation(JsonManagedReference.class)
695
+ ) {
696
+ return "";
697
+ }
698
+ return null;
699
+ }
700
+
701
+ /*
702
+ /**********************************************************
703
+ /* Deserialization: parameters annotations
704
+ /**********************************************************
705
+ */
706
+
707
+ @Override
708
+ public String findPropertyNameForParam(AnnotatedParameter param)
709
+ {
710
+ if (param != null) {
711
+ JsonProperty pann = param.getAnnotation(JsonProperty.class);
712
+ if (pann != null) {
713
+ return pann.value();
714
+ }
715
+ /* And can not use JsonDeserialize as we can not use
716
+ * name auto-detection (names of local variables including
717
+ * parameters are not necessarily preserved in bytecode)
718
+ */
719
+ }
720
+ return null;
721
+ }
722
+
723
+ /*
724
+ /**********************************************************
725
+ /* Helper methods
726
+ /**********************************************************
727
+ */
728
+
729
+ protected boolean _isIgnorable(Annotated a)
730
+ {
731
+ JsonIgnore ann = a.getAnnotation(JsonIgnore.class);
732
+ return (ann != null && ann.value());
733
+ }
734
+
735
+ /**
736
+ * Helper method called to construct and initialize instance of {@link TypeResolverBuilder}
737
+ * if given annotated element indicates one is needed.
738
+ */
739
+ protected TypeResolverBuilder<?> _findTypeResolver(MapperConfig<?> config,
740
+ Annotated ann, JavaType baseType)
741
+ {
742
+ // First: maybe we have explicit type resolver?
743
+ TypeResolverBuilder<?> b;
744
+ JsonTypeInfo info = ann.getAnnotation(JsonTypeInfo.class);
745
+ JsonTypeResolver resAnn = ann.getAnnotation(JsonTypeResolver.class);
746
+ if (resAnn != null) {
747
+ /* 14-Aug-2010, tatu: not sure if this can ever happen normally, but unit
748
+ * tests were able to trigger this... so let's check:
749
+ */
750
+ if (info == null) {
751
+ return null;
752
+ }
753
+ /* let's not try to force access override (would need to pass
754
+ * settings through if we did, since that's not doable on some
755
+ * platforms)
756
+ */
757
+ b = config.typeResolverBuilderInstance(ann, resAnn.value());
758
+ } else { // if not, use standard one, if indicated by annotations
759
+ if (info == null) {
760
+ return null;
761
+ }
762
+ // bit special; must return 'marker' to block use of default typing:
763
+ if (info.use() == JsonTypeInfo.Id.NONE) {
764
+ return _constructNoTypeResolverBuilder();
765
+ }
766
+ b = _constructStdTypeResolverBuilder();
767
+ }
768
+ // Does it define a custom type id resolver?
769
+ JsonTypeIdResolver idResInfo = ann.getAnnotation(JsonTypeIdResolver.class);
770
+ TypeIdResolver idRes = (idResInfo == null) ? null
771
+ : config.typeIdResolverInstance(ann, idResInfo.value());
772
+ if (idRes != null) { // [JACKSON-359]
773
+ idRes.init(baseType);
774
+ }
775
+ b = b.init(info.use(), idRes);
776
+ /* 13-Aug-2011, tatu: One complication wrt [JACKSON-453]; external id
777
+ * only works for properties; so if declared for a Class, we will need
778
+ * to map it to "PROPERTY" instead of "EXTERNAL_PROPERTY"
779
+ */
780
+ JsonTypeInfo.As inclusion = info.include();
781
+ if (inclusion == JsonTypeInfo.As.EXTERNAL_PROPERTY && (ann instanceof AnnotatedClass)) {
782
+ inclusion = JsonTypeInfo.As.PROPERTY;
783
+ }
784
+ b = b.inclusion(inclusion);
785
+ b = b.typeProperty(info.property());
786
+ Class<?> defaultImpl = info.defaultImpl();
787
+ if (defaultImpl != JsonTypeInfo.None.class) {
788
+ b = b.defaultImpl(defaultImpl);
789
+ }
790
+ return b;
791
+ }
792
+
793
+ /**
794
+ * Helper method for constructing standard {@link TypeResolverBuilder}
795
+ * implementation.
796
+ *
797
+ * @since 1.7
798
+ */
799
+ protected StdTypeResolverBuilder _constructStdTypeResolverBuilder()
800
+ {
801
+ return new StdTypeResolverBuilder();
802
+ }
803
+
804
+ /**
805
+ * Helper method for dealing with "no type info" marker; can't be null
806
+ * (as it'd be replaced by default typing)
807
+ *
808
+ * @since 1.9.4
809
+ */
810
+ protected StdTypeResolverBuilder _constructNoTypeResolverBuilder() {
811
+ return StdTypeResolverBuilder.noTypeInfoBuilder();
812
+ }
813
+ }