01: //WebOnSwing - Web Application Framework
02: //Copyright (C) 2003 Fernando Damian Petrola
03: //
04: //This library is free software; you can redistribute it and/or
05: //modify it under the terms of the GNU Lesser General Public
06: //License as published by the Free Software Foundation; either
07: //version 2.1 of the License, or (at your option) any later version.
08: //
09: //This library 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 GNU
12: //Lesser General Public License for more details.
13: //
14: //You should have received a copy of the GNU Lesser General Public
15: //License along with this library; if not, write to the Free Software
16: //Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17:
18: package net.ar.webonswing.wrapping;
19:
20: import net.ar.webonswing.visitor.*;
21:
22: public class WindowWrapper extends DefaultVisualWindow implements
23: VisualWindow, ComponentWrapper {
24: transient protected Object theWrappedComponent;
25:
26: public WindowWrapper() {
27: }
28:
29: public WindowWrapper(Object aComponent) {
30: theWrappedComponent = aComponent;
31: theName = Long.toHexString(System.currentTimeMillis());
32: }
33:
34: public Object getLockObject() {
35: return getWrappedComponent();
36: }
37:
38: public void accept(Visitor aVisitor) {
39: ComponentVisitor theComponentVisitor = ((ComponentVisitor) aVisitor);
40:
41: theComponentVisitor.visitWindowBegin(this );
42:
43: for (int i = 0; i < theChilds.size(); i++)
44: ((VisualComponent) theChilds.get(i)).accept(aVisitor);
45:
46: theComponentVisitor.visitWindowEnd(this );
47: }
48:
49: public VisualWindow newInstance() {
50: return new WindowWrapper();
51: }
52:
53: public Object getWrappedComponent() {
54: return theWrappedComponent;
55: }
56:
57: public void setWrappedComponent(Object object) {
58: theWrappedComponent = object;
59: }
60:
61: public int hashCode() {
62: return theWrappedComponent.hashCode();
63: }
64:
65: public String getTypeId() {
66: return theWrappedComponent.getClass().getName();
67: }
68: }
|