21 lines
665 B
Java
21 lines
665 B
Java
package composite;
|
|
/**
|
|
* Leaf — a single file with no children.
|
|
* getSize() returns its own bytes. print() outputs a single line.
|
|
* No knowledge of directories or nesting exists in this class.
|
|
*/
|
|
public class File implements FileSystemItem {
|
|
private final String name;
|
|
private final long size;
|
|
public File(String name, long sizeBytes) {
|
|
this.name = name;
|
|
this.size = sizeBytes;
|
|
}
|
|
@Override public String getName() { return name; }
|
|
@Override public long getSize() { return size; }
|
|
@Override
|
|
public void print(String indent) {
|
|
System.out.printf("%s[FILE] %s (%,d bytes)%n", indent, name, size);
|
|
}
|
|
}
|