Bombe 0.3.0
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 simplybombe
, becoming more inline with the Lorenz modules. Type#isInstanceof
has been renamed toType#isAssignableFrom
.
Inheritance providers
InheritanceProvider
has been reworked to expose inheritance access levels (represented
by InheritanceType
) and to improve performance.
InheritanceProvider.ClassInfo#getFields
andgetMethods
now return aMap<*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 provideClassInfo
s for all parent classes/interfaces for a class, recursively. (Replaces thegetParentsOf
method)- There is a new
CachingInheritanceProvider
that wraps an existingInheritanceProvider
and caches the request. This replaces the duplicated functionality in all otherInheritanceProvider
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.