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.cms.beans.runtime;
35
36 import info.magnolia.cms.core.NodeData;
37 import org.apache.commons.lang.math.NumberUtils;
38
39 import javax.jcr.RepositoryException;
40 import java.io.InputStream;
41
42
43
44
45
46
47
48
49 public class File {
50
51 private final NodeData data;
52
53 private String extension;
54
55 private String fileName;
56
57 private String contentType;
58
59 private String nodeDataTemplate;
60
61 private int size;
62
63 public File(NodeData data) {
64 this.data = data;
65
66 this.setNodeDataTemplate(data.getAttribute("nodeDataTemplate"));
67 this.setExtension(data.getAttribute("extension"));
68 this.setFileName(data.getAttribute("fileName"));
69 this.setContentType(data.getAttribute("contentType"));
70
71 String sizeString = data.getAttribute("size");
72 if (NumberUtils.isNumber(sizeString)) {
73 this.setSize(Integer.parseInt(sizeString));
74 }
75
76 }
77
78 public String getExtension() {
79 return extension;
80 }
81
82 public void setExtension(String extension) {
83 this.extension = extension;
84 }
85
86 public String getFileName() {
87 return fileName;
88 }
89
90 public void setFileName(String fileName) {
91 this.fileName = fileName;
92 }
93
94 public String getContentType() {
95 return contentType;
96 }
97
98 public void setContentType(String contentType) {
99 this.contentType = contentType;
100 }
101
102 public String getNodeDataTemplate() {
103 return nodeDataTemplate;
104 }
105
106 public void setNodeDataTemplate(String nodeDataTemplate) {
107 this.nodeDataTemplate = nodeDataTemplate;
108 }
109
110 public int getSize() {
111 return size;
112 }
113
114 public void setSize(int size) {
115 this.size = size;
116 }
117
118 public NodeData getNodeData() {
119 return this.data;
120 }
121
122 public InputStream getStream() {
123 try {
124 return this.data.getValue().getStream();
125 }
126 catch (RepositoryException re) {
127 return null;
128 }
129 }
130 }