Skip to content

Zay-ES Core 1.6.0

Latest
Compare
Choose a tag to compare
@pspeed42 pspeed42 released this 04 Jan 18:13
· 15 commits to master since this release

A maintenance release with some API improvements, usability improvements, and some bug fixes.

Highlights: Being able to index fields and automatically perform some table structure updates when the classes change.

Change log:

  • Modified SqlEntityData to allowing specifying the max string size for the StringIndex (default is still 50 characters)
  • Modified StringTable to automatically upgrade the table if the specified max size is larger than the current column size.
  • Added EntityData.removeComponents() and implementations to various default implementations. Allows removing more than one component at a time similar to the way setComponents() can set more than one at a time.
  • Added SqlComponentFactory and refactored the SqlEntityData classes to use it. This allows overriding the default result set -> component creation to customize it for different object types.
  • Modified Name to be able to auto-truncate if the name exceeds the storage limit (80 characters), else it will throw an illegal argument exception.
  • Switched some SuppressWarnings("unchecked") with SafeVarargs.
  • Added CreatedBy.filter() for easily creating a ComponentFilter for createdBy.
  • Added an IndexedField annotation to mark fields that should use indexing when available.
  • Updated the es.sql code to look for IndexedField and create indexes for types with IndexedField fields.
  • Added basic support for primitive array types in the SQL layer.
  • Fixed a bug in the SQL layer when saving components with no fields.
  • Updated ComponentTable to automatically add new table fields with 'null' values.
  • Updated FieldTypes.PrimitiveField to support null DB values default to 0.
  • Added a Name.filter() convenience method.