Michael Lipp created GROOVY-8284:
Summary: getMetaClass should be annotated as (JavaBeans) transient
Issue Type: Bug
Affects Versions: 2.4.12
Reporter: Michael Lipp
All groovy classes have the "getMetaClass()" method. This breaks the (e.g. XML)
serialization of groovy classes that are supposed to represent JavaBeans.
While the serialization provided with Serializable or Externalizable examines
the attributes of a class, the special JavaBeans serialization provided by
serializers based on
relies on the information provided by the
With respect to persistence, the PropertyDescriptor for "getMetaClass" should
have the attribute value "transient" set. The Introspector generates this value
if the method has been annotated as
Because this value is currently missing, the Encoder tries to serialize the
MetaClass information, which fails.
The groovy compiler should therefore annotate the "getMetaClass" method with
the runtime annotation "java.beans.Transient".
This message was sent by Atlassian JIRA