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,83 @@
1
+ package sh.calaba.org.codehaus.jackson.map.introspect;
2
+
3
+ import java.lang.reflect.Constructor;
4
+ import java.lang.reflect.Method;
5
+
6
+ /**
7
+ * Helper class needed to be able to efficiently access class
8
+ * member functions ({@link Method}s and {@link Constructor}s)
9
+ * in {@link java.util.Map}s.
10
+ */
11
+ public final class MemberKey
12
+ {
13
+ final static Class<?>[] NO_CLASSES = new Class<?>[0];
14
+
15
+ final String _name;
16
+ final Class<?>[] _argTypes;
17
+
18
+ public MemberKey(Method m)
19
+ {
20
+ this(m.getName(), m.getParameterTypes());
21
+ }
22
+
23
+ public MemberKey(Constructor<?> ctor)
24
+ {
25
+ this("", ctor.getParameterTypes());
26
+ }
27
+
28
+ public MemberKey(String name, Class<?>[] argTypes)
29
+ {
30
+ _name = name;
31
+ _argTypes = (argTypes == null) ? NO_CLASSES : argTypes;
32
+ }
33
+
34
+ @Override
35
+ public String toString() {
36
+ return _name + "(" + _argTypes.length+"-args)";
37
+ }
38
+
39
+ @Override
40
+ public int hashCode()
41
+ {
42
+ return _name.hashCode() + _argTypes.length;
43
+ }
44
+
45
+ @Override
46
+ public boolean equals(Object o)
47
+ {
48
+ if (o == this) return true;
49
+ if (o == null) return false;
50
+ if (o.getClass() != getClass()) {
51
+ return false;
52
+ }
53
+ MemberKey other = (MemberKey) o;
54
+ if (!_name.equals(other._name)) {
55
+ return false;
56
+ }
57
+ Class<?>[] otherArgs = other._argTypes;
58
+ int len = _argTypes.length;
59
+ if (otherArgs.length != len) {
60
+ return false;
61
+ }
62
+ for (int i = 0; i < len; ++i) {
63
+ Class<?> type1 = otherArgs[i];
64
+ Class<?> type2 = _argTypes[i];
65
+ if (type1 == type2) {
66
+ continue;
67
+ }
68
+ /* 23-Feb-2009, tatu: Are there any cases where we would have to
69
+ * consider some narrowing conversions or such? For now let's
70
+ * assume exact type match is enough
71
+ */
72
+ /* 07-Apr-2009, tatu: Indeed there are (see [JACKSON-97]).
73
+ * This happens with generics when a bound is specified.
74
+ * I hope this works; check here must be transitive
75
+ */
76
+ if (type1.isAssignableFrom(type2) || type2.isAssignableFrom(type1)) {
77
+ continue;
78
+ }
79
+ return false;
80
+ }
81
+ return true;
82
+ }
83
+ }
@@ -0,0 +1,12 @@
1
+ package sh.calaba.org.codehaus.jackson.map.introspect;
2
+
3
+ import java.lang.reflect.Method;
4
+
5
+ /**
6
+ * Simple interface that defines API used to filter out irrelevant
7
+ * methods
8
+ */
9
+ public interface MethodFilter
10
+ {
11
+ public boolean includeMethod(Method m);
12
+ }
@@ -0,0 +1,209 @@
1
+ package sh.calaba.org.codehaus.jackson.map.introspect;
2
+
3
+ import java.lang.annotation.Annotation;
4
+
5
+ import sh.calaba.org.codehaus.jackson.map.AnnotationIntrospector;
6
+ import sh.calaba.org.codehaus.jackson.map.JsonDeserializer;
7
+ import sh.calaba.org.codehaus.jackson.map.KeyDeserializer;
8
+ import sh.calaba.org.codehaus.jackson.map.annotate.JsonSerialize.Typing;
9
+ import sh.calaba.org.codehaus.jackson.type.JavaType;
10
+
11
+ /**
12
+ * Dummy, "no-operation" implementation of {@link AnnotationIntrospector}.
13
+ * Can be used as is to suppress handling of annotations; or as a basis
14
+ * for simple complementary annotators
15
+ */
16
+ public class NopAnnotationIntrospector
17
+ extends AnnotationIntrospector
18
+ {
19
+ /**
20
+ * Static immutable and shareable instance that can be used as
21
+ * "null" introspector: one that never finds any annotation
22
+ * information.
23
+ */
24
+ public final static NopAnnotationIntrospector instance = new NopAnnotationIntrospector();
25
+
26
+ /*
27
+ /**********************************************************
28
+ /* General annotation properties
29
+ /**********************************************************
30
+ */
31
+
32
+ @Override
33
+ public boolean isHandled(Annotation ann) {
34
+ return false;
35
+ }
36
+
37
+ /*
38
+ /**********************************************************
39
+ /* General annotations
40
+ /**********************************************************
41
+ */
42
+
43
+ @Override
44
+ public String findEnumValue(Enum<?> value) {
45
+ return null;
46
+ }
47
+
48
+ /*
49
+ /**********************************************************
50
+ /* General Class annotations
51
+ /**********************************************************
52
+ */
53
+
54
+ @Override
55
+ public String findRootName(AnnotatedClass ac) {
56
+ return null;
57
+ }
58
+
59
+ @Override
60
+ public String[] findPropertiesToIgnore(AnnotatedClass ac) {
61
+ return null;
62
+ }
63
+
64
+ @Override
65
+ public Boolean findIgnoreUnknownProperties(AnnotatedClass ac) {
66
+ return null;
67
+ }
68
+
69
+ /*
70
+ /**********************************************************
71
+ /* General member (field, method/constructor) annotations
72
+ /**********************************************************
73
+ */
74
+
75
+ @Override
76
+ public boolean hasIgnoreMarker(AnnotatedMember member) {
77
+ return false;
78
+ }
79
+
80
+ /*
81
+ /**********************************************************
82
+ /* General Method annotations
83
+ /**********************************************************
84
+ */
85
+
86
+ @Override
87
+ public boolean isIgnorableConstructor(AnnotatedConstructor c) {
88
+ return false;
89
+ }
90
+
91
+ @Override
92
+ public boolean isIgnorableMethod(AnnotatedMethod m) {
93
+ return false;
94
+ }
95
+
96
+ /*
97
+ /**********************************************************
98
+ /* General field annotations
99
+ /**********************************************************
100
+ */
101
+
102
+ @Override
103
+ public boolean isIgnorableField(AnnotatedField f) {
104
+ return false;
105
+ }
106
+
107
+ /*
108
+ /**********************************************************
109
+ /* Serialization: general annotations
110
+ /**********************************************************
111
+ */
112
+
113
+ @Override
114
+ public Object findSerializer(Annotated am) {
115
+ return null;
116
+ }
117
+
118
+ @Override
119
+ public Class<?> findSerializationType(Annotated a) {
120
+ return null;
121
+ }
122
+
123
+ @Override
124
+ public Typing findSerializationTyping(Annotated a) {
125
+ return null;
126
+ }
127
+
128
+ @Override
129
+ public Class<?>[] findSerializationViews(Annotated a) {
130
+ return null;
131
+ }
132
+
133
+ /*
134
+ /**********************************************************
135
+ /* Serialization: class annotations
136
+ /**********************************************************
137
+ */
138
+
139
+ @Override
140
+ public String[] findSerializationPropertyOrder(AnnotatedClass ac) {
141
+ return null;
142
+ }
143
+
144
+ @Override
145
+ public Boolean findSerializationSortAlphabetically(AnnotatedClass ac) {
146
+ return null;
147
+ }
148
+
149
+ /*
150
+ /**********************************************************
151
+ /* Serialization: method annotations
152
+ /**********************************************************
153
+ */
154
+
155
+ @Override
156
+ public String findGettablePropertyName(AnnotatedMethod am) {
157
+ return null;
158
+ }
159
+
160
+ @Override
161
+ public boolean hasAsValueAnnotation(AnnotatedMethod am) {
162
+ return false;
163
+ }
164
+
165
+ @Override
166
+ public String findDeserializablePropertyName(AnnotatedField af) {
167
+ return null;
168
+ }
169
+
170
+ @Override
171
+ public Class<?> findDeserializationContentType(Annotated am, JavaType t, String propName) {
172
+ return null;
173
+ }
174
+
175
+ @Override
176
+ public Class<?> findDeserializationKeyType(Annotated am, JavaType t, String propName) {
177
+ return null;
178
+ }
179
+
180
+ @Override
181
+ public Class<?> findDeserializationType(Annotated am, JavaType t, String propName) {
182
+ return null;
183
+ }
184
+
185
+ @Override
186
+ public Object findDeserializer(Annotated am) { return null; }
187
+
188
+ @Override
189
+ public Class<KeyDeserializer> findKeyDeserializer(Annotated am) { return null; }
190
+
191
+ @Override
192
+ public Class<JsonDeserializer<?>> findContentDeserializer(Annotated am) { return null; }
193
+
194
+
195
+ @Override
196
+ public String findPropertyNameForParam(AnnotatedParameter param) {
197
+ return null;
198
+ }
199
+
200
+ @Override
201
+ public String findSerializablePropertyName(AnnotatedField af) {
202
+ return null;
203
+ }
204
+
205
+ @Override
206
+ public String findSettablePropertyName(AnnotatedMethod am) {
207
+ return null;
208
+ }
209
+ }
@@ -0,0 +1,713 @@
1
+ package sh.calaba.org.codehaus.jackson.map.introspect;
2
+
3
+ import java.util.*;
4
+
5
+ import sh.calaba.org.codehaus.jackson.map.*;
6
+ import sh.calaba.org.codehaus.jackson.map.util.BeanUtil;
7
+ import sh.calaba.org.codehaus.jackson.type.JavaType;
8
+
9
+ /**
10
+ * Helper class used for aggregating information about all possible
11
+ * properties of a POJO.
12
+ *
13
+ * @since 1.9
14
+ */
15
+ public class POJOPropertiesCollector
16
+ {
17
+ /*
18
+ /**********************************************************
19
+ /* Configuration
20
+ /**********************************************************
21
+ */
22
+
23
+ /**
24
+ * Configuration settings
25
+ */
26
+ protected final MapperConfig<?> _config;
27
+
28
+ /**
29
+ * True if introspection is done for serialization (giving
30
+ * precedence for serialization annotations), or not (false, deserialization)
31
+ */
32
+ protected final boolean _forSerialization;
33
+
34
+ /**
35
+ * Type of POJO for which properties are being collected.
36
+ */
37
+ protected final JavaType _type;
38
+
39
+ /**
40
+ * Low-level introspected class information (methods, fields etc)
41
+ */
42
+ protected final AnnotatedClass _classDef;
43
+
44
+ protected final VisibilityChecker<?> _visibilityChecker;
45
+
46
+ protected final AnnotationIntrospector _annotationIntrospector;
47
+
48
+ /*
49
+ /**********************************************************
50
+ /* Collected information
51
+ /**********************************************************
52
+ */
53
+
54
+ /**
55
+ * Set of logical property information collected so far
56
+ */
57
+ protected final LinkedHashMap<String, POJOPropertyBuilder> _properties
58
+ = new LinkedHashMap<String, POJOPropertyBuilder>();
59
+
60
+ protected LinkedList<POJOPropertyBuilder> _creatorProperties = null;
61
+
62
+ protected LinkedList<AnnotatedMethod> _anyGetters = null;
63
+
64
+ protected LinkedList<AnnotatedMethod> _anySetters = null;
65
+
66
+ /**
67
+ * Method(s) marked with 'JsonValue' annotation
68
+ */
69
+ protected LinkedList<AnnotatedMethod> _jsonValueGetters = null;
70
+
71
+ /**
72
+ * Lazily collected list of properties that can be implicitly
73
+ * ignored during serialization; only updated when collecting
74
+ * information for deserialization purposes
75
+ */
76
+ protected Set<String> _ignoredPropertyNames;
77
+
78
+ /**
79
+ * Alternate set of property names that have been marked for
80
+ * explicit ignoral for deserialization: needed to deal with
81
+ * 1.x definition of ignorable with respect to "any setter"
82
+ * (see [JACKSON-313], [JACKSON-383])
83
+ *
84
+ * @since 1.9.4
85
+ */
86
+ protected Set<String> _ignoredPropertyNamesForDeser;
87
+
88
+ /**
89
+ * Lazily collected list of members that were annotated to
90
+ * indicate that they represent mutators for deserializer
91
+ * value injection.
92
+ */
93
+ protected LinkedHashMap<Object, AnnotatedMember> _injectables;
94
+
95
+ /*
96
+ /**********************************************************
97
+ /* Life-cycle
98
+ /**********************************************************
99
+ */
100
+
101
+ protected POJOPropertiesCollector(MapperConfig<?> config, boolean forSerialization,
102
+ JavaType type, AnnotatedClass classDef)
103
+ {
104
+ _config = config;
105
+ _forSerialization = forSerialization;
106
+ _type = type;
107
+ _classDef = classDef;
108
+ _annotationIntrospector = config.isAnnotationProcessingEnabled() ?
109
+ _config.getAnnotationIntrospector() : null;
110
+ if (_annotationIntrospector == null) {
111
+ _visibilityChecker = _config.getDefaultVisibilityChecker();
112
+ } else {
113
+ _visibilityChecker = _annotationIntrospector.findAutoDetectVisibility(classDef,
114
+ _config.getDefaultVisibilityChecker());
115
+ }
116
+ }
117
+
118
+ /*
119
+ /**********************************************************
120
+ /* Public API
121
+ /**********************************************************
122
+ */
123
+
124
+ public MapperConfig<?> getConfig() {
125
+ return _config;
126
+ }
127
+
128
+ public JavaType getType() {
129
+ return _type;
130
+ }
131
+
132
+ public AnnotatedClass getClassDef() {
133
+ return _classDef;
134
+ }
135
+
136
+ public AnnotationIntrospector getAnnotationIntrospector() {
137
+ return _annotationIntrospector;
138
+ }
139
+
140
+ public List<BeanPropertyDefinition> getProperties() {
141
+ // make sure we return a copy, so caller can remove entries if need be:
142
+ return new ArrayList<BeanPropertyDefinition>(_properties.values());
143
+ }
144
+
145
+ public Map<Object, AnnotatedMember> getInjectables() {
146
+ return _injectables;
147
+ }
148
+
149
+ public AnnotatedMethod getJsonValueMethod()
150
+ {
151
+ // If @JsonValue defined, must have a single one
152
+ if (_jsonValueGetters != null) {
153
+ if (_jsonValueGetters.size() > 1) {
154
+ reportProblem("Multiple value properties defined ("+_jsonValueGetters.get(0)+" vs "
155
+ +_jsonValueGetters.get(1)+")");
156
+ }
157
+ // otherwise we won't greatly care
158
+ return _jsonValueGetters.get(0);
159
+ }
160
+ return null;
161
+ }
162
+
163
+ public AnnotatedMethod getAnyGetterMethod()
164
+ {
165
+ if (_anyGetters != null) {
166
+ if (_anyGetters.size() > 1) {
167
+ reportProblem("Multiple 'any-getters' defined ("+_anyGetters.get(0)+" vs "
168
+ +_anyGetters.get(1)+")");
169
+ }
170
+ return _anyGetters.getFirst();
171
+ }
172
+ return null;
173
+ }
174
+
175
+ public AnnotatedMethod getAnySetterMethod()
176
+ {
177
+ if (_anySetters != null) {
178
+ if (_anySetters.size() > 1) {
179
+ reportProblem("Multiple 'any-setters' defined ("+_anySetters.get(0)+" vs "
180
+ +_anySetters.get(1)+")");
181
+ }
182
+ return _anySetters.getFirst();
183
+ }
184
+ return null;
185
+ }
186
+
187
+ public Set<String> getIgnoredPropertyNames() {
188
+ return _ignoredPropertyNames;
189
+ }
190
+
191
+ /**
192
+ * @since 1.9.4
193
+ */
194
+ public Set<String> getIgnoredPropertyNamesForDeser() {
195
+ return _ignoredPropertyNamesForDeser;
196
+ }
197
+
198
+ // for unit tests:
199
+ protected Map<String, POJOPropertyBuilder> getPropertyMap() {
200
+ return _properties;
201
+ }
202
+
203
+ /*
204
+ /**********************************************************
205
+ /* Public API: main-level collection
206
+ /**********************************************************
207
+ */
208
+
209
+ /**
210
+ * Method that orchestrates collection activities, and needs to be called
211
+ * after creating the instance.
212
+ */
213
+ public POJOPropertiesCollector collect()
214
+ {
215
+ _properties.clear();
216
+
217
+ // First: gather basic data
218
+ _addFields();
219
+ _addMethods();
220
+ _addCreators();
221
+ _addInjectables();
222
+
223
+ // Remove ignored properties, individual entries
224
+ _removeUnwantedProperties();
225
+
226
+ // Rename remaining properties
227
+ _renameProperties();
228
+ // And use custom naming strategy, if applicable...
229
+ PropertyNamingStrategy naming = _config.getPropertyNamingStrategy();
230
+ if (naming != null) {
231
+ _renameUsing(naming);
232
+ }
233
+
234
+ /* Sort by visibility (explicit over implicit); drop all but first
235
+ * of member type (getter, setter etc) if there is visibility
236
+ * difference
237
+ */
238
+ for (POJOPropertyBuilder property : _properties.values()) {
239
+ property.trimByVisibility();
240
+ }
241
+
242
+ // and then the final step, "merge" annotations
243
+ for (POJOPropertyBuilder property : _properties.values()) {
244
+ property.mergeAnnotations(_forSerialization);
245
+ }
246
+
247
+ // well, almost last: there's still ordering...
248
+ _sortProperties();
249
+ return this;
250
+ }
251
+
252
+ /*
253
+ /**********************************************************
254
+ /* Overridable internal methods, sorting
255
+ /**********************************************************
256
+ */
257
+
258
+ /* First, order by [JACKSON-90] (explicit ordering and/or alphabetic)
259
+ * and then for [JACKSON-170] (implicitly order creator properties before others)
260
+ */
261
+ protected void _sortProperties()
262
+ {
263
+ // Then how about explicit ordering?
264
+ AnnotationIntrospector intr = _config.getAnnotationIntrospector();
265
+ boolean sort;
266
+ Boolean alpha = intr.findSerializationSortAlphabetically(_classDef);
267
+
268
+ if (alpha == null) {
269
+ sort = _config.shouldSortPropertiesAlphabetically();
270
+ } else {
271
+ sort = alpha.booleanValue();
272
+ }
273
+ String[] propertyOrder = intr.findSerializationPropertyOrder(_classDef);
274
+
275
+ // no sorting? no need to shuffle, then
276
+ if (!sort && (_creatorProperties == null) && (propertyOrder == null)) {
277
+ return;
278
+ }
279
+ int size = _properties.size();
280
+ Map<String, POJOPropertyBuilder> all;
281
+ // Need to (re)sort alphabetically?
282
+ if (sort) {
283
+ all = new TreeMap<String,POJOPropertyBuilder>();
284
+ } else {
285
+ all = new LinkedHashMap<String,POJOPropertyBuilder>(size+size);
286
+ }
287
+
288
+ for (POJOPropertyBuilder prop : _properties.values()) {
289
+ all.put(prop.getName(), prop);
290
+ }
291
+ Map<String,POJOPropertyBuilder> ordered = new LinkedHashMap<String,POJOPropertyBuilder>(size+size);
292
+ // Ok: primarily by explicit order
293
+ if (propertyOrder != null) {
294
+ for (String name : propertyOrder) {
295
+ POJOPropertyBuilder w = all.get(name);
296
+ if (w == null) { // also, as per [JACKSON-268], we will allow use of "implicit" names
297
+ for (POJOPropertyBuilder prop : _properties.values()) {
298
+ if (name.equals(prop.getInternalName())) {
299
+ w = prop;
300
+ // plus re-map to external name, to avoid dups:
301
+ name = prop.getName();
302
+ break;
303
+ }
304
+ }
305
+ }
306
+ if (w != null) {
307
+ ordered.put(name, w);
308
+ }
309
+ }
310
+ }
311
+ // And secondly by sorting Creator properties before other unordered properties
312
+ if (_creatorProperties != null) {
313
+ for (POJOPropertyBuilder prop : _creatorProperties) {
314
+ ordered.put(prop.getName(), prop);
315
+ }
316
+ }
317
+ // And finally whatever is left (trying to put again will not change ordering)
318
+ ordered.putAll(all);
319
+
320
+ _properties.clear();
321
+ _properties.putAll(ordered);
322
+ }
323
+
324
+ /*
325
+ /**********************************************************
326
+ /* Overridable internal methods, adding members
327
+ /**********************************************************
328
+ */
329
+
330
+ /**
331
+ * Method for collecting basic information on all fields found
332
+ */
333
+ protected void _addFields()
334
+ {
335
+ final AnnotationIntrospector ai = _annotationIntrospector;
336
+
337
+ for (AnnotatedField f : _classDef.fields()) {
338
+ String implName = f.getName();
339
+
340
+ String explName;
341
+ if (ai == null) {
342
+ explName = null;
343
+ } else if (_forSerialization) {
344
+ /* 18-Aug-2011, tatu: As per existing unit tests, we should only
345
+ * use serialization annotation (@JsonSerializer) when serializing
346
+ * fields, and similarly for deserialize-only annotations... so
347
+ * no fallbacks in this particular case.
348
+ */
349
+ explName = ai.findSerializablePropertyName(f);
350
+ } else {
351
+ explName = ai.findDeserializablePropertyName(f);
352
+ }
353
+ if ("".equals(explName)) { // empty String meaning "use default name", here just means "same as field name"
354
+ explName = implName;
355
+ }
356
+ // having explicit name means that field is visible; otherwise need to check the rules
357
+ boolean visible = (explName != null);
358
+ if (!visible) {
359
+ visible = _visibilityChecker.isFieldVisible(f);
360
+ }
361
+ // and finally, may also have explicit ignoral
362
+ boolean ignored = (ai != null) && ai.hasIgnoreMarker(f);
363
+ _property(implName).addField(f, explName, visible, ignored);
364
+ }
365
+ }
366
+
367
+ /**
368
+ * Method for collecting basic information on constructor(s) found
369
+ */
370
+ protected void _addCreators()
371
+ {
372
+ final AnnotationIntrospector ai = _annotationIntrospector;
373
+ // can be null if annotation processing is disabled...
374
+ if (ai == null) {
375
+ return;
376
+ }
377
+ for (AnnotatedConstructor ctor : _classDef.getConstructors()) {
378
+ if (_creatorProperties == null) {
379
+ _creatorProperties = new LinkedList<POJOPropertyBuilder>();
380
+ }
381
+ for (int i = 0, len = ctor.getParameterCount(); i < len; ++i) {
382
+ AnnotatedParameter param = ctor.getParameter(i);
383
+ String name = ai.findPropertyNameForParam(param);
384
+ // is it legal not to have name?
385
+ if (name != null) {
386
+ // shouldn't need to worry about @JsonIgnore (no real point, so)
387
+ POJOPropertyBuilder prop = _property(name);
388
+ prop.addCtor(param, name, true, false);
389
+ _creatorProperties.add(prop);
390
+ }
391
+ }
392
+ }
393
+ for (AnnotatedMethod factory : _classDef.getStaticMethods()) {
394
+ if (_creatorProperties == null) {
395
+ _creatorProperties = new LinkedList<POJOPropertyBuilder>();
396
+ }
397
+ for (int i = 0, len = factory.getParameterCount(); i < len; ++i) {
398
+ AnnotatedParameter param = factory.getParameter(i);
399
+ String name = ai.findPropertyNameForParam(param);
400
+ // is it legal not to have name?
401
+ if (name != null) {
402
+ // shouldn't need to worry about @JsonIgnore (no real point, so)
403
+ POJOPropertyBuilder prop = _property(name);
404
+ prop.addCtor(param, name, true, false);
405
+ _creatorProperties.add(prop);
406
+ }
407
+ }
408
+ }
409
+ }
410
+
411
+ /**
412
+ * Method for collecting basic information on all fields found
413
+ */
414
+ protected void _addMethods()
415
+ {
416
+ final AnnotationIntrospector ai = _annotationIntrospector;
417
+
418
+ for (AnnotatedMethod m : _classDef.memberMethods()) {
419
+ String explName; // from annotation(s)
420
+ String implName; // from naming convention
421
+
422
+ /* For methods, handling differs between getters and setters; and
423
+ * we will also only consider entries that either follow the bean
424
+ * naming convention or are explicitly marked: just being visible
425
+ * is not enough (unlike with fields)
426
+ */
427
+ int argCount = m.getParameterCount();
428
+ boolean visible;
429
+
430
+ if (argCount == 0) { // getters (including 'any getter')
431
+ // any getter?
432
+ if (ai != null) {
433
+ if (ai.hasAnyGetterAnnotation(m)) {
434
+ if (_anyGetters == null) {
435
+ _anyGetters = new LinkedList<AnnotatedMethod>();
436
+ }
437
+ _anyGetters.add(m);
438
+ continue;
439
+ }
440
+ // @JsonValue?
441
+ if (ai.hasAsValueAnnotation(m)) {
442
+ if (_jsonValueGetters == null) {
443
+ _jsonValueGetters = new LinkedList<AnnotatedMethod>();
444
+ }
445
+ _jsonValueGetters.add(m);
446
+ continue;
447
+ }
448
+ }
449
+
450
+ explName = (ai == null) ? null : ai.findGettablePropertyName(m);
451
+ if (explName == null) { // no explicit name; must follow naming convention
452
+ implName = BeanUtil.okNameForRegularGetter(m, m.getName());
453
+ if (implName == null) { // if not, must skip
454
+ implName = BeanUtil.okNameForIsGetter(m, m.getName());
455
+ if (implName == null) {
456
+ continue;
457
+ }
458
+ visible = _visibilityChecker.isIsGetterVisible(m);
459
+ } else {
460
+ visible = _visibilityChecker.isGetterVisible(m);
461
+ }
462
+ } else { // explicit indication of inclusion, but may be empty
463
+ // we still need implicit name to link with other pieces
464
+ implName = BeanUtil.okNameForGetter(m);
465
+ // if not regular getter name, use method name as is
466
+ if (implName == null) {
467
+ implName = m.getName();
468
+ }
469
+ if (explName.length() == 0) {
470
+ explName = implName;
471
+ }
472
+ visible = true;
473
+ }
474
+ boolean ignore = (ai == null) ? false : ai.hasIgnoreMarker(m);
475
+ _property(implName).addGetter(m, explName, visible, ignore);
476
+ } else if (argCount == 1) { // setters
477
+ explName = (ai == null) ? null : ai.findSettablePropertyName(m);
478
+ if (explName == null) { // no explicit name; must follow naming convention
479
+ implName = BeanUtil.okNameForSetter(m);
480
+ if (implName == null) { // if not, must skip
481
+ continue;
482
+ }
483
+ visible = _visibilityChecker.isSetterVisible(m);
484
+ } else { // explicit indication of inclusion, but may be empty
485
+ // we still need implicit name to link with other pieces
486
+ implName = BeanUtil.okNameForSetter(m);
487
+ // if not regular getter name, use method name as is
488
+ if (implName == null) {
489
+ implName = m.getName();
490
+ }
491
+ if (explName.length() == 0) {
492
+ explName = implName;
493
+ }
494
+ visible = true;
495
+ }
496
+ boolean ignore = (ai == null) ? false : ai.hasIgnoreMarker(m);
497
+ _property(implName).addSetter(m, explName, visible, ignore);
498
+
499
+ } else if (argCount == 2) { // any getter?
500
+ if (ai != null && ai.hasAnySetterAnnotation(m)) {
501
+ if (_anySetters == null) {
502
+ _anySetters = new LinkedList<AnnotatedMethod>();
503
+ }
504
+ _anySetters.add(m);
505
+ }
506
+ }
507
+ }
508
+ }
509
+
510
+ protected void _addInjectables()
511
+ {
512
+ final AnnotationIntrospector ai = _annotationIntrospector;
513
+ if (ai == null) {
514
+ return;
515
+ }
516
+
517
+ // first fields, then methods
518
+ for (AnnotatedField f : _classDef.fields()) {
519
+ _doAddInjectable(ai.findInjectableValueId(f), f);
520
+ }
521
+
522
+ for (AnnotatedMethod m : _classDef.memberMethods()) {
523
+ /* for now, only allow injection of a single arg
524
+ * (to be changed in future)
525
+ */
526
+ if (m.getParameterCount() != 1) {
527
+ continue;
528
+ }
529
+ _doAddInjectable(ai.findInjectableValueId(m), m);
530
+ }
531
+ }
532
+
533
+ protected void _doAddInjectable(Object id, AnnotatedMember m)
534
+ {
535
+ if (id == null) {
536
+ return;
537
+ }
538
+ if (_injectables == null) {
539
+ _injectables = new LinkedHashMap<Object, AnnotatedMember>();
540
+ }
541
+ AnnotatedMember prev = _injectables.put(id, m);
542
+ if (prev != null) {
543
+ String type = (id == null) ? "[null]" : id.getClass().getName();
544
+ throw new IllegalArgumentException("Duplicate injectable value with id '"
545
+ +String.valueOf(id)+"' (of type "+type+")");
546
+ }
547
+ }
548
+
549
+ /*
550
+ /**********************************************************
551
+ /* Internal methods; removing ignored properties
552
+ /**********************************************************
553
+ */
554
+
555
+ /**
556
+ * Method called to get rid of candidate properties that are marked
557
+ * as ignored, or that are not visible.
558
+ */
559
+ protected void _removeUnwantedProperties()
560
+ {
561
+ Iterator<Map.Entry<String,POJOPropertyBuilder>> it = _properties.entrySet().iterator();
562
+ while (it.hasNext()) {
563
+ Map.Entry<String, POJOPropertyBuilder> entry = it.next();
564
+ POJOPropertyBuilder prop = entry.getValue();
565
+
566
+ // First: if nothing visible, just remove altogether
567
+ if (!prop.anyVisible()) {
568
+ it.remove();
569
+ continue;
570
+ }
571
+ // Otherwise, check ignorals
572
+ if (prop.anyIgnorals()) {
573
+ _addIgnored(prop);
574
+ // first: if one or more ignorals, and no explicit markers, remove the whole thing
575
+ if (!prop.anyExplicitNames()) {
576
+ it.remove();
577
+ continue;
578
+ }
579
+ // otherwise just remove explicitly ignored (and retain others)
580
+ prop.removeIgnored();
581
+ }
582
+ // and finally, handle removal of individual non-visible elements
583
+ prop.removeNonVisible();
584
+ }
585
+ }
586
+
587
+ private void _addIgnored(POJOPropertyBuilder prop)
588
+ {
589
+ // not used in any way for serialization side:
590
+ if (_forSerialization) {
591
+ return;
592
+ }
593
+ /* and with deserialization, two aspects: whether it's ok to see
594
+ * property ('ignore for failure reporting') and whether we forcifully
595
+ * ignore it even if there was "any setter" available.
596
+ */
597
+ // but do not add unless ignoral was for field, setter or ctor param
598
+ String name = prop.getName();
599
+ _ignoredPropertyNames = addToSet(_ignoredPropertyNames, name);
600
+ if (prop.anyDeserializeIgnorals()) {
601
+ _ignoredPropertyNamesForDeser = addToSet(_ignoredPropertyNamesForDeser, name);
602
+ }
603
+ }
604
+
605
+ /*
606
+ /**********************************************************
607
+ /* Internal methods; renaming properties
608
+ /**********************************************************
609
+ */
610
+
611
+ protected void _renameProperties()
612
+ {
613
+ // With renaming need to do in phases: first, find properties to rename
614
+ Iterator<Map.Entry<String,POJOPropertyBuilder>> it = _properties.entrySet().iterator();
615
+ LinkedList<POJOPropertyBuilder> renamed = null;
616
+ while (it.hasNext()) {
617
+ Map.Entry<String, POJOPropertyBuilder> entry = it.next();
618
+ POJOPropertyBuilder prop = entry.getValue();
619
+ String newName = prop.findNewName();
620
+ if (newName != null) {
621
+ if (renamed == null) {
622
+ renamed = new LinkedList<POJOPropertyBuilder>();
623
+ }
624
+ prop = prop.withName(newName);
625
+ renamed.add(prop);
626
+ it.remove();
627
+ }
628
+ }
629
+
630
+ // and if any were renamed, merge back in...
631
+ if (renamed != null) {
632
+ for (POJOPropertyBuilder prop : renamed) {
633
+ String name = prop.getName();
634
+ POJOPropertyBuilder old = _properties.get(name);
635
+ if (old == null) {
636
+ _properties.put(name, prop);
637
+ } else {
638
+ old.addAll(prop);
639
+ }
640
+ }
641
+ }
642
+ }
643
+
644
+ protected void _renameUsing(PropertyNamingStrategy naming)
645
+ {
646
+ POJOPropertyBuilder[] props = _properties.values().toArray(new POJOPropertyBuilder[_properties.size()]);
647
+ _properties.clear();
648
+ for (POJOPropertyBuilder prop : props) {
649
+ String name = prop.getName();
650
+ if (_forSerialization) {
651
+ if (prop.hasGetter()) {
652
+ name = naming.nameForGetterMethod(_config, prop.getGetter(), name);
653
+ } else if (prop.hasField()) {
654
+ name = naming.nameForField(_config, prop.getField(), name);
655
+ }
656
+ } else {
657
+ if (prop.hasSetter()) {
658
+ name = naming.nameForSetterMethod(_config, prop.getSetter(), name);
659
+ } else if (prop.hasConstructorParameter()) {
660
+ name = naming.nameForConstructorParameter(_config, prop.getConstructorParameter(), name);
661
+ } else if (prop.hasField()) {
662
+ name = naming.nameForField(_config, prop.getField(), name);
663
+ } else if (prop.hasGetter()) {
664
+ /* Plus, when getter-as-setter is used, need to convert that too..
665
+ * (should we verify that's enabled? For now, assume it's ok always)
666
+ */
667
+ name = naming.nameForGetterMethod(_config, prop.getGetter(), name);
668
+ }
669
+ }
670
+ if (!name.equals(prop.getName())) {
671
+ prop = prop.withName(name);
672
+ }
673
+ /* As per [JACKSON-687], need to consider case where there may already be
674
+ * something in there...
675
+ */
676
+ POJOPropertyBuilder old = _properties.get(name);
677
+ if (old == null) {
678
+ _properties.put(name, prop);
679
+ } else {
680
+ old.addAll(prop);
681
+ }
682
+ }
683
+ }
684
+
685
+ /*
686
+ /**********************************************************
687
+ /* Internal methods; helpers
688
+ /**********************************************************
689
+ */
690
+
691
+ protected void reportProblem(String msg) {
692
+ throw new IllegalArgumentException("Problem with definition of "+_classDef+": "+msg);
693
+ }
694
+
695
+ protected POJOPropertyBuilder _property(String implName)
696
+ {
697
+ POJOPropertyBuilder prop = _properties.get(implName);
698
+ if (prop == null) {
699
+ prop = new POJOPropertyBuilder(implName);
700
+ _properties.put(implName, prop);
701
+ }
702
+ return prop;
703
+ }
704
+
705
+ private Set<String> addToSet(Set<String> set, String str)
706
+ {
707
+ if (set == null) {
708
+ set = new HashSet<String>();
709
+ }
710
+ set.add(str);
711
+ return set;
712
+ }
713
+ }