Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    2

    [java] Chiamata Di Un Metodo A Runtime

    Salve a tutti,
    spero che qualcuno mi possa aiutare.

    Sto sviluppando un agente particolare per una piattoforma ad agenti
    sviluppata in Java.
    Tale piattaforma gestisce lo scambio di messaggi tra un agente e l'altro.
    l'arrivo di un particolare messaggio in XML il mio agente deve caricare una
    classe particolare che non devo implementare io, cioè non ne conosco il nome
    ne gli attributi.
    Il nome è contenuto tra due tag (che realizzo con un opportuno classLoader)
    poi nel tag successivo ho gli attributi ke devo inizializzare quindi
    richiamare un metodo "init(attrubuto1,.....,attributoN)" della classe
    caricata a runtime
    Ad esempio
    <XMLCONTENT>
    <CLASSE>
    <NOME_CLASSE> prova.class </NOME_CLASSE>
    <ATTRIBUTI> init(attr1,......,attrN) </ATTRIBUTI>
    </CLASSE>
    </XMLCONTENT>

    Il problema sta nel fatto che il parsing XML mi restituisce una stringa con
    il contenuto compreso tra due tag quindi avrò:

    String attrib = "init(attr1,......,attrN)"

    quindi come faccio a effetuare la chiamata a questo metodo?
    C'è qualcuno ke può aiutarmi?
    C'è una soluzione migliore?

    Ringrazio atticipatamente x l'attenzione!!

  2. #2
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    Non capisco se il tuo problema è ricavare i nomi dei parametri dalla stringa o effettuare la chiamata al metodo passandogli i parametri. Nel primo caso devi fare un parsing della stringa splittandola rispetto alle parentesi e le virgole, nel secondo caso devi usare le funzionalità messe a disposizione dal package java.lang.reflect e dalla classe Class, ad esempio dalla classe Class puoi ottenere un oggetto Method che rappresenta un metodo di una classe e su tale oggetto Method puoi invocare il metodo invoke(Object obj, Object[] args) in cui obj rapresenta l'oggetto su cui il metodo sarò invocato con parametri rappresentati da args, per ulteriori informazioni sul package e su Class puoi far riferimento alla documentazione online della sun,

    ciao.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    2
    Il problema è proprio quello di passare i parametri al metodo...
    Tale metodo verrà scritto dall'utente-programmatore quando dovrà scrivere la sua apposita classe, cioè una specie di plug-in...

    Anche io avevo pensato al parsing della stringa ma volevo sapere se alternativamente potevo trasformare il contenuto della stringa alla chiamata ad un metodo!!

    Comunque ora vedo cosa riesco a fare utilizzando come hai detto tu l'oggetto Method.

    Grazie mille...

    Ciao!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.