01: /*
02: * $Id: EnumTypeConverter.java 478625 2006-11-23 17:31:52Z wsmoak $
03: *
04: * Licensed to the Apache Software Foundation (ASF) under one
05: * or more contributor license agreements. See the NOTICE file
06: * distributed with this work for additional information
07: * regarding copyright ownership. The ASF licenses this file
08: * to you under the Apache License, Version 2.0 (the
09: * "License"); you may not use this file except in compliance
10: * with the License. You may obtain a copy of the License at
11: *
12: * http://www.apache.org/licenses/LICENSE-2.0
13: *
14: * Unless required by applicable law or agreed to in writing,
15: * software distributed under the License is distributed on an
16: * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17: * KIND, either express or implied. See the License for the
18: * specific language governing permissions and limitations
19: * under the License.
20: */
21: package org.apache.struts2.showcase.conversion;
22:
23: import java.util.ArrayList;
24: import java.util.Iterator;
25: import java.util.List;
26: import java.util.Map;
27:
28: import org.apache.struts2.util.StrutsTypeConverter;
29:
30: /**
31: * @version $Date: 2006-11-23 12:31:52 -0500 (Thu, 23 Nov 2006) $ $Id: EnumTypeConverter.java 478625 2006-11-23 17:31:52Z wsmoak $
32: */
33: public class EnumTypeConverter extends StrutsTypeConverter {
34:
35: @Override
36: public Object convertFromString(Map context, String[] values,
37: Class toClass) {
38: List<Enum> result = new ArrayList<Enum>();
39: for (int a = 0; a < values.length; a++) {
40: Enum e = Enum.valueOf(OperationsEnum.class, values[a]);
41: if (e != null)
42: result.add(e);
43: }
44: return result;
45: }
46:
47: @Override
48: public String convertToString(Map context, Object o) {
49: List l = (List) o;
50: String result = "<";
51: for (Iterator i = l.iterator(); i.hasNext();) {
52: result = result + "[" + i.next() + "]";
53: }
54: result = result + ">";
55: return result;
56: }
57:
58: }
|