You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Bjorn Thor Jonsson (JIRA)" <ji...@apache.org> on 2011/02/24 14:11:38 UTC

[jira] Commented: (CXF-3354) XJC Cloneable plugin

    [ https://issues.apache.org/jira/browse/CXF-3354?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12998834#comment-12998834 ] 

Bjorn Thor Jonsson commented on CXF-3354:
-----------------------------------------

After implementing this cxf-xjc-cloneable plugin I've found [CC-XJC|http://ccxjc.sourceforge.net/] which does a better job handling the standard Java Collections which don't implement Cloneable, so CC-XJC uses Cloneable where possible and then iterates over all Java Collections instances and appropriately calls `.clone()` on their elements.

If I've already found CC-XJC I wouldn't have implemented my own plugin but it was a fun exercise :)

> XJC Cloneable plugin
> --------------------
>
>                 Key: CXF-3354
>                 URL: https://issues.apache.org/jira/browse/CXF-3354
>             Project: CXF
>          Issue Type: New Feature
>          Components: Tooling
>    Affects Versions: 2.2.8
>            Reporter: Bjorn Thor Jonsson
>            Priority: Minor
>              Labels: cloneable, plugin
>         Attachments: cxf-xjc-cloneable.jar
>
>
> Attached is an XJC plugin that adds {{implements Cloneable}} and a {{clone()}} method to all generated schema classes:
> {code:title=FooSchema.java}
> public Object clone() throws CloneNotSupportedException {
>     return super.clone();
> }
> {code}
> To use with CXF just pass in the {{-xjc-Xcloneable}} argument and make sure the attached JAR file is on classpath along with the dependency {{jaxb-xjc-2.1.12.jar}}.
> Source is included in the JAR.  Implemented for Siminn (http://www.siminn.is/ - http://siminn.com/) and contributed with permission.
> Maybe something to include at http://cxf.apache.org/xjc-utils.html ?

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira