- Bumped version number.
- Added the generic
Table<T>
class as a supertype of all existing table classes. - Added the
BooleanTable
class. - Added an
average
method to all numeric table classes. - Added a few new convenience APIs.
- The
ObjectTable
class is now generic. - Improved generics for many Table-related APIs, improving type safety.
- Improved the
PatternBuilder
API. - Interacting with tables pointing to columns that were removed with
dropColumns
orselectColumns
now throws an exception. #5 - Naming a column twice in
selectColumns
now throws an exception.
- The
doubleTable.max
andfloatTable.max
methods now return their respective negativeMAX_VALUE
instead ofMIN_VALUE
.
- Transitioned many APIs from concrete implementation types like
ArrayList
orLinkedHashMap
to their respective interfaces likeList
orMap
.In places where this could not be done in-place, new APIs were added and the old ones deprecated. See the respective Javadocs for migration info.
- Deprecated some misplaced or accidentally public APIs.
Check for deprecation warnings and see the respective Javadocs for migration info.
- General code cleanup and minor optimizations.
- Added the name-agnostic
ObjectTable.expandAll
and.hasAnyLink
methods. - Added additional constraint building APIs to
PatternBuilder
. - Added debugging support to
PatternMatcher
. - Added support for multiple root patterns to
PatternMatcher
. - Added support for "any"-links to
PatternMatcher
by setting a role name to*
.
ObjectTable
no longer throws exceptions when an object cannot be reflected.- General improvements to the
PatternMatcher
API. - The
ObjectTable.hasLink
method now throws anIllegalArgumentException
if the other table does not share the same underlying data structure.
- Added many new
Table
andObjectTable
methods that allow specifying the source column name. #11