import java.util.ArrayList; import java.util.List; // Composite class public class Folder implements FileSystemComponent { private String name; private List components = new ArrayList<>(); public Folder(String name) { this.name = name; } public void addComponent(FileSystemComponent component) { components.add(component); } public void removeComponent(FileSystemComponent component) { components.remove(component); } @Override public void showDetails(String indent) { System.out.println(indent + "Folder: [" + name + "]"); // Αναδρομική κλήση της μεθόδου για όλα τα παιδιά του φακέλου for (FileSystemComponent component : components) { component.showDetails(indent + " "); } } }