Комментарии в перечислениях, импортированных из XSD wsimport - PullRequest
3 голосов
/ 11 февраля 2011

есть ли способ получить комментарии из XSD в код Java с помощью wsimport? Например, у меня есть XSD-файл

<!-- Enumerace /model/user/UserLevel.java -->
<xs:simpleType name="userLevel">
    <xs:restriction base="xs:string">
        <!-- basic user -->
        <xs:enumeration value="BASE"/>
        <!-- team leader -->
        <xs:enumeration value="TL"/>
        <!-- section leader -->
        <xs:enumeration value="SL"/>
    </xs:restriction>
</xs:simpleType>

и я хочу, чтобы мой сгенерированный класс java enum выглядел примерно так:

@XmlType(name = "userLevel")
@XmlEnum
public enum UserLevel {
    /**
     * basic user
     */
    BASE,
    /**
     * team leader
     */
    TL,
    /**
     * section leader
     */
    SL;
}

Возможно ли это вообще сначала в контракте (например, код Java, сгенерированный из XSD)?

1 Ответ

1 голос
/ 18 марта 2011

Хорошо, я нашел решение, это в XSD:

<xs:simpleType name="MyEnum">
    <xs:restriction base="xs:string">
        <xs:enumeration value="STANDARD">
            <xs:annotation>
                <xs:documentation>
                    This is a comment.
                </xs:documentation>
            </xs:annotation>
        </xs:enumeration>
    </xs:restriction>
</xs:simpleType>

производит перечисление Java, такое как:

@XmlType(name = "MyEnum")
@XmlEnum
public enum MyEnum {


    /**
     * 
     *                         This is a comment.
     *                     
     * 
     */
    STANDARD,

    public String value() {
        return name();
    }

    public static MyEnum fromValue(String v) {
        return valueOf(v);
    }

}

Единственная проблема заключается в том, что xs: документация не игнорируетпробел, поэтому в комментариях много пустого места.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...