2013-12-26 4 views
0

Предположим, у меня есть класс A, который содержит класс B. Вызов A s конструктор создает экземпляр finalB, который может быть найден с помощью метода getB(). B имеет собственную внутреннюю структуру и элементы, которые должны быть созданы JAXB.Изменить вместо создания объекта с помощью JAXB

Как сделать так, JAXB изменяет экземпляр A «х B вместо создания нового B

Пример кода:

public class A { 
    public final B b; 

    public void getB() { 
     return B; 
    } 

    public A() { 
     this.b = new B() 
    } 
} 

public class B { 
    // Elements and things that JAXB needs to save 
} 

Желаемые XML

<A> 
    <b> 
     [...] 
    </b> 
</A> 
+0

Вы должны вернуть B в метод getter – Keerthivasan

+0

@Octopus Я уже –

ответ

0

Этот не самый DRY или действительно отличное решение, но то, что я придумал было создать метод setB(), , но вместо метода, выполняющего что-то вроде this.b = b, он просто копирует необходимые свойства с b, поэтому this.b.property = b.property. После этого я просто помещаю гигантский капитализированный комментарий, кричащий на всех остальных, чтобы не использовать сеттер, если они не являются именем JAXB.

Смежные вопросы