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 public abstract class AbstractFileItemConverter extends AbstractConverter {
23
24 @SuppressWarnings("unchecked")
25 public Class[] getSourceClasses() {
26 return new Class[] { FileItem.class, FileItem[].class };
27 }
28
29 @SuppressWarnings("unchecked")
30 public Object convert(final Object source, final Class destClass,
31 final ConversionContext context) {
32 if (source == null) {
33 return null;
34 }
35 if (source instanceof FileItem) {
36 final FileItem fileItem = (FileItem) source;
37 return convert(fileItem);
38 }
39 if (source instanceof FileItem[]) {
40 final FileItem[] fileItems = (FileItem[]) source;
41 return convert(fileItems[0]);
42 }
43 return null;
44 }
45
46 protected abstract Object convert(final FileItem fileItem);
47
48 }