I have been using from XDoclet1 the VO plugin which was working fine (except having no support for generics). I'm not talking about the EJB plugin's VO functionality, but the standalone VO plugin. Well XDoclet2 doesn't have this plugin anymore... It wouldn't have been such a big deal if I had discovered how to create MULTIPLE files out of one single input.
Remember the old VO? You'd give a Java class a few annotations like this, telling how many VOs should be created from the class:
@vo:value-object name="FirstVO" match="First"
@vo:value-object name="AnotherVO" match="Second"
then for each field you could tell which generated VO has accessors for it based on the "match" keyword:
I could imagine calling a regular plugin a few times, but this is just a silly approach - I don't know how many times should that one be called, and I can't iterate in the Ant task on the class metadata either. Hardcoding everything in the Ant file is a even weaker solution.
I thought I would need a new plugin for this, and I checked how to write it. One has to go as high as reimplementing the org.generama.Plugin because there's where the rule "one output/input" is decided (in start()). Subclassing Plugin is not an option as pretty much all its fields are private (and I'd have to duplicate all the code from JavaGeneratingPlugin and QDoxPlugin). Then I have no description on what actually a metadata should contain :) and generally speaking there's no documentation of the 1.0.4 plugins release, of 1.0.5 even less (the release is not even mentioned on the site just in an email). The Maven
build is missing a couple of dependencies for the 1.0.4 plugins and I miss the sources for 1.0.5 to even try. Did I mention I hate Eclipse M2E? Shortly put: I see no chance of doing it myself.
Do you have any hint for me, how could I generate multiple files out a single Java input? Honestly said, at this moment patching together a QDox+Velocity Ant task looks to me an easier approach than using XDoclet2 :(
Thanks a lot,