Skip to content

0.3.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@jamierocks jamierocks released this 30 Dec 17:53
· 76 commits to develop since this release
4b5310c

Bombe 0.3.0 continues the Bombe mission, further working towards making a cleaner codebase
that can be used further afield than Lorenz or Survey.

Changes

  • The bombe-core module has been renamed to simply bombe, becoming more inline with the
    Lorenz modules.
  • Type#isInstanceof has been renamed to Type#isAssignableFrom.

Inheritance providers

InheritanceProvider has been reworked to expose inheritance access levels (represented
by InheritanceType) and to improve performance.

  • InheritanceProvider.ClassInfo#getFields and getMethods now return a
    Map<*Signature, InheritanceType> that allows checking if a child class actually inherits
    a member from its parent class based on its access level.
  • InheritanceProvider.ClassInfo#provideParents is a shortcut to provide ClassInfos for all
    parent classes/interfaces for a class, recursively. (Replaces the getParentsOf method)
  • There is a new CachingInheritanceProvider that wraps an existing InheritanceProvider and
    caches the request. This replaces the duplicated functionality in all other
    InheritanceProvider implementations.
  • ReflectionInheritanceProvider was added as a reference implementation based on Java's
    reflection API.

Jar Transformation Framework

Bombe now contains a so-called 'jar-file transformation framework', that facilitates the
reading and manipulating of Jar files. The javadocs will be the best reference for it :)

Going forward, this may be moved into a separate library.