Ho uno schema xml (generato automaticamente usando trang) che continua a cambiare. Questi cambiamenti non sono molto elaborati. Solo alcuni elementi vengono aggiunti o eliminati da questo schema. Da questo schema, sto generando classi java (usando cxf) con cui eliminerò il documento XML.Come verificare se una classe java ha un metodo particolare in esso?
Come lo schema cambia, anche le mie classi java generate automaticamente cambiano. Di nuovo, come con lo schema, i cambiamenti nelle classi java non sono molto grandi. Ad esempio, se un elemento dice elemA
viene aggiunto allo schema; alcune funzioni correlate dicono getElemA()
e setElemA()
vengono aggiunte alla classe java generata automaticamente.
Ora, come faccio ad accertarmi che esista una funzione particolare in queste classi generate automaticamente? Una soluzione è scrivere a mano lo schema in modo tale da coprire tutti i possibili elementi di xml. Questo è ciò che alla fine farò. Ma per ora, non ho risolto il formato del file xml.
UPDATE:
C'è la possibilità che un metodo getElemA()
può essere definito nelle classi auto-generate. Non ho il controllo sulla generazione automatica di queste classi. Ma nella mia classe principale, se ho codice seguente,
If method getElemA exists then
ElemA elemA = getElemA()
Questo codice sarà sempre presente nella mia classe principale. Se il metodo getElemA()
viene generato in una delle classi generate automaticamente, non ci sono problemi. Ma se questo metodo non viene generato, i compilatori si lamentano che questo metodo non esiste in nessuna classe.
Esiste un modo per consentire al compilatore di non lamentarsi di questa funzione in fase di compilazione?
Grazie. Voglio usare il metodo e devo scrivere tutti i metodi possibili in quella classe, ma la classe generata automaticamente potrebbe non avere quel metodo. Come far sì che il compilatore ignori questo in fase di compilazione? – Dilawar
L'uso di invoke non ti dà errori di compilazione ... controlla gli ans aggiornati. – havexz
Grazie mille. Dopo averlo racchiuso in "try-catch", ha funzionato come un incantesimo. – Dilawar