Source code: jac/aspects/gui/web/EnumViewer.java
1 /*
2 Copyright (C) 2002-2003 Laurent Martelli <laurent@aopsys.com>
3
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU Lesser General Public License as
6 published by the Free Software Foundation; either version 2 of the
7 License, or (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
17
18 package jac.aspects.gui.web;
19
20 import jac.aspects.gui.Utils;
21 import jac.core.rtti.FieldItem;
22 import jac.util.Enum;
23 import jac.util.InvalidIndexException;
24 import java.io.PrintWriter;
25
26 public class EnumViewer extends AbstractFieldView
27 implements HTMLViewer
28 {
29 Object value;
30 Enum enum;
31
32 public EnumViewer(Object value, Enum enum,
33 Object substance, FieldItem field) {
34 super(substance,field);
35 this.enum = enum;
36 setValue(value);
37 }
38
39 public EnumViewer(Enum enum) {
40 this.enum = enum;
41 }
42
43 public void setValue(Object value) {
44 this.value = value;
45 }
46
47 public void genHTML(PrintWriter out) {
48 if (value!=null) {
49 try {
50 out.print(enum.int2string(((Integer)value).intValue()));
51 } catch(InvalidIndexException e) {
52 out.print(((Integer)value).intValue());
53 }
54 }
55 }
56 }