0.6.0
Breaking changes
If you are coming from an earlier version like 0.2.0, you will have to change a couple of imports as I broke the API to straighten the declared return types of the Iterator you can build on a Table by the method iterator() and it's overloaded versions.
Iterators
In earlier , most iterators declared they return Object[], which lead to ClassCastExceptions in some cases where they returned Map instances.
We now have:
stringArrayIterator()and overloaded version, which both return aString[]for each rowiterator()and not the overloaded version. It returns aObject[]for each rowmappingIterator()and overloaded version, which both return rows asMap<String, Object>iterator(boolean keyed, boolean extended, boolean cast, boolean relations)which can return anything fromString[]overObject[]toMap<String, Object>, depending on thekeyed,extended,cast,relationsflags. To accommodate this, it now just returnsObjectand you have to look at the actual type and cast your data.
Package renamed
Also renamed datasourceformat package and the classes therein to tabledatasource to make their purpose clearer as they evolved away from having the primary responsibility of defining the format of the data to being the data source holding the data for the table.
Schema validation
Fixed an omission in Schema validation to return the results of the formal validation against the frictionless meta-schema and better handle foreign key violations during schema validation.