Releases: CadixDev/Bombe
Releases · CadixDev/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 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.
0.2.0
Bombe 0.2.0 continues the Bombe mission, further working towards making a cleaner codebase
that can be used further afield than Lorenz or Survey.
Big thanks to @Minecrell, for his help towards this release!
Changes
- Parsing for Types and MethodDescriptors has been overhauled, using readers for the both. This
provides a much cleaner solution than what existed previously - dramatically improving the
parsing of MethodDescriptors specifically. - The dependency on Guava has been dropped.
- A PrimitiveType interface has been introduced, providing a direct replacement for the
PrimitiveType enum that previously existed in Lorenz. - The 'convenience' signature constructors have been replaced with
#of(String, String)
methods.