1 /**
2 * Copyright 2005-2015 The Kuali Foundation
3 *
4 * Licensed under the Educational Community License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.opensource.org/licenses/ecl2.php
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16 package org.kuali.rice.krad.file;
17
18 import org.springframework.web.multipart.MultipartFile;
19
20 import java.util.Date;
21
22 /**
23 * The file object interface used by the MultiFileUpload component(s), these component(s) expect objects which
24 * implement this interface.
25 *
26 * @author Kuali Rice Team (rice.collab@kuali.org)
27 */
28 public interface FileMeta {
29 /**
30 * Init method called to initialize the FileMeta object
31 *
32 * @param multipartFile the file this object contains or represents
33 * @throws Exception
34 */
35 public void init(MultipartFile multipartFile) throws Exception;
36
37 /**
38 * Unique id of the FileMeta object
39 *
40 * @return
41 */
42 public String getId();
43
44 /**
45 * @see #getId()
46 */
47 public void setId(String id);
48
49 /**
50 * The name of the file
51 *
52 * @return
53 */
54 public String getName();
55
56 /**
57 * @see #getName()
58 */
59 public void setName(String name);
60
61 /**
62 * The content type of the file
63 *
64 * @return
65 */
66 public String getContentType();
67
68 /**
69 * @see #getContentType()
70 */
71 public void setContentType(String contentType);
72
73 /**
74 * The size of the file (in bytes)
75 *
76 * @return
77 */
78 public Long getSize();
79
80 /**
81 * @see #getSize()
82 */
83 public void setSize(Long size);
84
85 /**
86 * The size of the file formatted into a more readable format
87 *
88 * @return
89 */
90 public String getSizeFormatted();
91
92 /**
93 * The date the file was uploaded
94 *
95 * @return
96 */
97 public Date getDateUploaded();
98
99 /**
100 * @see #getDateUploaded()
101 */
102 public void setDateUploaded(Date dateUploaded);
103
104 /**
105 * The file uploaded date formatted ina more readable String format
106 *
107 * @return
108 */
109 public String getDateUploadedFormatted();
110
111 /**
112 * The url to use to download the file
113 *
114 * @return the url of the file download
115 */
116 public String getUrl();
117
118 /**
119 * @see #getUrl()
120 */
121 public void setUrl(String url);
122
123 }