01: /*
02: * Beryl - A web platform based on XML, XSLT and Java
03: * This file is part of the Beryl XML GUI
04: *
05: * Copyright (C) 2004 Wenzel Jakob <wazlaf@tigris.org>
06: *
07: * This program is free software; you can redistribute it and/or
08: * modify it under the terms of the GNU Lesser General Public
09: * License as published by the Free Software Foundation; either
10: * version 2.1 of the License, or (at your option) any later version.
11:
12: * This program is distributed in the hope that it will be useful,
13: * but WITHOUT ANY WARRANTY; without even the implied warranty of
14: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15: * Lesser General Public License for more details.
16: *
17: * You should have received a copy of the GNU Lesser General Public
18: * License along with this program; if not, write to the Free Software
19: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-3107 USA
20: */
21:
22: package org.beryl.gui.test;
23:
24: import java.text.ParseException;
25: import java.util.Date;
26:
27: import org.beryl.gui.GUIException;
28: import org.beryl.gui.View;
29: import org.beryl.gui.model.TableRow;
30: import org.beryl.gui.validators.DateFieldValidator;
31:
32: /**
33: * Simple table row class
34: */
35: public class Person extends TableRow {
36: public Person(String firstName, String lastName, String email,
37: Date birthDate) throws GUIException {
38: setValue("firstName", firstName);
39: setValue("lastName", lastName);
40: setValue("email", email);
41: setValue("birthDate", birthDate);
42: }
43:
44: public void setValue(View source, String key, Object newValue)
45: throws GUIException {
46: if ("birthDate".equals(key)) {
47: super .setValue(source, "birthDateString",
48: DateFieldValidator.EUROPEAN_DATE
49: .format((Date) newValue));
50: } else if ("birthDateString".equals(key)) {
51: try {
52: super .setValue(source, "birthDate",
53: DateFieldValidator.EUROPEAN_DATE
54: .parse((String) newValue));
55: } catch (ParseException e) {
56: throw new GUIException("Invalid date [" + newValue
57: + "]");
58: }
59: } else {
60: super .setValue(source, key, newValue);
61: }
62: }
63:
64: public boolean isEditable(String key) {
65: return true;
66: }
67:
68: public String toString() {
69: return "org.beryl.gui.test.Person[firstName="
70: + getValue("firstName") + ",lastName="
71: + getValue("lastName") + ",email=" + getValue("email")
72: + ",birthDate=" + getValue("birthDate") + "]";
73: }
74: };
|