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 package info.magnolia.resourceloader.classpath;
35
36 import info.magnolia.resourceloader.AbstractResource;
37
38 import java.util.List;
39
40 import org.slf4j.Logger;
41 import org.slf4j.LoggerFactory;
42
43 import lombok.EqualsAndHashCode;
44
45
46
47
48
49 @EqualsAndHashCode(callSuper = true)
50 public class ClasspathResource extends AbstractResource {
51
52 private static final Logger log = LoggerFactory.getLogger(ClasspathResource.class);
53
54 private final String realPath;
55 private final boolean isFile;
56
57 ClasspathResource(ClasspathResourceOrigin origin, String path, boolean isFile) {
58 super(origin);
59 if (!path.startsWith("/")) {
60 throw new IllegalArgumentException("Path does not start with /: " + path);
61 }
62 this.realPath = path;
63 this.isFile = isFile;
64 }
65
66 String getRealPath() {
67 return realPath;
68 }
69
70 @Override
71 public boolean isFile() {
72 return isFile;
73 }
74
75 @Override
76 public boolean isDirectory() {
77 return !isFile;
78 }
79
80 @Override
81 public ClasspathResource getParent() {
82 return (ClasspathResource) super.getParent();
83 }
84
85
86
87
88 @Deprecated
89 void setParent(ClasspathResource ignored) {
90 log.warn("This method should not be used, it will not have any effects");
91 }
92
93
94
95
96 @Deprecated
97 public void setChildren(List<ClasspathResource> ignored) {
98 log.warn("This method should not be used, it will not have any effects");
99 }
100
101
102
103
104 @Deprecated
105 public void addChild(ClasspathResource ignored) {
106 log.warn("This method should not be used, it will not have any effects");
107 }
108 }