|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--chat.Database
Classe per costruire un archivio di entità Contatto
ordinate in modo crescente sulla base del campo nome
.
Realizza un semplice database che usa il nome come campo
chiave di ricerca.
Idonea anche a situazioni multi-thread.
Contatto
,
Contatto.nome()
Field Summary | |
private java.util.SortedSet |
s
La tabella ad albero binario ordinata che contiene i singoli record. |
Constructor Summary | |
Database()
Costruttore che istanzia un database vuoto. |
|
Database(java.lang.String nome_file)
Costruttore che legge il contenuto del database da un file. |
Method Summary | |
void |
cancella()
Modificatore per azzerare l'archivio; primitiva solo per questione di comodità ed efficienza. |
void |
cancella(java.lang.String chi)
Modificatore primitiva per eliminare un elemento. |
boolean |
contiene(java.lang.String chi)
Predicato primitiva per verificare l'appartenenza di un certo nominativo entro l'archivio. |
void |
modifica(Contatto c)
Modificatore primitiva per aggiungere un record all'archivio; se è già presente una entry avente lo stesso nome di c allora essa viene sovrascritta.
|
int |
quanti()
Accesso per ottenere il numero di elementi contenuti; primitiva solo per questioni di comodità ed efficienza. |
Contatto |
seleziona(java.lang.String chi)
Selettore primitiva per ottenere un certo elemento dall'archivio. |
java.lang.String |
toString()
Convertitore per ottenere la rappresentazione testuale del contenuto dell'archivio, conforme alla grammatica definita da Parser per esprimere un Contatto .
non è una primitiva. |
Contatto[] |
tutti()
Accesso primitiva per ottenere tutti gli elementi. |
Methods inherited from class java.lang.Object |
|
Field Detail |
private java.util.SortedSet s
Constructor Detail |
public Database()
public Database(java.lang.String nome_file) throws java.io.FileNotFoundException, java.io.IOException
Parser
per processare il file ASCII
il cui nome è passato come parametro.nome_file
- il nome del file ASCII da leggere.Parser
Method Detail |
public void modifica(Contatto c)
c
allora essa viene sovrascritta.
Questo evita di avere più elementi con lo stesso nome.c
- il Contatto
da modificare/aggiungere.Contatto.nome()
public boolean contiene(java.lang.String chi)
chi
- il nome del Contatto
da cercare.true
se e solo se è presente un
record avente nome() == chi
;
false
altrimenti.public Contatto seleziona(java.lang.String chi)
chi
- il nome del Contatto
da selezionare.null
se e solo se non è presente un
record avente nome() == chi
;
il Contatto
richiesto altrimenti.public void cancella(java.lang.String chi)
chi
- il nome del Contatto
da cancellare.public void cancella()
public int quanti()
public Contatto[] tutti()
public java.lang.String toString()
Parser
per esprimere un Contatto
.
non è una primitiva.Parser
,
Contatto
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |