KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > openccm > ast > lib > UnionMemberImpl


1 /*====================================================================
2
3 OpenCCM: The Open CORBA Component Model Platform
4 Copyright (C) 2000-2004 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, Mathieu Vadet.
23 Contributor(s): Christophe Demarey.
24
25 ====================================================================*/

26
27 package org.objectweb.openccm.ast.lib;
28
29 /**
30  * UnionMemberImpl is a wrapper class for IDL union members.
31  *
32  * Inherits from:
33  * - WithNameTypeRef for the associated name and type reference,
34  * - WithAnyValue for the associated any value.
35  *
36  * @author <a HREF="mailto:Philippe.Merle@lifl.fr">Philippe Merle</a>
37  * <a HREF="mailto:Mathieu.Vadet@lifl.fr">Mathieu Vadet</a>
38  *
39  * @version 0.1
40  */

41
42 public class UnionMemberImpl
43        extends WithNameTypeRefImpl
44        implements org.objectweb.openccm.ast.api.UnionMember
45 {
46     // ==================================================================
47
//
48
// Internal state.
49
//
50
// ==================================================================
51

52     /** The associated AnyValue. */
53     private AnyValueImpl any_;
54
55     // ==================================================================
56
//
57
// Constructor.
58
//
59
// ==================================================================
60

61     /**
62      * The constructor.
63      *
64      * @param name The associated name.
65      * @param type The associated type.
66      * @param value The associated value.
67      */

68     public
69     UnionMemberImpl(String JavaDoc name,
70                     org.objectweb.openccm.ast.api.TypeRef type,
71                     AnyValueImpl any)
72     {
73         // Call the WithNameTypeRefImpl constructor.
74
super(name, type);
75
76         // Init internal state.
77
any_ = any;
78     }
79
80     // ==================================================================
81
//
82
// Internal methods.
83
//
84
// ==================================================================
85

86     /**
87      * Obtain its associated CORBA::UnionMember.
88      *
89      * @param discriminator The discriminator TypeCode.
90      *
91      * @return Its associated CORBA::UnionMember.
92      */

93     protected org.omg.CORBA.UnionMember JavaDoc
94     getUnionMember(org.omg.CORBA.TypeCode JavaDoc discriminator)
95     {
96         return new org.omg.CORBA.UnionMember JavaDoc(
97                        getName(),
98                        any_.computeAny(discriminator),
99                        org.objectweb.openccm.corba.TypeCodeUtils.getTC_void(),
100                        getIDLType());
101     }
102
103     // ==================================================================
104
//
105
// Public methods.
106
//
107
// ==================================================================
108

109     // ==================================================================
110
//
111
// Methods for OMG IDL org.objectweb.openccm.ast.api.WithAny
112
//
113
// ==================================================================
114

115     /**
116      * Set the associated AnyValue.
117      *
118      * @param value The AnyValue to set.
119      */

120     public void
121     setAnyValue(org.objectweb.openccm.ast.api.AnyValue value)
122     {
123       any_ = (AnyValueImpl)value;
124     }
125
126     /**
127      * Obtain the associated AnyValue.
128      *
129      * @return The associated AnyValue.
130      */

131     public org.objectweb.openccm.ast.api.AnyValue
132     getAnyValue()
133     {
134       return any_;
135     }
136
137     // ==================================================================
138
//
139
// Methods for OMG IDL org.objectweb.openccm.ast.api.UnionMember
140
//
141
// ==================================================================
142
}
143
Popular Tags