package composite; /** * Component interface — the common contract for BOTH files (leaves) * and directories (composites). Clients work through this interface * and never need to know which 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 }