This customization forces the Java enum name to be whatever is the
value of @name.
<xs:schema xmlns:xs="
http://www.w3.org/2001/XMLSchema"
xmlns:jaxb="
http://java.sun.com/xml/ns/jaxb"
targetNamespace="model"
jaxb:version="2.0">
<xs:simpleType name="psType">
<xs:annotation>
<xs:appinfo>
<jaxb:typesafeEnumClass>
<jaxb:typesafeEnumMember name="BETA2" value="beta2"/>
</jaxb:typesafeEnumClass>
</xs:appinfo>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="one"/>
<xs:enumeration value="two"/>
<xs:enumeration value="beta2">
...
-W
On 26 October 2010 14:23, Jean_at_Eastcode <jean.eastcode_at_gmail.com> wrote:
>
> Hi Wolfgang,
>
> very good piece of example, highly helpful for me.
>
> I finally made it with my enums in a specific "model" package, and with one
> invocation of XJC only.
> Somehow, I get two ObjectFactory.java generated, one per package/namespace.
> But the one for the "model" is just empty. Isn't there a way to generate one
> only?
>
> I've got a bigger problem though, hopefully easy to solve through some
> configuration that I can't find:
>
> I've got an Enum that has a value BETA2, containing a number. This triggers
> the generation of a specific Java enum class, as follow:
>
> public enum TrainingOrigin {
>
> EXTRANET("EXTRANET"),
> INTRANET("INTRANET"),
> @XmlEnumValue("BETA2")
> BETA_2("BETA2");
> private final String value;
>
> TrainingOrigin(String v) {
> value = v;
> }
>
> public String value() {
> return value;
> }
>
> public static TrainingOrigin fromValue(String v) {
> for (TrainingOrigin c: TrainingOrigin.values()) {
> if (c.value.equals(v)) {
> return c;
> }
> }
> throw new IllegalArgumentException(v);
> }
> }
>
> I need to keep the value as BETA2, and not BETA_2.
>
> Would you happen to know how to control this in the generation?
>
> cheers
> -jean
>
>
> Wolfgang Laun-2 wrote:
>>
>> You just put the simple type into another schema with another namespace.
>>
>> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
>> xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
>> targetNamespace="model"
>> version="2.0">
>>
>> <xs:simpleType name="psType">
>> <xs:restriction base="xs:string">
>> <xs:enumeration value="one"/>
>> <xs:enumeration value="two"/>
>> </xs:restriction>
>> </xs:simpleType>
>>
>> </xs:schema>
>>
>> This is imported from the other schema:
>> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
>> xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
>> targetNamespace="package"
>> xmlns:m="model"
>> xmlns:p="package"
>> version="2.0">
>>
>> <xs:import namespace="model" schemaLocation="enum.xsd"/>
>>
>> <xs:element name="doc" type="p:DocType"/>
>>
>> <xs:complexType name="DocType">
>> <xs:sequence>
>> <xs:element name="Topo" type="m:psType"/>
>> <xs:element name="Count" type="xs:int" default="1" minOccurs="0"/>
>> </xs:sequence>
>> </xs:complexType>
>>
>> </xs:schema>
>>
>> -W
>>
>>
>>
>>
>>
>>
>> On 26 October 2010 09:37, Jean_at_Eastcode <jean.eastcode_at_gmail.com> wrote:
>>
>>>
>>> Actually, the Enum XJC generates are fine.
>>> I just want to be able to specify their package, as I don't want it to be
>>> the same as the other generated classes.
>>>
>>> Is this at all possible?
>>>
>>> -jean
>>>
>>>
>>> Wolfgang Laun-2 wrote:
>>> >
>>> > xjc generates enum types from xs:string with restriction/enumeration.
>>> It
>>> > should, however, be possible to use an Adapter to map the Schema type
>>> > to your model enum types.
>>> > -W
>>> >
>>> > On 25 October 2010 12:20, Jean_at_Eastcode <jean.eastcode_at_gmail.com>
>>> wrote:
>>> >
>>> >>
>>> >> Hi,
>>> >>
>>> >> I'm using jaxb2-maven-plugin to get automatic generation of my Java
>>> >> bindings
>>> >> from XSDs.
>>> >>
>>> >> I'm introducing the use of Enums, hence I have to create simpleTypes
>>> that
>>> >> maps the Java Enum values.
>>> >>
>>> >> The XSD as well as the generated classes are all in a binding
>>> "package"
>>> >>
>>> >> The enums are in a different package since they are not autogenerated,
>>> >> called "model".
>>> >>
>>> >> I want the generated classes to use the original Java "model" enum,
>>> but
>>> >> jaxb
>>> >> keep generating them into "binding".
>>> >>
>>> >> I've split all the simpleType corresponding to the Java enums in a
>>> >> EnumTypes.xsd that I put in "model" but still, corresponding Java
>>> enums
>>> >> are
>>> >> always created in "binding".
>>> >>
>>> >> Is there a way to generate EnumsTypes.xsd classes in "model", and to
>>> have
>>> >> classes generated into "binding" be linked to them?
>>> >>
>>> >> FYI, here's my plugin config:
>>> >>
>>> >> <plugin>
>>> >> <groupId>org.codehaus.mojo</groupId>
>>> >> <artifactId>jaxb2-maven-plugin</artifactId>
>>> >> <version>1.3</version>
>>> >> <executions>
>>> >> <execution>
>>> >> <id>binding</id>
>>> >> <goals>
>>> >> <goal>xjc</goal>
>>> >> </goals>
>>> >> <configuration>
>>> >>
>>> >>
>>> >>
>>> <schemaDirectory>src/main/resources/com//comp/project/app/common/binding</schemaDirectory>
>>> >>
>>> >> <packageName>com.comp.project.app.common.binding</packageName>
>>> >>
>>> >> <outputDirectory>src/main/generated</outputDirectory>
>>> >> <clearOutputDir>false</clearOutputDir>
>>> >> </configuration>
>>> >> </execution>
>>> >> <execution>
>>> >> <id>model</id>
>>> >> <goals>
>>> >> <goal>xjc</goal>
>>> >> </goals>
>>> >> <configuration>
>>> >>
>>> >>
>>> >>
>>> <schemaDirectory>src/main/resources/com/comp/project/app/common/model</schemaDirectory>
>>> >>
>>> >> <packageName>com.comp.project.app.common.model</packageName>
>>> >>
>>> >> <outputDirectory>src/main/generated</outputDirectory>
>>> >> <clearOutputDir>false</clearOutputDir>
>>> >> </configuration>
>>> >> </execution>
>>> >> </executions>
>>> >>
>>> >> cheers
>>> >>
>>> >>
>>> >> --
>>> >> View this message in context:
>>> >>
>>> http://old.nabble.com/Generating-Java-bindings-in-different-packages-tp30046469p30046469.html
>>> >> Sent from the java.net - jaxb users mailing list archive at
>>> Nabble.com.
>>> >>
>>> >>
>>> >> ---------------------------------------------------------------------
>>> >> To unsubscribe, e-mail: users-unsubscribe_at_jaxb.dev.java.net
>>> >> For additional commands, e-mail: users-help_at_jaxb.dev.java.net
>>> >>
>>> >>
>>> >
>>> >
>>>
>>> --
>>> View this message in context:
>>> http://old.nabble.com/Generating-Java-bindings-in-different-packages-tp30046469p30054965.html
>>> Sent from the java.net - jaxb users mailing list archive at Nabble.com.
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe_at_jaxb.dev.java.net
>>> For additional commands, e-mail: users-help_at_jaxb.dev.java.net
>>>
>>>
>>
>>
>
> --
> View this message in context: http://old.nabble.com/Generating-Java-bindings-in-different-packages-tp30046469p30056982.html
> Sent from the java.net - jaxb users mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_jaxb.dev.java.net
> For additional commands, e-mail: users-help_at_jaxb.dev.java.net
>
>