Add all 23 GoF design pattern implementations
This commit is contained in:
20
02-structural/composite/File.java
Normal file
20
02-structural/composite/File.java
Normal file
@@ -0,0 +1,20 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user