Class Shell
java.lang.Object
it.unimi.di.prog2.temisvolti.filesystem.Shell
Classe mutabile che rappreseta 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 d'scita la direcotry 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
Prefisso per l'output.- See Also:
-
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 è inzialmente la radice del filesystem.
- Parameters:
fs
- il filesystem- Throws:
NullPointerException
- se il filesystem ènull
.
-
-
Method Details
-
resolve
Risolve il path rispetto alla directory corrente.- Parameters:
path
- il path.- Returns:
- il path assoluto ottenuto ri
-
recursiveTree
Emette nel flusso d'scita la direcotry 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.
-