Laboratorio di Programmazione - A.A. 2004/05
Parte 1
Un FileSystemItem è o un File o una Directory. I File sono caratterizzati da un nome (una stringa), un testo (una stringa), ed una dimensione (un intero che rappresenta il numero di caratteri del testo). Le Directory sono caratterizzate da un nome ed un insieme di FileSystemItem. Tale insieme deve essere ordinato rispetto ai nomi dei FileSystemItem in esso contenuti, deve supportare l'inserimento e la cancellazione di elementi, e enumerazione (ordinata), attraverso un iteratore, dei suoi elementi. Realizzare una o più classi Java per rappresentare detti oggetti.
Parte 2
Si definisca una classe FileSystemUtilities
contenente i seguenti
metodi statici:
Parte 3
Fare in modo che gli oggetti FileSystemItem supportino uguaglianza profonda e copia profonda attraverso l'overriding di equals() e clone(), si noti che è necessario ridefinire anche hashCode()..