Class Shell
java.lang.Object
it.unimi.di.prog2.temisvolti.filesystem.Shell
Classe mutabile che rappresenta una shell
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionEsegue l'interprete di comandi.static void
Istanzia l'interprete in modo che legga il flusso di ingresso standard; se il programma è invocato con degli argomenti, al termine dell'esecuzione emette la storia dei comandi ricevuti.private static void
recursiveTree
(String prefix, Directory d) Emette nel flusso di uscita la directory data sotto forma di albero.private Path
Risolve il path rispetto alla directory corrente.private void
Emette nel flusso d'uscita la directory corrispondente al path dato.
-
Field Details
-
PREFIX
-
fs
Il filesystem su cui opera la shell. -
cwd
Il path assoluto della directory corrente
-
-
Constructor Details
-
Shell
Costruisce una shell dato il filesystem.La directory corrente è inizialmente la radice del filesystem.
- Parameters:
fs
- il filesystem- Throws:
NullPointerException
- se il filesystem ènull
.
-
-
Method Details
-
resolve
-
recursiveTree
Emette nel flusso di uscita la directory data sotto forma di albero.Questa funzione richiama ricorsivamente se stessa per emettere le sottodirectory in forma di albero, usa il prefisso per gestire l'indentazione dei sottoalberi.
- Parameters:
prefix
- il prefisso da anteporre ad ogni linea emessa.d
- la directory il cuil albero è da emettere.
-
tree
Emette nel flusso d'uscita la directory corrispondente al path dato.- Parameters:
path
- il percorso di una directory del filesystem.- Throws:
FileNotFoundException
- se il percorso non individua una directory.
-
interpreter
Esegue l'interprete di comandi.Questa classe legge una linea alla volta dal
BufferedReader
fino a quando legge una linea vuota. Per ciascuna linea, interpreta il comando che contiene, riportando gli errori eventualmente riportati durante la sua esecuzione. Al termine dell'esecuzione, restituisce l'elenco dei comandi ricevuti.- Parameters:
con
- ilBufferedReader
da cui vengono letti le linee contenenti i comandi.- Returns:
- l'elenco di comandi ricevuti.
- Throws:
IOException
- se avviene un errore durante la lettura delle linee.
-
main
Istanzia l'interprete in modo che legga il flusso di ingresso standard; se il programma è invocato con degli argomenti, al termine dell'esecuzione emette la storia dei comandi ricevuti.- Parameters:
args
- gli argomenti del comando, se presenti verrà emesso l'elenco dei comandi.- Throws:
IOException
- se avviene un errore durante la lettura del flusso di ingresso.
-