Skip to content

Release v1.0.0

Compare
Choose a tag to compare
@big-andy-coates big-andy-coates released this 09 Apr 21:10

Breaking change.

Bigger changes

  • Introduced concept of AnnotationInspector to retrieve annotations from RawFields, with Jaxb module adding some specifically to support picking up annotations of getters and setters.
  • #27 extended support for XmlTransient to cover getter, setters and class level annotations.
  • #32 Sets are now fully supported and can be mutated.
  • Introduced concept of ElementVisitor on a graph walk
  • Inspectors now return container elements as RawElement instances.
  • Container elements are now wrapped in ElementInfo before being visited by ElementVisitor
  • Added LoggingCollectionInspector that can be used to log when a Collection of immutable types is encountered, (as the elements of Collections of immutable types can be mutated).
  • #38 support for generic runtime types added e.g. if a field is of type Map<String, Number> and the value of the field is HashMap, then the runtime generic type of the field is determined to be `HashMap<String, Number>. This type information is used when looking up which mutator/inspector/instanceFactory to use for a specific field.

Minor fixes:

  • #18 Maven central support added
  • #21 Improve error messages.
  • Improved readme / help.
  • Improved support for array fields.

Known incompatibilities with previous release

  • Calls to FieldElement#getGenericType and ElementInfo#getGenericType will now throw a FieldAccessExcpetion is ensureAccessible has not been previously called, as its using the current value to enrich type information.