Jaxb - generowanie mapowan z pliku xsd

Jaxb - generowanie mapowan z pliku xsd
  • Rejestracja: dni
  • Ostatnio: dni
0

hej,
mam plik xsd i uzywam intellij i wbudowanego pluginu JAXB do wygenerowania klas.
Mam pytanie bo jak mam jakieś pole required w pliku xsd to nie wiem jak skonfigurowac ten plugin aby mi wygenerował ten obiekt z od razu nowa instancja: czyli mam np.

Kopiuj
Address address;

a chciałbym aby było:

Kopiuj
Address address = new Address();

dzieki

YA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2384
0

Mam głupie pytanie, to Twoje wymaganie nie jest bez sensu?

JAXB zamienia XML na Obiekt i w drugą stronę i daje możliwość weryfikacji względem schemy. Po kiego grzyba Ci ten Address i jak niby miałby być zainicjalizowany wartościami?

  • Rejestracja: dni
  • Ostatnio: dni
0
yarel napisał(a):

Mam głupie pytanie, to Twoje wymaganie nie jest bez sensu?

JAXB zamienia XML na Obiekt i w drugą stronę i daje możliwość weryfikacji względem schemy. Po kiego grzyba Ci ten Address i jak niby miałby być zainicjalizowany wartościami?

Chodzi o to zeby nie byl nullem i tyle. Jak zrobisz np.

Kopiuj
obj.getAddress().getStreet()

to nie bedzie NPE. Widziałem tak wygenerowane mapowania ale sam nie wiem jak je wygenerowac.

YA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2384
0
Mały Pomidor napisał(a):

...

Chodzi o to zeby nie byl nullem i tyle. Jak zrobisz np.

Kopiuj
obj.getAddress().getStreet()

to nie bedzie NPE. Widziałem tak wygenerowane mapowania ale sam nie wiem jak je wygenerowac.

Rozumiem motywację, ale skoro ktoś utworzył obiekt i nie wstawił tam Adresu (który wg reguł biznesowych jest wymagany), to utworzył go niepoprawnie.
Moim zdaniem takie obejście jakie chcesz zrobić spowoduje przesunięcie problemu dalej w ścieżce przetwarzania. Dlaczego spodziewasz się, że Address jest nullem?
Nie prościej przed rozpoczęciem przetwarzania byłoby zrobić weryfikację obiektu względem schematu?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.