Skip to content

0.6.0

Choose a tag to compare

@iSnow iSnow released this 09 Dec 00:24

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 a String[] for each row
  • iterator() and not the overloaded version. It returns a Object[] for each row
  • mappingIterator() and overloaded version, which both return rows as Map<String, Object>
  • iterator(boolean keyed, boolean extended, boolean cast, boolean relations) which can return anything from String[] over Object[] to Map<String, Object>, depending on the keyed, extended, cast , relations flags. To accommodate this, it now just returns Object and 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.