Skip to content

Releases: KirstenZa/xtend-etai

Release 1.3.2

06 May 12:05
Compare
Choose a tag to compare

Enhancements:

  • Removed some deprecated function calls
  • Update of Gradle files (tested with JDK 17, Xtend 2.30.0)

Release 1.3.1

28 Jan 13:57
Compare
Choose a tag to compare

Bug Fixes:

  • Minor fixes in unit tests ("Ambiguous feature call" - Xtend 2.24.0)

Release 1.3.0

05 Nov 00:37
Compare
Choose a tag to compare

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

05 Sep 21:24
Compare
Choose a tag to compare

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

24 Feb 17:27
Compare
Choose a tag to compare

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

25 Jan 22:32
Compare
Choose a tag to compare

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

03 Jan 20:00
Compare
Choose a tag to compare

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

17 Dec 20:28
Compare
Choose a tag to compare

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

10 Jun 19:56
Compare
Choose a tag to compare

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

15 Apr 15:27
Compare
Choose a tag to compare

This is the initial release.