SOMA.gui._theAgent
Class TheAgent

java.lang.Object
  extended bySOMA.agent.Agent
      extended bySOMA.gui._theAgent.TheAgent
All Implemented Interfaces:
java.util.EventListener, FinAgentMessageListener, FinGoto1000Listener, LinguaListener, java.beans.PropertyChangeListener, java.io.Serializable

public class TheAgent
extends Agent
implements LinguaListener, java.beans.PropertyChangeListener, FinGoto1000Listener, FinAgentMessageListener

See Also:
Serialized Form

Nested Class Summary
(package private)  class TheAgent.ListenerMenu
          CLASSE INTERNA PER ASCOLTARE LA PRESSIONE DELLE VOCI DEL MENU' DELLA FINESTRA.
 
Field Summary
protected  javax.swing.JButton botAgID
          Componenti aggiuntivi che "estendono" le funzionalità di "OutputFrame2".
protected  javax.swing.JButton botGoHo
          Componenti aggiuntivi che "estendono" le funzionalità di "OutputFrame2".
protected  javax.swing.JButton botGoto
          Componenti aggiuntivi che "estendono" le funzionalità di "OutputFrame2".
protected  javax.swing.JButton botGoVi
          Componenti aggiuntivi che "estendono" le funzionalità di "OutputFrame2".
protected  javax.swing.JButton botPlID
          Componenti aggiuntivi che "estendono" le funzionalità di "OutputFrame2".
protected  javax.swing.JButton botSend
          Componenti aggiuntivi che "estendono" le funzionalità di "OutputFrame2".
protected  Chronometer chronometer
          Il "chronometer", per calcolare il tempo impiegato per la migrazione tra un Place e l'altro.
protected static java.lang.String COMANDO_ADMIN
           
protected static java.lang.String COMANDO_AGENTID
          COSTANTI PRIVATE per le azioni di comando fatte dai bottoni
protected static java.lang.String COMANDO_CHECK
           
protected static java.lang.String COMANDO_DOMAINS
           
protected static java.lang.String COMANDO_GETENV
           
protected static java.lang.String COMANDO_GOPLACE
           
protected static java.lang.String COMANDO_GOTO_HOME
           
protected static java.lang.String COMANDO_GOTO_VIS
           
protected static java.lang.String COMANDO_HISTORY
           
protected static java.lang.String COMANDO_IDLE
           
protected static java.lang.String COMANDO_LOCHOST
           
protected static java.lang.String COMANDO_MEMORY
           
protected static java.lang.String COMANDO_PLACEID
           
protected static java.lang.String COMANDO_PLACES
           
protected static java.lang.String COMANDO_SEND
           
protected static java.lang.String COMANDO_VISITED
           
protected  WaitAndTimeout exitSemaphore
          "Semaforo" su cui attendere prima di uscire.
protected  ExplorerThread explorerThread
          Thread per l'esplorazione del menù a linea di comando (non serializzabile).
protected  java.lang.String fileDiLingua
          File di lingua dell'agente (che risiede IMMOBILE sul Place di origine).
protected  java.lang.String outputText
          Testo della finestra di output.
protected  java.util.Vector placeStorici
          Elenco della storia passata: contiene uno dopo l'altro tutti i Place su cui l'agente è passato.
protected  PlaceID placeSuCuiMigrare
          Qui ci metto il PlaceID a cui dovrei trovarmi dopo un'azione di "GOTO".
protected  java.util.Vector placeVisitati
          Elenco di tutti i Place visitati.
protected  java.util.Hashtable tabellaLingua
          Tabella delle frasi di lingua.
protected  java.lang.ThreadGroup threadGroup
          Il threadgroup corrente dell'agente (non serializzabile).
protected  OutputFrame2 winOutFrame
          Finestra di output dell'agente (non serializzabile).
 
Fields inherited from class SOMA.agent.Agent
agentSystem, mailbox, start, traceable
 
Constructor Summary
TheAgent()
           
 
Method Summary
 void abilitaFinestra()
           
protected  void creaBarraMenu()
          Costruisce la barra di menù - a seconda della lingua in uso.
protected  void creaFinestra()
          Crea la finestra OutputFrame2 associata all'agente.
 void disabilitaFinestra()
          Metodi per disabilitare la finestra di chi invoca la FinGoto1000 - in caso che possano essere alterati in essa dei dati che saranno usati nel metodo "eseguiAzioneGoto".
 void eseguiAzioneGoto(PlaceID placeToGoTo)
          Metodo invocato dalla FinGoto1000 dopo che l'utente preme il bottone "migra".
 void eseguiAzioneSend(Message message)
          Metodo invocato dalla FinAgentMessage dopo che l'utente preme il bottone "send".
