Releases: KirstenZa/xtend-etai
Releases · KirstenZa/xtend-etai
Release 1.3.2
Release 1.3.1
Bug Fixes:
- Minor fixes in unit tests ("Ambiguous feature call" - Xtend 2.24.0)
Release 1.3.0
Features:
- Generated adder and remover methods for maps now support the call of change methods
Enhancements:
- Improved implementation of generated clear methods for collections (retrieving elements inside synchronization lock)
Release 1.2.0
Features:
- New trait method type which together with applying rules allow for priority-based definition of envelope methods (@PriorityEnvelopeMethod)
Enhancements:
- Added some additional checks and improved detection of trait methods (test cases adjusted)
- Flag "required" (e.g. for envelope methods) must not be specified together with default value provider
- Trait methods annotated by @RequiredMethod do not require the method to be implemented already in the extended class any more, if it is declared abstract
- Rework within ReflectUtils and improvement of some internal calls
- Improvements in handling final methods (e.g. within trait classes)
Bug Fixes:
- Fixed some errors if using different parameter names in trait method and extended method
- Fixed extension of classes which have private methods in base class with the same name as an applied trait method
- Added some additional constraints for wrong usage of trait method redirection
- Keyword final in extended class does not prevent extension by (multiple) trait methods
Release 1.1.3
Enhancements:
- Additional protection for constructor calls in classes applying factory classes or methods
- It is not necessary any more to call super methods within trait classes via "$impl"
Bug Fixes:
- Fixed problems with protected trait methods using generics within parameters
Release 1.1.2
Enhancements:
- Bidirectional connections between fields via @BidirectionalRule are now possible, if type parameters (together with "extends" information) are used
- Trait methods can now be declared final
- Build via Gradle available
Bug Fixes:
- Bidirectional rules within trait classes now use $extendedThis for setting references between each others
- Update of some deprecated code
Release 1.1.1
Enhancements:
- Change methods for adder/remover methods can now provide a list containing all elements before/after the change
Bug Fixes:
- Removing multiple elements from lists is now performed exactly in given order
- Fix in documentation for "change methods": beforeElementAdd/beforeElementRemove is performed before beforeAdd/beforeRemove
Release 1.1.0
Features:
- Adaption rules for generating getter/setter methods for non-public fields: @GetterRule, @SetterRule (with special possibilities for collection/map types)
- Adaption rules for generating adder/remover methods for non-public fields (collection/map types): @AdderRule, @RemoverRule
- Marking fields with @NotNullRule will adapt the generation of methods for that fields (with special possibilities for collection/map types)
- Run methods on events triggered by getters/setters/adders/removers, i.e. if values/references are changed or elements are added/removed
- Methods triggered by getters/setters/adders/removers can be called before or after the change and information about the change can be provided
- Bidirectional connections managed via setters/adders/removers (not finished, yet): @BidirectionalRule
- Options for using getters/setters/adders/removers in multi-threading scenarios: @SynchronizationRule
Enhancements:
- Trait method processors now get more data (LazyEvaluation interface enriched) in order to control trait methods processing
- Type adaption rules generate assertions if method parameters are annotated (no adaption in the method's signature)
Bug Fixes:
- Overriding trait methods in extended classes does not require to use the same parameter names any more
- Fixed error detection issue for TypeAdaptionRule on constructors
- Fixed several issues if using type adaption on overloaded constructors/methods
Release 1.0.1
Features:
- Generation of non-final factory instance variables (@FactoryMethodRule flag)
- Factory classes can be generated with inheritance (@FactoryMethodRule flag)
- Return type adaption for factory method generation (@FactoryMethodRule parameter)
- Predefined Adaption Variables: var.class.typeparameter and var.class.typeparameter.count
Bug Fixes:
- Removed unnecessary private/public modifiers in code (warnings since Xtend 2.14.0)
Release 1.0.0
This is the initial release.