Создайте дополнительный пользовательский метод с помощью jaxb-xjc - PullRequest
11 голосов
/ 02 февраля 2011

Есть некоторый способ создать собственный метод в классе, созданном с помощью JAXB.

Я ищу учебники, в том числе и у оракула, но не нашел четких инструкций, как я могу настраивать методы для сгенерированного класса, описанного в XML-схеме.

Ответы [ 2 ]

7 голосов
/ 14 июля 2011

Я считаю, что лучшим способом добавить пользовательское поведение является следующее:

https://javaee.github.io/jaxb-v2/doc/user-guide/ch03.html#compiling-xml-schema-adding-behaviors

Можно реализовать пользовательское поведение для сгенерированного JAXB класса BaseType в пользовательском классе BaseTypeExt, который расширяет сгенерированный JAXB класс BaseType.

Вы также указываете JAXB использовать расширенный класс BaseTypeExt (вместо расширяемого класса BaseType) в качестве базового класса для всех классов, которые обычно расширяют класс BaseType.

Я успешно использовал это для переопределения метода toString () в моем сгенерированном классе BaseType.

Это кажется проще, чем написание плагина XJC.

6 голосов
/ 02 февраля 2011

Вы можете написать плагин XJC:

...