Why does JAXB 2 RI's XJC simple mode change collection names?

12,064

The "simple binding mode" is an extended feature of the JAXB RI (Metro). Making the collection property names plural was part of its design.

From: http://weblogs.java.net/blog/kohsuke/archive/2007/01/using_jaxb_ris.html

My favorite feature in the JAXB RI is the simpler and better binding mode, which makes the generated code even easier to use, by ...

  1. Eliminating JAXBElement as much as possible
  2. Giving you a better, more typed binding in general
  3. Use plural property names where applicable

You may be able to use the normal schema customizations to control the property name. Refer to one of my previous answers (link below):

Share:
12,064

Related videos on Youtube

User123456789
Author by

User123456789

Updated on May 22, 2022

Comments

  • User123456789
    User123456789 almost 2 years

    JAXB simple binding mode modifies collection names to their plural 'version', e.g. "additionalData" becomes "additionalDatas". Is there any solution to change this behavior? I need to have a Java field name and methods name equal to XSD field name. My bindings file:

    <?xml version="1.0" encoding="UTF-8"?>
    <bindings xmlns="http://java.sun.com/xml/ns/jaxb"
                xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance"
                xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
                xsi:schemaLocation="
    http://java.sun.com/xml/ns/jaxb http://java.sun.com/xml/ns/jaxb/bindingschema_2_0.xsd"
    version="2.1">
      <globalBindings>
        <serializable uid="1" />
        <xjc:simple/>
      </globalBindings>
    </bindings>
    
  • User123456789
    User123456789 about 13 years
    Is there any way to turn off this feature and keep using "simple binding mode"? Because I need it to add @XmlRootElement to generated classes.