0.3.0
Pre-release
Pre-release
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 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 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 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.