the clone() method generated is now much simpler to read, it generates something like:
public Object clone() {
Foo inst = new Foo();
inst.a = this.a;
if (foo instanceof Cloneable
&& this.foo != null) {
inst.foo = (Foo) this.foo.clone();
}
return inst;
}
The CVS version (soon to be 1.4) has support for the @generated tag in javadoc comment, using this feature to prevent overwritting customized methods.
The new version of the plugin currently supports generating to String with field access or getter access. adding or excluding static final fields in tostring, and generating equals with field access of getter (people using hibernate requested this). All these options can be set in the preferences page.
the toString method now has a pretty nice logic for supporting inheritance. all non private fields inherited are added, for private fields the getter is called if available.
This should be the starting point for adding inheritance support for other generations.