Hello all,
I'm getting crazy because I can't understand what I'm doing wrong.
Consider this (it can be pasted on the Groovy console):
|import groovy.transform.TupleConstructor||
||
||public class Foobar {||
|| private Long id;||
||||
|| public Long getId() { return this.id; }||
|| public void setId(Long id) { this.id = id; }||
||}||
||
||@TupleConstructor(includeSuperProperties=true)||
||class Ext extends Foobar {||
|| String foo||
||}||
||
||Ext.constructors.each {||
|| println it||
||}||
||println 'end'|
The result is just:
public Ext(java.lang.String)
public Ext()
end
But isn't |id| a property (as per the Java beans conventions)???
If I replace |includeSuperProperties=true| with
|includeSuperFields=true|, I get the expected result:
public Ext()
public Ext(java.lang.Long)
public Ext(java.lang.Long,java.lang.String)
end
But in more complex cases, |includeSuperFields=true| will include
unwanted fields that are not actually properties.
What am I doing wrong?
Thanks in advance,
Mauro