Skip to main content

Why do JAXB generated classes have protected members and how can I change this?



I have been searching the internet for a reason why JAXB generated classes have protected members (all of them, regardless of inheritance).








I would like the members to be private instead.





My search has come up empty.





I have normal xsd files which are converted into java classes using maven and jaxb. Ideally the generated members should be private but I cannot find a way to achieve this.





Is there a way to modify this default behaviour?





Thanks.





[edited first sentence]


Comments

  1. I think the only way to achieve this is to develop a JXC plugin yourself, search google for samples.


    What Can A Plugin Do?

    An XJC plugin participates in the code generation from a schema. It
    can define its own customizations that users can use to control it, it
    can access the code that the JAXB RI generates, it can generate
    additional classes/methods/fields/annotations/comments, and it can
    also replace some of the pluggability points in the compilation
    process, such as XML name -> Java name conversion.


    Good luck?..

    ReplyDelete

Post a Comment

Popular posts from this blog

Slow Android emulator

I have a 2.67 GHz Celeron processor, 1.21 GB of RAM on a x86 Windows XP Professional machine. My understanding is that the Android emulator should start fairly quickly on such a machine, but for me it does not. I have followed all instructions in setting up the IDE, SDKs, JDKs and such and have had some success in staring the emulator quickly but is very particulary. How can I, if possible, fix this problem?