Я использую JAXB для создания POJO из WADL xsd. Я скачал xsd напрямую с W3C. Однако я бы хотел, чтобы у одного из моих POJO был вспомогательный метод, который позволял бы мне рекурсивно проходить через него, например:
public Stream<WadlResource> flattenPath() {
return Stream.concat(
Stream.of(this),
this.methodOrResource.stream()
.filter(WadlResource.class::isInstance)
.map(WadlResource.class::cast)
.flatMap(WadlResource::flattenPath) // recursion here
);
}
Обратите внимание на использование this
. Этот метод - единственный способ рекурсии с потоком, который я видел.
Итак, мой вопрос: как добавить этот метод, чтобы он генерировался вместе с xsd? Это хорошая практика? Или я должен просто сгенерировать код один раз, добавить метод и проверить его в моем репо (что НЕ похоже на хорошую практику). ТИА!