KickJava   Java API By Example, From Geeks To Geeks.

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


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.model.*;
32 import com.iplanet.jato.view.DisplayField;
33 import com.iplanet.jato.view.event.ChildDisplayEvent;
34 import com.iplanet.jato.view.event.ChildContentDisplayEvent;
35 import com.iplanet.jato.view.event.DisplayEvent;
36
37 import com.sun.enterprise.tools.guiframework.exception.ChildNotRegisteredException;
38 import com.sun.enterprise.tools.guiframework.view.descriptors.ViewDescriptor;
39
40 import com.sun.web.ui.model.CCAddRemoveModelInterface;
41 import com.sun.web.ui.view.addremove.CCAddRemove;
42 import javax.servlet.http.*;
43
44 public class DescriptorCCAddRemove extends CCAddRemove implements DescriptorContainerView {
45
46     /**
47      * Constructor
48      */

49     public DescriptorCCAddRemove(RequestContext ctx, ContainerView container,
50             String JavaDoc pageName, ViewDescriptor desc, CCAddRemoveModelInterface model)
51     {
52     super(container, model, pageName);
53         // This is not necessary, but good practice.
54
setDefaultModel((Model)model);
55     setRequestContext(ctx);
56     setViewDescriptor(desc);
57     registerViewDescriptorChildren();
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      * This method sets the ViewDescriptor for this View.
71      */

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

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

90     public View createChild(String JavaDoc name) {
91         // Try to create the Child via a child descriptor
92
View child = null;
93     try {
94         child = DescriptorViewHelper.createChild(this, name);
95     } catch (ChildNotRegisteredException ex) {
96         // Some children have built-in support via the super class
97
child = super.createChild(name);
98     }
99
100     // return the child
101
return child;
102     }
103
104     /**
105      *
106      */

107     public RequestContext getRequestContext() {
108     return _reqCtx;
109     }
110
111     /**
112      *
113      */

114     public void setRequestContext(RequestContext context) {
115     _reqCtx = context;
116     }
117
118     public void forwardTo(RequestContext requestContext) throws NavigationException {
119     getParentViewBean().forwardTo(requestContext);
120     }
121
122     ////////////////////////////////////////////////////////////
123
// Event Methods //
124
////////////////////////////////////////////////////////////
125

126     /**
127      * This method dispatches BeginDisplay events to each registered
128      * BeginDisplay event handler according the the ViewDescriptor.
129      * This method is defined in ContainerView, but it is important to
130      * to override this.
131      *
132      * @param event The DisplayEvent, created internally by JATO
133      */

134     public void beginDisplay(DisplayEvent event) throws ModelControlException {
135     DescriptorViewHelper.beginDisplay(this, event);
136     super.beginDisplay(event);
137     }
138
139     public boolean beginChildDisplay(ChildDisplayEvent event) throws ModelControlException {
140         return DescriptorViewHelper.beginChildDisplay(this, event);
141     }
142
143     public String JavaDoc endChildDisplay(ChildContentDisplayEvent event) throws ModelControlException {
144     return DescriptorViewHelper.endChildDisplay(this, event);
145     }
146
147     public void endDisplay(DisplayEvent event) {
148     DescriptorViewHelper.endDisplay(this, event);
149     super.endDisplay(event);
150     }
151
152     private RequestContext _reqCtx = null;
153     private ViewDescriptor _viewDesc = null;
154 }
155
Popular Tags