01: /*
02: ItsNat Java Web Application Framework
03: Copyright (C) 2007 Innowhere Software Services S.L., Spanish Company
04: Author: Jose Maria Arranz Santamaria
05:
06: This program is free software: you can redistribute it and/or modify
07: it under the terms of the GNU Affero General Public License as published by
08: the Free Software Foundation, either version 3 of the License, or
09: (at your option) any later version. See the GNU Affero General Public
10: License for more details. See the copy of the GNU Affero General Public License
11: included in this program. If not, see <http://www.gnu.org/licenses/>.
12: */
13:
14: package org.itsnat.core.event;
15:
16: /**
17: * Is the base class of "transport" classes which carry one named value, these classes are used to send custom data from client
18: * to server using an event fired on the client and listened in the server.
19: *
20: * <p>Derived classes may do some kind of automatic synchronization in the server, for instance
21: * an attribute of a client element can be transported and updated the server counterpart element.</p>
22: *
23: * <p>With or without synchronization the transported value can be obtained
24: * calling {@link org.itsnat.core.event.ItsNatEvent#getExtraParam(String)}</p>
25: *
26: * @author Jose Maria Arranz Santamaria
27: * @see org.itsnat.core.ItsNatDocument#addEventListener(org.w3c.dom.events.EventTarget,String,org.w3c.dom.events.EventListener,boolean,int,ParamTransport[],String,long)
28: */
29: public abstract class SingleParamTransport extends ParamTransport {
30: private String name;
31:
32: /**
33: * Creates a new instance ready to transport a client value with the specified name
34: * with optional server synchronization.
35: *
36: * @param name the attribute name.
37: * @param sync if true the server attribute is updated.
38: */
39: protected SingleParamTransport(String name, boolean sync) {
40: super (sync);
41:
42: this .name = name;
43: }
44:
45: /**
46: * Returns the item name for instance a property or attribute name.
47: *
48: * @return the item name.
49: */
50: public String getName() {
51: return name;
52: }
53: }
|