-
Notifications
You must be signed in to change notification settings - Fork 17
Expand file tree
/
Copy pathCompositeLesson.java
More file actions
45 lines (38 loc) · 833 Bytes
/
Copy pathCompositeLesson.java
File metadata and controls
45 lines (38 loc) · 833 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package patterns.structural;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class CompositeLesson {
public static void main(String[] args) {
}
}
class File {
String fileName;
}
class Folder {
String name;
Date creationDate;
List<Folder> folders = new ArrayList<>();
List<File> files = new ArrayList<>();
public Folder(String name) {
this.name = name;
}
void addFolder(Folder folder) {
folders.add(folder);
}
void removeFolder(Folder folder) {
folders.remove(folder);
}
List<Folder> getFolders() {
return folders;
}
void addFile(File file) {
files.add(file);
}
void removeFile(File file) {
files.remove(file);
}
List<File> getFiles() {
return files;
}
}