1. 08 5月, 2019 12 次提交
    • P
      Add SimpleAnnotationMeta classes and readers · 7fbf3f97
      Phillip Webb 提交于
      Replace the existing ASM based readers with new implementations that
      also support MergedAnnotations. The meta-data classes themselves are
      now immutable, and constructed via separate reader classes.
      
      The `SimpleMetadataReader` class has been updated to return the new
      classes, however the old ones remain since some of them are public
      and might be being used directly.
      
      Closes gh-22884
      7fbf3f97
    • P
      Add MergedAnnotations support to meta-data classes · 8c2ccfe6
      Phillip Webb 提交于
      Add `AnnotatedTypeMetaData.getAnnotations()` that can be used to access
      annotation details using the `MergedAnnotations` interface.
      
      Where possible, the existing annotation methods have been migrated to
      call `getAnnotation()`, rather than needing their own implementation.
      
      The existing ASM based meta-data implementations have not been updated
      since they will be deprecated and replaced in a subsequent commit.
      
      See gh-22884
      8c2ccfe6
    • P
      Reduce meta-data code duplicate with default methods · 30ba80a3
      Phillip Webb 提交于
      Extract and pull-up some common method implementations and make them
      default methods of the interface.
      
      See gh-22884
      30ba80a3
    • P
      Add additional class/method meta-data tests · f592c1f2
      Phillip Webb 提交于
      Add some additional tests to provide more coverage of class and method
      meta-data support.
      
      See gh-22884
      f592c1f2
    • P
      Use ReflectionUtils to get declared methods · 9738e488
      Phillip Webb 提交于
      Update `StandardAnnotationMetadata` to use `ReflectionUtils` when
      obtaining declared methods. This update is primarily so that the common
      method cache can be used.
      
      Closes gh-22907
      9738e488
    • P
      Skip java.lang.annotations when reading metadata · 1fa59378
      Phillip Webb 提交于
      Update `StandardAnnotationMetadata` and `AnnotationMetadataReadingVisitor`
      so that `java.lang.annotation` annotations are consistently skipped.
      
      Closes gh-22885
      1fa59378
    • P
      Don't expose RetentionPolicy.CLASS annotations · 8a293f51
      Phillip Webb 提交于
      Update ASM based metadata readers so that only RetentionPolicy.RUNTIME
      annotations are exposed. This aligned behavior with the reflection based
      implementation.
      
      Closes gh-22886
      8a293f51
    • P
      Add MergedAnnotations.of method · 9d6cf57c
      Phillip Webb 提交于
      Add a factory method to `MergedAnnotation` that allows an instance to
      be created for an explicit collection of root annotations. This method
      will allow ASM based readers to expose a `MergedAnnotation` instance
      that has root annotations loaded from bytecode, and meta-annotations
      loaded using reflection.
      
      See gh-22884
      9d6cf57c
    • P
      Support String->Class adaptation in MergedAnnotation · daec3531
      Phillip Webb 提交于
      Update TypeMappedAnnotation so that Strings can be used to represent
      Class attribute values. This will allow ASM annotation readers to
      present a `MergedAnnotation` instance without necessarily having the
      actual class values on the classpath.
      
      When the underlying value is a String, any calls to
      `getValue(name, String.class)` or `asMap(Adapt.CLASS_TO_STRING)` will
      simply return the original String. Calls that need the actual Class
      result (such as `getClass`) will use `Class.forName` and may throw
      a `ClassNotFoundException` at that point.
      
      This commit also allows an empty Object[] to be used to represent
      any empty primitive array.
      
      See gh-22884
      daec3531
    • P
      Polishing MergedAnnotation code · e11990e6
      Phillip Webb 提交于
      e11990e6
    • P
      Rename some MergedAnnotation `from` methods to `of` · d4a761ab
      Phillip Webb 提交于
      Rename `from` to `of` for the `MergedAnnotation` factory methods that
      work with Maps. The previous name was a little confusing, especially
      when an annotation source parameter was specified. The new method name
      helps to make it clearer when the user is explicitly defining the
      attributes of the annotation, as opposed to picking them up from the
      source.
      d4a761ab
    • P
      Add MergedAnnotation.getTypeHierarchy method · 3b145a5a
      Phillip Webb 提交于
      Add a `getTypeHierarchy()` method to `MergedAnnotation` that can be used
      to return the full type hierarchy information. This method is
      specifically designed to be used in combination with
      `MergedAnnotationPredicates.unique`.
      
      This update also allows us to delete the `parentAndType` method
      from `AnnotatedElementUtils`.
      
      Closes gh-22908
      3b145a5a
  2. 07 5月, 2019 4 次提交
  3. 06 5月, 2019 1 次提交
  4. 04 5月, 2019 2 次提交
  5. 03 5月, 2019 3 次提交
  6. 02 5月, 2019 1 次提交
  7. 01 5月, 2019 1 次提交
  8. 27 4月, 2019 4 次提交
  9. 26 4月, 2019 3 次提交
  10. 24 4月, 2019 1 次提交
  11. 21 4月, 2019 1 次提交
  12. 18 4月, 2019 2 次提交
  13. 17 4月, 2019 1 次提交
    • R
      LeakAwareDataBuffer related fixes · 375090bb
      Rossen Stoyanchev 提交于
      Following on 3ebbfa21 where the local
      refCount was removed in favor of using the internal refCount of the
      native data buffer, this commit ensures that LeakAwareDataBufferFactory
      uses a PooledDataBufferFactory delegate by default.
      
      There are also fixes for test issues with eager allocation uncovered by
      these changes in StringDecoder and ResourceDecoder.
      375090bb
  14. 12 4月, 2019 4 次提交