KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > util > browser > core > panel > DefaultCompositePanelFactory


1 /*====================================================================
2
3 Objectweb Browser Framework
4 Copyright (C) 2000-2003 INRIA - USTL - LIFL - GOAL
5 Contact: openccm@objectweb.org
6
7 This library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Lesser General Public
9 License as published by the Free Software Foundation; either
10 version 2.1 of the License, or any later version.
11
12 This library 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 library; if not, write to the Free Software
19 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
20 USA
21
22 Initial developer(s): Philippe Merle, Jerome Moroy.
23 Contributor(s): ______________________________________.
24
25 ====================================================================*/

26
27 package org.objectweb.util.browser.core.panel;
28
29 import java.util.Iterator JavaDoc;
30 import java.util.List JavaDoc;
31 import java.util.Vector JavaDoc;
32
33 import org.objectweb.util.browser.api.Panel;
34 import org.objectweb.util.browser.core.api.CompositePanelFactory;
35 //import org.objectweb.util.browser.core.api.PanelFactory;
36
import org.objectweb.util.browser.core.api.ViewFactory;
37
38 /**
39  *
40  *
41  * @author <a HREF="mailto:Philippe.Merle@lifl.fr">Philippe Merle</a>,
42  * <a HREF="mailto:Jerome.Moroy@lifl.fr">Jérôme Moroy</a>
43  *
44  * @version 0.1
45  */

46 public class DefaultCompositePanelFactory
47     extends DefaultPanelFactory
48  implements CompositePanelFactory {
49
50     //==================================================================
51
//
52
// Internal state.
53
//
54
//==================================================================
55

56     protected List JavaDoc viewFactoryList_;
57
58     //==================================================================
59
//
60
// Constructor.
61
//
62
//==================================================================
63

64     public DefaultCompositePanelFactory(){
65         viewFactoryList_ = new Vector JavaDoc();
66     }
67
68     //==================================================================
69
//
70
// No internal method.
71
//
72
//==================================================================
73

74     protected Panel createPanel(Object JavaDoc object){
75         DefaultCompositePanel compositePanel = new DefaultCompositePanel();
76         Iterator JavaDoc iterator = viewFactoryList_.iterator();
77         while (iterator.hasNext()) {
78             ViewFactory element = (ViewFactory) iterator.next();
79             Panel panel = element.newPanel(object);
80             if(panel!=null)
81                 compositePanel.add(panel);
82         }
83         return compositePanel;
84     }
85
86     //==================================================================
87
//
88
// Surchaging method from DefaultPanelFactory class.
89
//
90
//==================================================================
91

92     /**
93      * Return a Panel associated to the param's object.
94      *
95      * @return The associated panel or null.
96      */

97     /*public Panel newPanel(Object object) {
98         if (subPanels_.size()>0){
99             DefaultCompositePanel compositePanel = new DefaultCompositePanel();
100             compositePanel.add(createPanel(object));
101             Iterator it = subPanels_.iterator();
102             while(it.hasNext()){
103                 compositePanel.add(((PanelFactory)it.next()).newPanel(object));
104             }
105             return compositePanel;
106         } else {
107             return createPanel(object);
108         }
109     }*/

110
111     //==================================================================
112
//
113
// Public methods for CompositePanelFactory interface.
114
//
115
//==================================================================
116

117     /**
118      * Overriding methods
119      * @see org.objectweb.util.browser.core.api.CompositePanelFactory#add(org.objectweb.util.browser.core.api.PanelFactory)
120      */

121     public void add(ViewFactory viewFactory) {
122         if(viewFactory!=null)
123             viewFactoryList_.add(viewFactory);
124     }
125
126 }
127
128
129
Popular Tags