Skip to content

Releases: big-andy-coates/populace

Release v1.1.1

11 May 22:04
Compare
Choose a tag to compare

Issues resolved can be found here

Release v1.1.0

07 May 21:45
Compare
Choose a tag to compare

Issues resolved can be found here

In addition:

  • Hardened JaxBInstanceFactory - better error messages, better test coverage and now correctly uses generic value type from XmlTypeAdapter, rather than raw type, when selecting instance factory for creating value type.

Release v1.0.0

09 Apr 21:10
Compare
Choose a tag to compare

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.

Release: v0.3.0

19 Mar 15:28
Compare
Choose a tag to compare

Incompatible changes:

  • Switched FieldFilter to use FieldInfo, rather than raw fields, and renamed evaluate to a clearer include
  • Switched Inspector to return collection of RawField abstraction, rather than java.lang.reflect.Field, to enable later move to using bean getter/setters to define fields exposed.
  • Corrected package structure.

Improvements:

  • Documentation improvements
  • Error message improvements.
  • #18 support for inherited fields

First release: v0.2.0

12 Mar 08:49
Compare
Choose a tag to compare

Initial JaxB support!

  • @XmlJavaTypeAdapter - Class level annotations are now supported. The specified ValueType will be instantiated where needed, not the BoundType. Field level annotations are not yet supported.
  • @XmlTransient - Field level annotations are now supported. Any field marked as @XmlTransient will be ignored. Getter/Setter level annotations are not yet supported.

Plus:

  • Added support for package level inspectors e.g. to stop code traversing into the internals of types within java.* packages
  • Streamlined how immutable typed collections of Inspectors, Mutators, and InstanceFactories are manipulated within the client API
  • Changed the FieldVisitor callback from the GraphWalker to take an extendible FieldInfo object
  • Support for BigDecimal
  • Added EnsureNullMutator, for those times when you want to null out a field
  • Removed ChainableInstanceFactory, and replace with the concept that a factory should return null if asked to instantiate a type it doesn't support.
  • Added specific NullObjectStrategy, with a logging implementation

v0.1.2.2 Alpha Release - With Type Variable Resolution

05 Mar 00:43
Compare
Choose a tag to compare

Big change this version is the introduction of support for the resolution of TypeVariable information.

This is still very much a pre-release. But it is at least now starting to move towards a working solution.

Alpha Version 0.1.2.1-alpha

04 Mar 00:23
Compare
Choose a tag to compare
Pre-release

Released to enable on-site client testing.

Resolved issues

#1 Added support for enums
#2 Exposed inspectors from populator builder.

Alpha release - very much work in progress

01 Mar 23:40
Compare
Choose a tag to compare

This initial release comes as-is and with little documentation. Mainly releasing to test release process and to allow me to integrate with some client's build systems to allow more testing.