Szukałem w Internecie z jakiegoś powodu, dlaczego JAXB generowane klasy mają chronionych członków (wszyscy, niezależnie od dziedziczenia).Dlaczego JAXB generuje klasy z chronionymi członkami i jak mogę to zmienić?
Chciałbym, aby członkowie byli prywatni.
Moje wyszukiwanie uszło pusto.
Mam normalne pliki xsd, które są konwertowane na klasy Java za pomocą Maven i JAXB. Najlepiej byłoby, gdyby wygenerowani członkowie byli prywatni, ale nie mogę znaleźć sposobu, aby to osiągnąć.
Czy istnieje sposób zmiany tego domyślnego zachowania?
Wygenerowane przez JAXB klasy mają chronionych członków i być może generują je jako prywatne, i mówisz, że Idealnie wygenerowani członkowie powinni być prywatni, ale nie mogę znaleźć sposobu, aby to osiągnąć. Chcesz, aby wszyscy członkowie byli prywatni? Jak już mówisz, są one już prywatne, ale niektóre z nich są chronione, a następnie sprawdzają, czy klasy posiadające pola chronione są dziedziczone przez inne klasy, co może być przyczyną? – JMelnik
@JMelnik: Sądzę, że jest to błąd w pisowni w pierwszym zdaniu. Po prostu sprawdziłem moje źródła i JAXB generuje wszystkie atrybuty członkowskie z modyfikatorem 'protected' (bez względu na dziedziczenie). Może PO może dostarczyć wyjaśnienia na temat pierwszego sentenence? – home
Zmodyfikowaliśmy pierwsze zdanie. Wszyscy członkowie są "chronieni" (bez względu na dziedziczenie), ale chcę, żeby byli "prywatni". – tom