Visualizzazione dei risultati da 1 a 10 su 16

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da playbasfa Visualizza il messaggio
    Dici che c'è qualcosa che mi sfugge?
    Ehm .. sì.

    Quote Originariamente inviata da playbasfa Visualizza il messaggio
    Ho provato a riflettere su questa frase

    Ma non riesco a cogliere il problema.
    Nel tuo sorgente principale, non puoi avere es.:

    TipoMappato oggetto = (TipoMappato) unmarshaller.unmarshal( ..... );

    Anche se supponiamo che tu sappia a priori il nome della classe (lo potresti dedurre dal xsd e sapendo quali sono le convenzioni di XJC).

    Quando compili il tuo programma principale, TipoMappato non esiste ancora poiché viene generato solo in fase di esecuzione del tuo programma.
    Qualunque riferimento "statico" a tipi nel codice sorgente deve essere risolto in fase di compilazione.
    Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    327
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Quando compili il tuo programma principale, TipoMappato non esiste ancora poiché viene generato solo in fase di esecuzione del tuo programma.
    Se richiamo TipoMappato vuol dire che il mio chooser ha capito di aver ricevuto un dato xml.
    Per aver ricevuto un dato xml significa che ho già ricevuto un xsd e che ho già dunque creato le classi che mi servono.
    In altre parole l'xml arriva dopo l'xsd pertanto arriva dopo la creazione delle classi che servono per l'unmarshall.
    Nel caso in cui così non fosse (non accadrà) ci sarà l'errore da gestire.

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da playbasfa Visualizza il messaggio
    Se richiamo TipoMappato vuol dire che il mio chooser ha capito di aver ricevuto un dato xml.
    Per aver ricevuto un dato xml significa che ho già ricevuto un xsd e che ho già dunque creato le classi che mi servono.
    In altre parole l'xml arriva dopo l'xsd pertanto arriva dopo la creazione delle classi che servono per l'unmarshall.
    Nel caso in cui così non fosse (non accadrà) ci sarà l'errore da gestire.
    Ripeto ancora (in modo diverso e spero definitivo): se tu vuoi fare un singolo-unico programma che una volta lanciato genera (da xsd) i sorgenti delle classi "mappate" le compila e fa l'unmarshal .... puoi farlo (cioè tecnicamente è possibile giocando bene con class loader e il resto). Ma all'interno di questo tuo stesso programma NON puoi fare riferimento "staticamente" a quelle classi mappate, perché quando compili il tuo programma ..... non esistono ancora!
    Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    327
    Ok adesso che mi da il problema e ci ho sbattuto la testa ho capito!!!!
    Grazie per il tuo aiuto.
    Appena è capitato ciò che avevi anticipato le tue parole sono state chiare.
    Ho risolto dividendo il programma in due pezzi e facendo partire il secondo pezzo solo dopo che il primo avesse creato le classi.

    Grazie mille per la tua disponibilità!!!!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.