1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.seasar.cubby.dxo.converter.impl;
17
18 import org.apache.commons.fileupload.FileItem;
19 import org.seasar.extension.dxo.converter.ConversionContext;
20 import org.seasar.extension.dxo.converter.impl.AbstractConverter;
21
22
23
24
25
26
27
28 public abstract class AbstractFileItemConverter extends AbstractConverter {
29
30
31
32
33
34
35
36 @SuppressWarnings("unchecked")
37 public Class[] getSourceClasses() {
38 return new Class[] { FileItem.class, FileItem[].class };
39 }
40
41
42
43
44 @SuppressWarnings("unchecked")
45 public Object convert(final Object source, final Class destClass,
46 final ConversionContext context) {
47 if (source == null) {
48 return null;
49 }
50 if (source instanceof FileItem) {
51 final FileItem fileItem = (FileItem) source;
52 return convert(fileItem);
53 }
54 if (source instanceof FileItem[]) {
55 final FileItem[] fileItems = (FileItem[]) source;
56 return convert(fileItems[0]);
57 }
58 return null;
59 }
60
61 protected abstract Object convert(final FileItem fileItem);
62
63 }