Я читаю строковые данные XML из другого приложения в моем проекте с использованием JAXB.
Они предоставили свой appdata.jar.(Я не контролирую их занятия).У них есть MessgeBody.В MessageBody они определили одну частную переменную экземпляра без методов получения и установки.И из-за этого я не могу получить экземпляр класса perticular. Остальные поля с getter n setter доступны.Я пробовал отражение Java, оно не работает.Вот мой код -
Class Test{
public void parseXMLStr(){
String xmlStr="<xml><first></first><second></second><third></third></xml>"
//I am able to get values of first and second as getter and setter defined.
First f =getMessageBody().getFirst();
f.dosomething().. //working
Second s =getMessageBody().getSecond();
s.dosomething()...//working
}
appdata.jar ( другое приложение ) содержит MessageBody as,
class MessageBody{
private First first;//getter setter provided
private Second second;//getter setter provided
private Third third;//getter setter NOT Provided
}
Как получить экземпляр третьего класса и переменные доступавнутри него.
Я пробовал отражение Java, как показано ниже, но получаю исключение нулевого указателя (хотя данные есть)
Field f = obj.getClass().getDeclaredField("third");
f.setAccessible(true);
Third t = (Third) f.get(obj);
t.getName();//here getting nullpointer exception