na linha 06 o objeto fica nulo, apesar de não dá erro algum, porém quando eu modifico o método usando a classe TNFe, sem usar generics, funciona, caso alguém possa me ajudar agradeço desde já!
Obs: foi a primeira vez que eu usei generics, não tenho experiência com isso.
public class ControleXML<T> {
public T XMLparseObject(T classe, String caminho) {
try {
JAXBContext context = JAXBContext.newInstance(classe.getClass());
Unmarshaller unmarshaller = context.createUnmarshaller();
File notaFile = new File(caminho);
classe = (T) unmarshaller.unmarshal(new StreamSource(notaFile), classe.getClass()).getValue();
return (T) classe;
} catch (JAXBException ex) {
ex.printStackTrace();
return null;
}
}
.
.
.
.
public static void main(String[] args) {
ControleXML c = new ControleXML<TNFe>();
String caminho = "MEU XML";
TNFe nfe = (TNFe) c.XMLparseObject(TNFe.class, caminho);
String xml = c.parseXMLString(nfe.getClass());
System.out.println("XML : \n"+xml);
}
}