protected  void impostaFrasi()
          Definisce/modifica tutte le frasi mostrate a video (nella GUI)
 void inPrimoPiano()
           
 void linguaCambiata()
          METODO RICHIESTO DALL'INTERFACCIA "LinguaListener".
 void propertyChange(java.beans.PropertyChangeEvent e)
          METODO RICHIESTO DALL'INTERFACCIA "PropertyChangeListener".
protected  java.lang.String readLine()
          Legge la stringa dalla linea di input.
 void run()
          Metodo di partenza dell'agente all'atto della creazione.
 void startMethod()
          Questo è il metodo di avvio dopo "Idle" e "go" (migrazione).
 void stop()
          Interrompe l'agente - si ripartirà col metodo "startMethod".
 
Methods inherited from class SOMA.agent.Agent
getID, go, idle, putArgument, setID, setTraceable, signatureCode, signatureState, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

COMANDO_AGENTID

protected static final java.lang.String COMANDO_AGENTID
COSTANTI PRIVATE per le azioni di comando fatte dai bottoni

See Also:
Constant Field Values

COMANDO_GOPLACE

protected static final java.lang.String COMANDO_GOPLACE
See Also:
Constant Field Values

COMANDO_IDLE

protected static final java.lang.String COMANDO_IDLE
See Also:
Constant Field Values

COMANDO_CHECK

protected static final java.lang.String COMANDO_CHECK
See Also:
Constant Field Values

COMANDO_SEND

protected static final java.lang.String COMANDO_SEND
See Also:
Constant Field Values

COMANDO_PLACEID

protected static final java.lang.String COMANDO_PLACEID
See Also:
Constant Field Values

COMANDO_PLACES

protected static final java.lang.String COMANDO_PLACES
See Also:
Constant Field Values

COMANDO_DOMAINS

protected static final java.lang.String COMANDO_DOMAINS
See Also:
Constant Field Values

COMANDO_GETENV

protected static final java.lang.String COMANDO_GETENV
See Also:
Constant Field Values

COMANDO_ADMIN

protected static final java.lang.String COMANDO_ADMIN
See Also:
Constant Field Values

COMANDO_HISTORY

protected static final java.lang.String COMANDO_HISTORY
See Also:
Constant Field Values

COMANDO_VISITED

protected static final java.lang.String COMANDO_VISITED
See Also:
Constant Field Values

COMANDO_GOTO_VIS

protected static final java.lang.String COMANDO_GOTO_VIS
See Also:
Constant Field Values

COMANDO_GOTO_HOME

protected static final java.lang.String COMANDO_GOTO_HOME
See Also:
Constant Field Values

COMANDO_LOCHOST

protected static final java.lang.String COMANDO_LOCHOST
See Also:
Constant Field Values

COMANDO_MEMORY

protected static final java.lang.String COMANDO_MEMORY
See Also:
Constant Field Values

winOutFrame

protected transient OutputFrame2 winOutFrame
Finestra di output dell'agente (non serializzabile). Si usa la seconda versione di OutputFrame - quella aggiornata da Gigi.


botAgID

protected transient javax.swing.JButton botAgID
Componenti aggiuntivi che "estendono" le funzionalità di "OutputFrame2".


botPlID

protected transient javax.swing.JButton botPlID
Componenti aggiuntivi che "estendono" le funzionalità di "OutputFrame2".


botGoto

protected transient javax.swing.JButton botGoto
Componenti aggiuntivi che "estendono" le funzionalità di "OutputFrame2".


botSend

protected transient javax.swing.JButton botSend
Componenti aggiuntivi che "estendono" le funzionalità di "OutputFrame2".


botGoVi

protected transient javax.swing.JButton botGoVi
Componenti aggiuntivi che "estendono" le funzionalità di "OutputFrame2".


botGoHo

protected transient javax.swing.JButton botGoHo
Componenti aggiuntivi che "estendono" le funzionalità di "OutputFrame2".


explorerThread

protected transient ExplorerThread explorerThread
Thread per l'esplorazione del menù a linea di comando (non serializzabile).


threadGroup

protected transient java.lang.ThreadGroup threadGroup
Il threadgroup corrente dell'agente (non serializzabile).


exitSemaphore

protected transient WaitAndTimeout exitSemaphore
"Semaforo" su cui attendere prima di uscire. Serve per sincronizzare il thread principale (che aspetta) con il JMenu.


chronometer

protected Chronometer chronometer
Il "chronometer", per calcolare il tempo impiegato per la migrazione tra un Place e l'altro.


outputText

protected java.lang.String outputText
Testo della finestra di output. Quando si "migra" ci si porta dietro il testo, in modo da ricostruire (all'arrivo) una nuova finestra ma con il precedente testo.


placeVisitati

protected java.util.Vector placeVisitati
Elenco di tutti i Place visitati. Questa struttura cresce di un elemento a ogni migrazione!


placeStorici

protected java.util.Vector placeStorici
Elenco della storia passata: contiene uno dopo l'altro tutti i Place su cui l'agente è passato. Questa struttura cresce di un elemento a ogni migrazione!


tabellaLingua

protected java.util.Hashtable tabellaLingua
Tabella delle frasi di lingua. Questa funzionalità e messa a disposizione dalla classe "Lingua" di SOMA. Sul nodo di creazione dell'agente (e solo su esso) l'utente può scegliere la lingua da far usare all'agente nella stampa delle frasi. Quando l'agente migra, si porterà dietro tutte le frasi (dell'ultima lingua scelta) in questa tabella. Sugli altri Place NON si deve permettere il cambio di lingua perché l'agente non ha provveduto a portarsi dietro tutti i file di lingua.


fileDiLingua

protected java.lang.String fileDiLingua
File di lingua dell'agente (che risiede IMMOBILE sul Place di origine). Sebbene l'agente è mobile (qual piuma al vento), i file di lingua NON sono MOBILI. L'agente si porterà dietro (al suo interno) tutte le stringhe di UNA SOLA LINGUA! Solo sul place di creazione potrà accedere agli altri file di lingua!


placeSuCuiMigrare

protected PlaceID placeSuCuiMigrare
Qui ci metto il PlaceID a cui dovrei trovarmi dopo un'azione di "GOTO". Nello "startMethod" controllo che il Place attuale sia effettivamente questo qui. Se non lo è, significa che l'azione di GO NON HA AVUTO PIENO SUCCESSO: dal Place precedente si è migrati a un Place che non è quello a cui si voleva andare, poiché la migrazione si è INTERROTTA AL PLACE DI DEFAULT DEL DOMINIO IN CUI SI ERA.

Constructor Detail

TheAgent

public TheAgent()
Method Detail

run

public void run()
Metodo di partenza dell'agente all'atto della creazione. Definisce e inizializza tutti gli oggetti usati e alla fine chiama "startMethod".

Specified by:
run in class Agent

startMethod

public void startMethod()
Questo è il metodo di avvio dopo "Idle" e "go" (migrazione).


stop

public void stop()
Interrompe l'agente - si ripartirà col metodo "startMethod".

Overrides:
stop in class Agent

readLine

protected java.lang.String readLine()
Legge la stringa dalla linea di input.


creaFinestra

protected void creaFinestra()
Crea la finestra OutputFrame2 associata all'agente.


impostaFrasi

protected void impostaFrasi()
Definisce/modifica tutte le frasi mostrate a video (nella GUI)


linguaCambiata

public void linguaCambiata()
METODO RICHIESTO DALL'INTERFACCIA "LinguaListener". Viene invocato automaticamente quando qualcuno invoca la "Lingua.defLingua()" Però per l'agente c'è la restrizione che NON ci si registra per ascoltare il cambio di lingua se ci si trova su un Place diverso da quello di origine!

Specified by:
linguaCambiata in interface LinguaListener

propertyChange

public void propertyChange(java.beans.PropertyChangeEvent e)
METODO RICHIESTO DALL'INTERFACCIA "PropertyChangeListener". Viene invocato automaticamente quando qualcuno imposta un nuovo "Look & Feel" tramite un'invocazione a "UIManager.setLookAndFeel()"

Specified by:
propertyChange in interface java.beans.PropertyChangeListener

creaBarraMenu

protected void creaBarraMenu()
Costruisce la barra di menù - a seconda della lingua in uso.


eseguiAzioneGoto

public void eseguiAzioneGoto(PlaceID placeToGoTo)
                      throws java.lang.Exception
Metodo invocato dalla FinGoto1000 dopo che l'utente preme il bottone "migra". Tale finestra è aperta dal "ListenerMenu". Viene anche invocato dalla FinAgentElencoPlace (sempre per far migrare l'agente).

Specified by:
eseguiAzioneGoto in interface FinGoto1000Listener
Throws:
java.lang.Exception

disabilitaFinestra

public void disabilitaFinestra()
Metodi per disabilitare la finestra di chi invoca la FinGoto1000 - in caso che possano essere alterati in essa dei dati che saranno usati nel metodo "eseguiAzioneGoto".

Specified by:
disabilitaFinestra in interface FinGoto1000Listener

abilitaFinestra

public void abilitaFinestra()
Specified by:
abilitaFinestra in interface FinGoto1000Listener

inPrimoPiano

public void inPrimoPiano()
Specified by:
inPrimoPiano in interface FinGoto1000Listener

eseguiAzioneSend

public void eseguiAzioneSend(Message message)
                      throws java.lang.Exception
Metodo invocato dalla FinAgentMessage dopo che l'utente preme il bottone "send". Tale finestra è aperta dal "ListenerMenu".

Specified by:
eseguiAzioneSend in interface FinAgentMessageListener
Throws:
java.lang.Exception


Copyright © 2004 Luca Foschini