Release v1.0.0
Breaking change.
Bigger changes
- Introduced concept of
AnnotationInspector
to retrieve annotations fromRawField
s, 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
Set
s 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 aCollection
of immutable types is encountered, (as the elements ofCollection
s 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 isHashMap
, 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
andElementInfo#getGenericType
will now throw aFieldAccessExcpetion
isensureAccessible
has not been previously called, as its using the current value to enrich type information.