All Packages Class Hierarchy This Package Previous Next Index
Class it.unipi.di.compass.cctwo.constraint.TableManager
java.lang.Object
|
+----it.unipi.di.compass.cctwo.constraint.TableManager
- public class TableManager
- extends Object
Amministra le tabelle che poi verranno salvate su file. Le
tabelle sono cinque: la tabella delle stringhe, la tabella contenente
le informazioni di visualizzazione, la tabella dei blocchi di scelta,
la tabella degli item group e la tabella dei blocchi conditional.
- Version:
- 1.0
- Author:
- Antonio Cisternino
-
choiceBlockTbl
- Contiene la tabella dei blocchi di scelta.
-
conditionalTbl
- Contiene la tabella dei Conditional.
-
displayInfoTbl
- Contiene la tabella dei Conditional.
-
functionCodes
- Tabella della corispondenza Funzioni <=> codici di
funzione.
-
itemGroupTbl
- Contiene la tabella degli ItemGroup.
-
itemNum
- Numero di descrizioni di item per file HTML, questo parametro
è da coordinarsi con quello del compilatore ccone.
-
itemsForCode
- Tabella degli items.
-
itemsForName
- Tabella degli items.
-
nodeNames
- Nomi dei nodi di visualizzazione.
-
stringTbl
- Cotiene la tabella delle stringhe del file.
-
TableManager(int, DataInputStream, LineNumberReader, NodeNames)
- Costruttore del TableManager.
-
addChoiceBlock(ChoiceBlock)
- Aggiunge un ChoiceBlock alla corrispondente tabella.
-
addConditional(Conditional)
- Aggiunge un Conditional alla corrispondente tabella.
-
addDisplayInfo(DisplayInfo)
- Aggiunge un DisplayInfo alla corrispondente tabella.
-
addItemGroup(ItemGroup)
- Aggiunge un ItemGroup alla corrispondente tabella.
-
addString(String)
- Aggiunge una stringa alla tabella delle stringhe se non viene
trovata.
-
cbSize()
- Restituisce la dimensione della tabella dei ChoiceBlock.
-
cdSize()
- Restituisce la dimensione della tabella dei Conditional.
-
copyLines(LineNumberReader, PrintWriter)
- Copia linee dall'input in sull'output out finché non
ne trova una che inizia per # oppure la fine del file.
-
existsItem(String)
- Dice se esiste un item avente un certo nome.
-
generateHTML(File, File)
- Genera lo scheletro HTML per la navigazione.
-
generateITEMLIST(File, File)
- Genera la lista degli items.
-
getChoiceBlock(int)
- Ottiene il ChoiceBlock corrispondente al riferimento nella
tabella.
-
getChoiceBlockForNameRef(int)
- Ottiene il riferimento al ChoiceBlock avente come nome il nome puntato dal
riferimento passato come parametro.
-
getChoiceBlockRef(int)
- Ricava il riferimento ad un blocco di scelta a partire dal riferimento al
nome del blocco.
-
getConditional(int)
- Ottiene il Conditional corrispondente al riferimento nella
tabella.
-
getDisplayInfo(int)
- Ottiene il DisplayInfo corrispondente al riferimento nella
tabella.
-
getFunctionCode(String)
- A partire da un nome di funzione restituisce il codice
associato.
-
getItemGroup(int)
- Ottiene l'ItemGroup corrispondente al riferimento nella
tabella.
-
getItemIconName(int, int, int)
- Restituisce il nome dell'icona associata ad un item (estensione
esclusa).
-
getItemName(int)
- Restituisce il nome dell'oggetto dato il codice.
-
getItemNum()
- Restituisce il numero di descrizioni di item per file.
-
getKey(String)
- Restituisce il codice dell'oggetto dato il nome.
-
getString(int)
- Restituisce una stringa contenuta nella tabella.
-
igSize()
- Restituisce la dimensione della tabella degli ItemGroup.
-
isNodeName(String)
- Dice se una stringa è il nome di un nodo
di visualizzazione.
-
isReservedChoiceBlock(int)
- Dice se il riferimento ad un ChoiceBlock nella tabella
riferisce una posizione riservata oppure una posizione
già utilizzata.
-
isReservedConditional(int)
- Dice se il riferimento ad un Conditional nella tabella
riferisce una posizione riservata oppure una posizione
già utilizzata.
-
isReservedItemGroup(int)
- Dice se il riferimento ad un ItemGroup nella tabella
riferisce una posizione riservata oppure una posizione
già utilizzata.
-
reserveChoiceBlock()
- Riserva una posizione nella tabella dei ChoiceBlock.
-
reserveConditional()
- Riserva una posizione nella tabella dei Conditional.
-
reserveItemGroup()
- Riserva una posizione nella tabella degli ItemGroup.
-
save(DataOutputStream)
- Salva su uno stream le tabelle del TableManager.
-
setReservedChoiceBlock(ChoiceBlock, int)
- Assegna un choice block ad una posizione riservata nella
tabella dei blocchi di scelta.
-
setReservedConditional(Conditional, int)
- Assegna un conditional ad una posizione riservata nella
tabella degli Conditional.
-
setReservedItemGroup(ItemGroup, int)
- Assegna un item group ad una posizione riservata nella
tabella degli ItemGroup.
-
sort(Vector)
- Ordina il vettore degli item.
-
stSize()
- Restituisce la dimensione della tabella delle stringhe.
stringTbl
private Vector stringTbl
- Cotiene la tabella delle stringhe del file.
choiceBlockTbl
private Vector choiceBlockTbl
- Contiene la tabella dei blocchi di scelta.
itemGroupTbl
private Vector itemGroupTbl
- Contiene la tabella degli ItemGroup.
conditionalTbl
private Vector conditionalTbl
- Contiene la tabella dei Conditional.
displayInfoTbl
private Vector displayInfoTbl
- Contiene la tabella dei Conditional.
nodeNames
private NodeNames nodeNames
- Nomi dei nodi di visualizzazione.
itemsForName
private Hashtable itemsForName
- Tabella degli items. Richiede quanto generato dal
compilatore C1: il compilato di Item.java e l'estensione
della base di dati.
itemsForCode
private Vector itemsForCode
- Tabella degli items. Serve per la generazione dell'HTML: bisogna
poter risalire al nome e alla posizione di ogni item
functionCodes
private Hashtable functionCodes
- Tabella della corispondenza Funzioni <=> codici di
funzione.
itemNum
private int itemNum
- Numero di descrizioni di item per file HTML, questo parametro
è da coordinarsi con quello del compilatore ccone.
TableManager
TableManager(int itemNum,
DataInputStream in,
LineNumberReader lin,
NodeNames names) throws IOException
- Costruttore del TableManager. Istanzia le tabelle.
- Parameters:
- in - Stream da cui leggere gli item del database.
- lin - Stream da cui leggere i nomi delle funzioni.
I nomi delle funzioni sono nell'ordine dei codici
uno per linea. Vengono ignorate tutte le linee che
cominciano per '#'.
- names - Nomi dei nodi di visualizzazioni. Ottenuti
da cctwo.tree.parseAndGenerateDisplayTree.
- Throws: IOException
- Errore di lettura da uno dei due
stream.
stSize
int stSize()
- Restituisce la dimensione della tabella delle stringhe.
- Returns:
- La dimensione della tabella.
cbSize
int cbSize()
- Restituisce la dimensione della tabella dei ChoiceBlock.
- Returns:
- La dimensione della tabella.
igSize
int igSize()
- Restituisce la dimensione della tabella degli ItemGroup.
- Returns:
- La dimensione della tabella.
cdSize
int cdSize()
- Restituisce la dimensione della tabella dei Conditional.
- Returns:
- La dimensione della tabella.
addString
int addString(String str)
- Aggiunge una stringa alla tabella delle stringhe se non viene
trovata.
- Parameters:
- str - Stringa da aggiungere.
- Returns:
- Il riferimento alla stringa aggiunta.
- See Also:
- getString
getString
String getString(int ref)
- Restituisce una stringa contenuta nella tabella.
- Parameters:
- ref - Riferimento ottenuto con una chiamata a addString.
- Returns:
- Il riferimento alla stringa aggiunta.
- See Also:
- addString
reserveChoiceBlock
int reserveChoiceBlock()
- Riserva una posizione nella tabella dei ChoiceBlock.
- Returns:
- Il riferimento al blocco riservato.
- See Also:
- setReservedChoiceBlock
setReservedChoiceBlock
void setReservedChoiceBlock(ChoiceBlock cb,
int ref)
- Assegna un choice block ad una posizione riservata nella
tabella dei blocchi di scelta.
- Parameters:
- cb - ChoiceBlock da aggiungere alla tabella.
- ref - Riferimento riservato con reserveChoiceBlock.
- See Also:
- reserveChoiceBlock
isReservedChoiceBlock
boolean isReservedChoiceBlock(int ref)
- Dice se il riferimento ad un ChoiceBlock nella tabella
riferisce una posizione riservata oppure una posizione
già utilizzata. Una posizione riservata diviene
utilizzata con l'invocazione del metodo setReservedChoiceBlock.
- Parameters:
- ref - Riferimento al CHoiceBlock.
- Returns:
- true se la posizione è riservata, false
altrimenti.
- See Also:
- setReservedChoiceBlock
addChoiceBlock
int addChoiceBlock(ChoiceBlock cb)
- Aggiunge un ChoiceBlock alla corrispondente tabella.
- Parameters:
- cb - ChoiceBlock da aggiungere
- Returns:
- Il riferimento all'elemento aggiunto nella tabella.
- See Also:
- getChoiceBlock
getChoiceBlock
ChoiceBlock getChoiceBlock(int ref)
- Ottiene il ChoiceBlock corrispondente al riferimento nella
tabella. Il riferimento deve essere ottenuto mediante una
chiamata a addChoiceBlock oppure a reserveChoiceBlock. Nel
secondo caso è necessario che sia stato anche invocato
il metodo setReservedChoiceBlock.
- Parameters:
- ref - Riferimento alla tabella.
- Returns:
- Il ChoiceBlock richiesto.
- See Also:
- addChoiceBlock, reserveChoiceBlock, setReservedChoiceBlock
getChoiceBlockForNameRef
int getChoiceBlockForNameRef(int nameRef)
- Ottiene il riferimento al ChoiceBlock avente come nome il nome puntato dal
riferimento passato come parametro.
- Parameters:
- nameRef - Riferimento al nome del blocco.
- Returns:
- Il riferimento al ChoiceBlock richiesto. -1 se non è stato trovato.
reserveItemGroup
int reserveItemGroup()
- Riserva una posizione nella tabella degli ItemGroup.
- Returns:
- Il riferimento al blocco riservato.
- See Also:
- setReservedItemGroup
setReservedItemGroup
void setReservedItemGroup(ItemGroup ig,
int ref)
- Assegna un item group ad una posizione riservata nella
tabella degli ItemGroup.
- Parameters:
- ig - ItemGroup da aggiungere alla tabella.
- ref - Riferimento riservato con reserveItemGroup.
- See Also:
- reserveItemGroup
isReservedItemGroup
boolean isReservedItemGroup(int ref)
- Dice se il riferimento ad un ItemGroup nella tabella
riferisce una posizione riservata oppure una posizione
già utilizzata. Una posizione riservata diviene
utilizzata con l'invocazione del metodo setReservedItemGroup.
- Returns:
- true se la posizione è riservata, false
altrimenti.
- See Also:
- setReservedItemGroup
addItemGroup
int addItemGroup(ItemGroup ig)
- Aggiunge un ItemGroup alla corrispondente tabella.
- Parameters:
- ig - ItemGroup da aggiungere
- Returns:
- Il riferimento all'elemento aggiunto nella tabella.
- See Also:
- getItemGroup
getItemGroup
ItemGroup getItemGroup(int ref)
- Ottiene l'ItemGroup corrispondente al riferimento nella
tabella. Il riferimento deve essere ottenuto mediante una
chiamata a addItemGroup oppure a reserveItemGroup. Nel
secondo caso è necessario che sia stato anche invocato
il metodo setReservedItemGroup.
- Parameters:
- ref - Riferimento alla tabella.
- Returns:
- L'ItemGroup richiesto.
- See Also:
- addItemGroup, reserveItemGroup, setReservedItemGroup
reserveConditional
int reserveConditional()
- Riserva una posizione nella tabella dei Conditional.
- Returns:
- Il riferimento al blocco riservato.
- See Also:
- setReservedConditional
setReservedConditional
void setReservedConditional(Conditional cd,
int ref)
- Assegna un conditional ad una posizione riservata nella
tabella degli Conditional.
- Parameters:
- cd - Conditional da aggiungere alla tabella.
- ref - Riferimento riservato con reserveConditional.
- See Also:
- reserveConditional
isReservedConditional
boolean isReservedConditional(int ref)
- Dice se il riferimento ad un Conditional nella tabella
riferisce una posizione riservata oppure una posizione
già utilizzata. Una posizione riservata diviene
utilizzata con l'invocazione del metodo
setReservedConditional.
- Returns:
- true se la posizione è riservata, false
altrimenti.
- See Also:
- setReservedConditional
addConditional
int addConditional(Conditional cd)
- Aggiunge un Conditional alla corrispondente tabella.
- Parameters:
- cd - Conditional da aggiungere
- Returns:
- Il riferimento all'elemento aggiunto nella tabella.
- See Also:
- getConditional
getConditional
Conditional getConditional(int ref)
- Ottiene il Conditional corrispondente al riferimento nella
tabella. Il riferimento deve essere ottenuto mediante una
chiamata a addConditional oppure a reserveConditional. Nel
secondo caso è necessario che sia stato anche invocato
il metodo setReservedConditional.
- Parameters:
- ref - Riferimento alla tabella.
- Returns:
- Il Conditional richiesto.
- See Also:
- addConditional, reserveConditional, setReservedConditional
addDisplayInfo
int addDisplayInfo(DisplayInfo di)
- Aggiunge un DisplayInfo alla corrispondente tabella. Se il display
info è già presente non viene aggiunto alla tabella
ma viene restituito il riferimento a quello già presente.
- Parameters:
- di - DisplayInfo da aggiungere
- Returns:
- Il riferimento all'elemento nella tabella.
- See Also:
- getDisplayInfo
getDisplayInfo
DisplayInfo getDisplayInfo(int ref)
- Ottiene il DisplayInfo corrispondente al riferimento nella
tabella. Il riferimento deve essere ottenuto mediante una
chiamata a addDisplayInfo.
- Parameters:
- ref - Riferimento alla tabella.
- Returns:
- Il DisplayInfo richiesto.
- See Also:
- addDisplayInfo
save
void save(DataOutputStream out) throws IOException
- Salva su uno stream le tabelle del TableManager. Assume che
tutti gli elementi delle tabelle siano stati definiti. Il
formato con cui il file viene salvato è descritto in
Contraint.
- Parameters:
- out - Stream su cui salvare le tabelle
- Throws: IOException
- Errore di scrittura sullo
stream
- See Also:
- Constraint
existsItem
boolean existsItem(String name)
- Dice se esiste un item avente un certo nome.
- Parameters:
- name - Nome dell'item cercato
- Returns:
- true se l'item fa parte del database degli item.
getKey
int getKey(String name)
- Restituisce il codice dell'oggetto dato il nome.
- Parameters:
- name - Nome dell'item da cercare
- Returns:
- Il codice dell'oggetto se esistente, altrimenti -1.
getItemName
String getItemName(int code)
- Restituisce il nome dell'oggetto dato il codice. Viene utilizzato
per la generazione dell'HTML. Costa O(n) dove n è il numero
degli items.
- Parameters:
- code - Codice dell'item da trovare
- Returns:
- Il nome dell'item se trovato, altrimenti null.
getFunctionCode
int getFunctionCode(String functionName)
- A partire da un nome di funzione restituisce il codice
associato.
- Parameters:
- functionName - Nome della funzione di cui si vuole
conoscere il codice.
- Returns:
- Il codice della funzione. Se il nome è
sconosciuto viene restituito -1.
isNodeName
boolean isNodeName(String name)
- Dice se una stringa è il nome di un nodo
di visualizzazione.
- Returns:
- true se il parametro name è il nome di un nodo
di visualizzazione, false altrimenti.
copyLines
private void copyLines(LineNumberReader in,
PrintWriter out) throws IOException
- Copia linee dall'input in sull'output out finché non
ne trova una che inizia per # oppure la fine del file. Serve
per la generazione dell'html
generateHTML
void generateHTML(File templ,
File dir) throws IOException
- Genera lo scheletro HTML per la navigazione.
- Parameters:
- templ - Reader da cui leggere lo scheletro del file HTML.
- dir - Directory in cui salvare i file HTML.
- Throws: IOException
- Errore di scrittura dei file HTML.
sort
private Vector sort(Vector v)
- Ordina il vettore degli item. Da reimplementare, attualmente ho
implementato il bubble sort per rapidità
- Parameters:
- v - Vettore da ordinare.
- Returns:
- Il vettore ordinato.
generateITEMLIST
void generateITEMLIST(File templ,
File dir) throws IOException
- Genera la lista degli items.
- Parameters:
- templ - Reader da cui leggere lo scheletro del file HTML.
- dir - Directory in cui salvare il file all.html.
- Throws: IOException
- Errore di scrittura del file HTML.
getItemNum
int getItemNum()
- Restituisce il numero di descrizioni di item per file.
- Returns:
- Il numero di item per file.
getItemIconName
String getItemIconName(int choice,
int code,
int itemRef)
- Restituisce il nome dell'icona associata ad un item (estensione
esclusa).
- Parameters:
- choice - Codice della scelta
- code - Codice del constraint
- itemRef - Riferimento all'item di cui si vuoole sapere il nome
- Returns:
- Il nome dell'icona.
getChoiceBlockRef
int getChoiceBlockRef(int cbNameRef)
- Ricava il riferimento ad un blocco di scelta a partire dal riferimento al
nome del blocco.
- Parameters:
- cbNameRef - Riferimento al nome del blocco di cui si vuole conoscere il riferimento.
- Returns:
- Il riferimento al blocco di scelta (oppure -1 se non viene trovato).
All Packages Class Hierarchy This Package Previous Next Index