I metodi get/insert/remove della classe ADSLImpl
possono incontrare delle
situazioni in cui è opportuno sollevare delle eccezioni.
Si definisca una eccezione di nome ADSLException lanciata dai vari metodi
get/insert/remove (modificare, quindi, anche la definizione dell'interfaccia
ADSL) che viene lanciata quando:
- si richiede una insert di un oggetto di tipo RemoteMessageBox non ben formato,
cioè quando i suoi campi box e owner non sono inizializzati, il campo
owner non contiene un agetID con entrambi i campi name e role inizializzati.
Per effettuare questi controlli è consigliabili introdurre dei metodi di
tipo
boolean isWellFormed()
nelle classi AgentID e RemoteMessageBox (si estendano in modo opportuno le
classi e/o le interfacce coinvolte);
- si richiede una insert di un oggetto di tipo RemoteMessageBox
e presso l'ADSL è già presente un RemoteMessageBox per lo stesso proprietario;
- si richiede una remove di un oggetto di tipo RemoteMessageBox non presente
presso l'ADSL.
baldoni
2005-01-13