• Version 4.0.2

    nivertius 6 months ago 22 commits to master since this release

    • Change license to Apache 2.0
    • Use MethodHandles#privateLookupIn rather than private Lookup constructor
  • Version 4.0.1

    nivertius 6 months ago 26 commits to master since this release

    • Fix MethodInvocation handle creation under Java 14
    • Allow compilation/testing under Java 14
  • Version 4.0.0

    nivertius 6 months ago 32 commits to master since this release

    Every public API element now has javadoc. This version was released to Maven Central (as opposed to previous versions).


    • Proxy

      • Simplify ProxyBuilder. It is builder pattern separated from actual proxy instantiation by ProxyService.
      • Cleanup LazyInitialization
      • Invocation was completely reworked. It is now a functional interface that has a MethodReference as an base implementation.
      • Mark proxy services as non-public
    • Query

      • Restrict extensions to package for queries
      • Allow filtering AnnotationQuery by unrelated type
      • Set filtering elements of query by Type, not Class
      • TypeFilter now accepts Type instead of Class
      • Remove barely used RelatedTypeQuery
      • Change GenericsQuery into more readable TypeView
    • Other

      • Rename classes in .bean package with better names
      • Remove ObjectMethods#REGISTER_NATIVES
      • Copy property values only to beans
      • Remove referencedMethodName from functional introspection
      • Extract FunctionalReference.Introspection implementation as separate class
      • Redesign parameter type and annotations access for FunctionalReference
      • Rename ClassQuery instantiation for classpath, fix non-URLClassLoader


    • Add FieldIntrospection#typeView
    • Allow unrolling repeatable annotations in AnnotationQuery
    • AnnotationBuilder is now immutable
    • Allow compilation in JDK 11
    • Add adapter from list of annotations to query
    • Allow replacement of method and arguments in MethodInvocation
  • 3.2.0

    nivertius 2 years ago 135 commits to master since this release

    • Add methods for extracting return and parameter types from functional reference
  • 3.1.0

    nivertius 2 years ago 140 commits to master since this release

    • Add Visitor partial implementation for single visit method
    • FunctionReference uses provided implementation classloader
    • Don't create proxy by reflected constructor
    • Stop using deprecated accessibility checks
    • Ignore classes that must be tested for annotation or supertype, but cannot be loaded
  • 3.0.0

    nivertius 2 years ago 149 commits to master since this release

    Incompatible changes:

    • Remove limited-use ReferenceExtractor

    Added features:

    • Add functional interface which can be introspected
    • Add reading method signature

    Bug fixes:

    • Correctly check overriding methods based on modifiers and package
  • 2.0.0

    nivertius 2 years ago 155 commits to master since this release

    Incompatible changes:

    • Cleaned bean package
    • Invocation became interface
    • GenericsQuery resolves any Type, not just Class.

    Added features:

    • Construction of arbitrary annotation instances in runtime
    • Extraction of Method object for some functional interfaces
    • Quick check if query contains value
    • ExecutableQuery#parameterCount
    • Composite FieldQuery
    • InheritanceQuery can be filtered for types that has been annotated by provided annotation
    • MethodQuery can be filtered for only non-overriden methods
    • ParameterFilter for methods that can be excuted with provided arguments
    • TypeFilter conjuction, disjunction and negation
    • TypeFilter for primitives
    • ObjectMethods with pre-fetched Method instances for Object

    Bug fixes:

    • ClassQuery will no longer fail if any class loading fails with custom exception
    • ClassQuery will no longer fail if jar is empty or has empty manifest
    • Use SecurityManager for setting accessibility of fields, methods and constructors
  • 1.1.0

    nivertius 3 years ago 213 commits to master since this release

    • Added querying for Class on Classloader,
    • Added querying for Constructor,
    • Added more flexible parameter filter and type filter to queries,
    • Queries for annotation now allow finding annotations that are themselves annotated,
    • Queries for members allow searching by name pattern,
    • Queries for members allow marking members as accessible when iterating over them,
    • Added possibility of requiring specified modifier on members,
    • Added generics queries on Method, Field and Parameter,
    • Allow replacing Invocation receiver
  • 1.0.0

    nivertius 3 years ago 309 commits to master since this release

    Initial release, including:

    • Reflection queries,
    • Builders for proxies,
    • Simplified beans and properties,
    • Some injections handling.