KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > ccm > IDL3 > InitializerImpl


1 /*====================================================================
2
3 OpenCCM: The Open CORBA Component Model Platform
4 Copyright (C) 2000-2002 USTL - LIFL - GOAL
5 Contact: openccm-team@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, Mathieu Vadet.
23 Contributor(s): ______________________________________.
24
25 ====================================================================*/

26
27 package org.objectweb.ccm.IDL3;
28
29 /**
30  * This class manages value initializer declarations.
31  *
32  * @author <a=href="Philippe.Merle@lifl.fr">Philippe Merle</a>
33  * <a=href="Mathieu.Vadet@lifl.fr">Mathieu Vadet</a>
34  *
35  * @version 0.3
36  */

37
38 public class InitializerImpl
39        extends ExceptionListImpl
40        implements Initializer
41 {
42     // ==================================================================
43
//
44
// Internal state.
45
//
46
// ==================================================================
47

48     /**
49      **
50      **/

51     private String JavaDoc name_;
52
53     /**
54      ** List of parameters.
55      **/

56     private ParameterListImpl parameters_;
57
58     // ==================================================================
59
//
60
// Constructor.
61
//
62
// ==================================================================
63

64     /**
65      ** The constructor with the parent scope.
66      **
67      ** @param parent The parent scope of the initializer declaration.
68      **/

69     protected
70     InitializerImpl()
71     {
72         // Init internal state.
73
name_ = "";
74         parameters_ = new ParameterListImpl();
75     }
76
77     // ==================================================================
78
//
79
// Internal methods.
80
//
81
// ==================================================================
82

83     /**
84      ** Obtain its Initializer.
85      **
86      ** @return A new created Initializer object.
87      **/

88     public org.omg.CORBA.ExtInitializer
89     getExtInitializer()
90     {
91         String JavaDoc[] names = parameters_.getParamNames();
92         TypeRef[] types = parameters_.getParamTypes();
93         org.omg.CORBA.StructMember JavaDoc[] result =
94             new org.omg.CORBA.StructMember JavaDoc[names.length];
95         for(int i=0; i<result.length; i++)
96         {
97             result[i] = new org.omg.CORBA.StructMember JavaDoc(
98                             names[i],
99                             org.objectweb.openccm.corba.TypeCodeUtils.getTC_void(),
100                             types[i].getIDLType());
101         }
102
103         return new org.omg.CORBA.ExtInitializer(result,
104                                                 getExceptionDefs(),
105                                                 getExceptionDescriptions(),
106                                                 name_);
107     }
108
109     /**
110      **
111      **/

112     protected void
113     destroy()
114     {
115         parameters_.destroy();
116     }
117
118     // ==================================================================
119
//
120
// Methods for the InitializerDecl interface.
121
//
122
// ==================================================================
123

124     /**
125      **
126      **/

127     public void
128     setName(String JavaDoc name)
129     {
130         name_ = name;
131     }
132
133     /**
134      **
135      **/

136     public String JavaDoc
137     getName()
138     {
139         return name_;
140     }
141
142     /**
143      **
144      **/

145     public ParameterList
146     getParameters()
147     {
148         return parameters_;
149     }
150
151     // ==================================================================
152
//
153
// Methods for the WithInParameters interface.
154
//
155
// ==================================================================
156

157     /**
158      ** Add a parameter.
159      **
160      ** @param name The name of the parameter.
161      ** @param type The TypeRef of the parameter.
162      **/

163     public void
164     addInParam(String JavaDoc name,
165                TypeRef type)
166     {
167         parameters_.addParam(name, type, OperationDecl.PARAM_IN);
168     }
169 }
170
Popular Tags