import
java.text.SimpleDateFormat;
import
java.util.GregorianCalendar;
import
java.util.List;
public
interface Composant {
publicint size();
public String getName();
public String getDate();
public Composant[] open();
publicboolean add(Composant c);
publicboolean remove(Composant c);
publicvoid setContenu(String c);
public String getContenu();
public String getSystemFichier();
publicvoid setSystemFichier(String systemFile);
}
class
Disque implements Composant
{
private List<Composant> enfants;
private String name;
private GregorianCalendar calend;
private String systemFile ;
@Override
publicboolean add(Composant c) {
// TODO Auto-generated method stub
returnenfants.add(c);
}
@Override
public String getDate() {
// TODO Auto-generated method stub
returnnew SimpleDateFormat("YYYYMMDD").format(calend.getTime());
}
@Override
public String getName() {
// TODO Auto-generated method stub
returnname;
}
@Override
public Composant[] open() {
// TODO Auto-generated method stub
return (Composant[]) enfants.toArray();
}
@Override
publicboolean remove(Composant c) {
// TODO Auto-generated method stub
returnenfants.remove(c);
}
@Override
publicint size() {
int i = 0;
for (Composant c : enfants) {
i = c.size();
}
return i;
}
@Override
public String getContenu() {
// TODO Auto-generated method stub
returnnull;
}
@Override
publicvoid setContenu(String c) {
}
@Override
public String getSystemFichier() {
// TODO Auto-generated method stub
returnsystemFile;
}
@Override
publicvoid setSystemFichier(String systemFile) {
// TODO Auto-generated method stub
this.systemFile = systemFile ;
}
}
class
Directory implements Composant {
private List<Composant> enfants;
private String name;
private GregorianCalendar calend;
@Override
publicboolean add(Composant c) {
// TODO Auto-generated method stub
returnenfants.add(c);
}
@Override
public String getDate() {
// TODO Auto-generated method stub
returnnew SimpleDateFormat("YYYYMMDD").format(calend.getTime());
}
@Override
public String getName() {
// TODO Auto-generated method stub
returnname;
}
@Override
public Composant[] open() {
// TODO Auto-generated method stub
return (Composant[]) enfants.toArray();
}
@Override
publicboolean remove(Composant c) {
// TODO Auto-generated method stub
returnenfants.remove(c);
}
@Override
publicint size() {
int i = 0;
for (Composant c : enfants) {
i = c.size();
}
return i;
}
@Override
public String getContenu() {
// TODO Auto-generated method stub
returnnull;
}
@Override
publicvoid setContenu(String c) {
}
@Override
public String getSystemFichier() {
// TODO Auto-generated method stub
returnnull;
}
@Override
publicvoid setSystemFichier(String systemFile) {
// TODO Auto-generated method stub
}
}
class
File implements Composant {
private String contenu;
@Override
publicboolean add(Composant c) {
// TODO Auto-generated method stub
returnfalse ;
}
@Override
public String getDate() {
// TODO Auto-generated method stub
returnnull;
}
@Override
public String getName() {
// TODO Auto-generated method stub
returnnull;
}
@Override
public Composant[] open() {
// TODO Auto-generated method stub
returnnull;
}
@Override
publicboolean remove(Composant c) {
returnfalse ;
}
@Override
publicint size() {
// TODO Auto-generated method stub
returncontenu.length();
}
@Override
public String getContenu() {
returncontenu;
}
@Override
publicvoid setContenu(String c) {
if (c == null)
c = "";
this.contenu = c;
}
@Override
public String getSystemFichier() {
// TODO Auto-generated method stub
returnnull;
}
@Override
publicvoid setSystemFichier(String systemFile) {
// TODO Auto-generated method stub
}
}
Partager