package composite; /** * Component — the common interface for both files (leaves) and directories (composites). * Clients work through this interface and never need to know which type they're dealing with. */ public interface FileSystemItem { String getName(); long getSize(); // total size in bytes — recursive for directories void print(String indent); // display the tree at the given indentation level }