KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sun > enterprise > tools > guiframework > view > DescriptorCCActionTable


1 /*
2  * The contents of this file are subject to the terms
3  * of the Common Development and Distribution License
4  * (the License). You may not use this file except in
5  * compliance with the License.
6  *
7  * You can obtain a copy of the license at
8  * https://glassfish.dev.java.net/public/CDDLv1.0.html or
9  * glassfish/bootstrap/legal/CDDLv1.0.txt.
10  * See the License for the specific language governing
11  * permissions and limitations under the License.
12  *
13  * When distributing Covered Code, include this CDDL
14  * Header Notice in each file and include the License file
15  * at glassfish/bootstrap/legal/CDDLv1.0.txt.
16  * If applicable, add the following below the CDDL Header,
17  * with the fields enclosed by brackets [] replaced by
18  * you own identifying information:
19  * "Portions Copyrighted [year] [name of copyright owner]"
20  *
21  * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
22  */

23
24 package com.sun.enterprise.tools.guiframework.view;
25
26 import com.iplanet.jato.NavigationException;
27 import com.iplanet.jato.RequestContext;
28 import com.iplanet.jato.model.ModelControlException;
29 import com.iplanet.jato.view.ContainerView;
30 import com.iplanet.jato.view.View;
31 import com.iplanet.jato.view.event.ChildDisplayEvent;
32 import com.iplanet.jato.view.event.ChildContentDisplayEvent;
33 import com.iplanet.jato.view.event.DisplayEvent;
34
35 import com.sun.enterprise.tools.guiframework.exception.ChildNotRegisteredException;
36 import com.sun.enterprise.tools.guiframework.view.descriptors.ViewDescriptor;
37
38 import com.sun.web.ui.model.CCActionTableModelInterface;
39 import com.sun.web.ui.view.table.CCActionTable;
40
41
42
43
44 public class DescriptorCCActionTable extends CCActionTable implements DescriptorContainerView {
45
46     /**
47      * Constructor
48      */

49     public DescriptorCCActionTable(RequestContext ctx, ContainerView container,
50                    String JavaDoc pageName, ViewDescriptor desc,
51                    CCActionTableModelInterface model) {
52     super(container, model, pageName);
53     setRequestContext(ctx);
54     setContainerView(this);
55     setViewDescriptor(desc);
56     registerViewDescriptorChildren();
57     }
58
59
60     /**
61      * This method retrieves this View ViewDescriptor.
62      *
63      * @return This View's ViewDescriptor.
64      */

65     public ViewDescriptor getViewDescriptor() {
66     return _viewDesc;
67     }
68
69
70     /**
71      * This method sets the ViewDescriptor for this View.
72      */

73     protected void setViewDescriptor(ViewDescriptor desc) {
74     _viewDesc = desc;
75     }
76
77
78     /**
79      * This method registerd the Descriptor children.
80      */

81     public void registerViewDescriptorChildren() {
82     DescriptorViewHelper.registerViewDescriptorChildren(getViewDescriptor(), this);
83     }
84
85
86     /**
87      * This method is defined in ContainerView, but it is important to
88      * to override this.
89      *
90      * This method should delegate to the helper createChild method to use the
91      * descriptor information
92      */

93     public View createChild(String JavaDoc name) {
94     View child = null;
95     try {
96         // Try to create the Child via a child descriptor
97
child = DescriptorViewHelper.createChild(this, name);
98     } catch (ChildNotRegisteredException ex) {
99         // Some children have built-in support via the super class
100
child = super.createChild(name);
101     } catch (ChildNullException ex) {
102         // Some children have built-in support via the super class
103
try {
104         child = super.createChild(name);
105         if (child == null) {
106             throw ex;
107         }
108         } catch (Exception JavaDoc ex2) {
109         // Throw the original ChildNullException as we were just
110
// chasing a long shot by trying the super's createChild.
111
throw ex;
112         }
113     }
114
115     // return the child
116
return child;
117     }
118
119
120     /**
121      *
122      */

123     public RequestContext getRequestContext() {
124     return _reqCtx;
125     }
126
127
128     /**
129      *
130      */

131     public void setRequestContext(RequestContext context) {
132     _reqCtx = context;
133     }
134
135
136     public void forwardTo(RequestContext requestContext) throws NavigationException {
137     getParentViewBean().forwardTo(requestContext);
138     }
139
140
141
142     ////////////////////////////////////////////////////////////
143
// Event Methods //
144
////////////////////////////////////////////////////////////
145

146     /**
147      * This method dispatches BeginDisplay events to each registered
148      * BeginDisplay event handler according the the ViewDescriptor.
149      * This method is defined in ContainerView, but it is important to
150      * to override this.
151      *
152      * @param event The DisplayEvent, created internally by JATO
153      */

154     public void beginDisplay(DisplayEvent event) throws ModelControlException {
155     DescriptorViewHelper.beginDisplay(this, event);
156     super.beginDisplay(event);
157     }
158
159
160     public boolean beginChildDisplay(ChildDisplayEvent event) throws ModelControlException {
161         return DescriptorViewHelper.beginChildDisplay(this, event);
162     }
163
164
165     public String JavaDoc endChildDisplay(ChildContentDisplayEvent event) throws ModelControlException {
166     return DescriptorViewHelper.endChildDisplay(this, event);
167     }
168
169
170     public void endDisplay(DisplayEvent event) {
171     DescriptorViewHelper.endDisplay(this, event);
172     super.endDisplay(event);
173     }
174
175
176     private RequestContext _reqCtx = null;
177     private ViewDescriptor _viewDesc = null;
178 }
179
Popular Tags