Class BoundedNewsSet
java.lang.Object
|
+--BoundedNewsSet
- public class BoundedNewsSet
- extends java.lang.Object
- implements News
Implementa l'insieme di news postate su un RM mediante un oggetto compatibile
con l'interfaccia java.util.Set. L'insieme accetta un numero massimo di news.
Raggiunto tale limite ulteriori post sono scartati senza sollevare eccezioni.
- Author:
- Mauro Barbieri
Field Summary |
int |
MAX
Numero massimo di news che sono accettate. |
private java.util.Set |
nset
L'insieme di news di un RM e' implementato mediante un oggetto
compatibile con l'interfaccia java.util.Set.
|
Constructor Summary |
BoundedNewsSet(int max)
Crea un'istanza di BoundedNewsSet con limite massimo di news
fissato. |
Method Summary |
java.util.List |
getList()
Restituisce una lista di intestazioni dei messaggi postati sul RM. |
Messaggio |
getMsg(MsgHeader mh)
Restituisce un messaggio postato in precedenza nel RM data la sua
intestazione. |
MsgBody |
getMsgBody(MsgHeader mh)
Restituisce il corpo di un messaggio postato in precedenza nel RM
data la sua intestazione. |
void |
putMsg(Messaggio msg)
Memorizza un messaggio postato da un FE.
|
Methods inherited from class java.lang.Object |
,
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
registerNatives,
toString,
wait,
wait,
wait |
nset
private java.util.Set nset
- L'insieme di news di un RM e' implementato mediante un oggetto
compatibile con l'interfaccia java.util.Set.
L'implementazione scelta e' un java.util.HashSet sincronizzato per
garantire accesso in mutua esclusione ai vari thread del RM.
MAX
public int MAX
- Numero massimo di news che sono accettate.
BoundedNewsSet
public BoundedNewsSet(int max)
- Crea un'istanza di BoundedNewsSet con limite massimo di news
fissato.
putMsg
public void putMsg(Messaggio msg)
throws java.lang.Exception
- Memorizza un messaggio postato da un FE.
Se e' gia' stato raggiunto il numero massimo di posting consentiti il
messaggio non e' aggiunto all'insieme e non viene nemmeno sollevata
un'eccezione.
- Specified by:
- putMsg in interface News
- Parameters:
msg
- messaggio postato dal FE.- Throws:
- java.lang.Exception - se non e' stato possibile memorizzare il messaggio.
getMsg
public Messaggio getMsg(MsgHeader mh)
throws java.lang.Exception
- Restituisce un messaggio postato in precedenza nel RM data la sua
intestazione. Se non esiste nessun messaggio con l'intestazione data
per argomento e' generata una
MsgNotFoundException
.
- Specified by:
- getMsg in interface News
- Parameters:
mh
- header del messaggio che si vuole ottenere.- Returns:
- il messaggio postato in precedenza il cui header e' uguale a
quello passato come argomento.
- Throws:
- MsgNotFoundException - se non esiste nessun messaggio con
l'intestazione data per argomento.
getMsgBody
public MsgBody getMsgBody(MsgHeader mh)
throws java.lang.Exception
- Restituisce il corpo di un messaggio postato in precedenza nel RM
data la sua intestazione. Se non esiste nessun messaggio con
l'intestazione data per argomento e' generata una
MsgNotFoundException
.
- Specified by:
- getMsgBody in interface News
- Parameters:
mh
- header del messaggio che si vuole ottenere.- Returns:
- il corpo del messaggio postato in precedenza il cui header
e' uguale a quello passato come argomento.
- Throws:
- MsgNotFoundException - se non esiste nessun messaggio con
l'intestazione data per argomento.
getList
public java.util.List getList()
throws java.lang.Exception
- Restituisce una lista di intestazioni dei messaggi postati sul RM.
- Specified by:
- getList in interface News
- Returns:
- una lista di intestazioni dei messaggi postati sul RM.
- Throws:
- java.lang.Exception - se non e' stato possibile recuperare la lista di
intestazioni.