KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > openccm > corba > TheDynamicAnyFactory


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.
23 Contributor(s): ______________________________________.
24
25 ====================================================================*/

26
27 package org.objectweb.openccm.corba;
28
29 /**
30  * This class encapsulates the DynamicAny::DynAnyFactory singleton object.
31  *
32  * @author <a HREF="mailto:Philippe.Merle@lifl.fr">Philippe Merle</a>
33  *
34  * @version 0.3
35  */

36
37 public abstract class TheDynamicAnyFactory
38 {
39     // ==================================================================
40
//
41
// Internal state.
42
//
43
// ==================================================================
44

45     /**
46      ** To store the DynamicAny::DynAnyFactory singleton object.
47      **/

48     private static org.omg.DynamicAny.DynAnyFactory JavaDoc factory_ = null;
49
50     // ==================================================================
51
//
52
// Constructor.
53
//
54
// ==================================================================
55

56     /**
57      ** The default constructor.
58      **/

59     private
60     TheDynamicAnyFactory()
61     {
62     }
63
64     // ==================================================================
65
//
66
// Internal methods.
67
//
68
// ==================================================================
69

70     // ==================================================================
71
//
72
// Public methods.
73
//
74
// ==================================================================
75

76     /**
77      ** Obtain the DynamicAny::DynAnyFactory singleton object.
78      **
79      ** @return The DynamicAny::DynAnyFactory singleton object.
80      **/

81     public static org.omg.DynamicAny.DynAnyFactory JavaDoc
82     getFactory()
83     {
84         if(factory_ == null)
85         {
86            factory_ = org.omg.DynamicAny.DynAnyFactoryHelper.narrow(
87                TheORB.resolve_initial_reference("DynAnyFactory"));
88         }
89         return factory_;
90     }
91
92     /**
93      ** Set the DynamicAny::DynAnyFactory singleton object.
94      **
95      ** @param factory The DynamicAny::DynAnyFactory singleton object.
96      **/

97     public static void
98     setFactory(org.omg.DynamicAny.DynAnyFactory JavaDoc factory)
99     {
100         factory_ = factory;
101     }
102
103     /**
104      ** Create a dynany form a CORBA::TypeCode.
105      **
106      ** @param tc The CORBA::TypeCode.
107      **
108      ** @return The created dyn any.
109      **/

110     public static org.omg.DynamicAny.DynAny JavaDoc
111     create_dyn_any_from_type_code(org.omg.CORBA.TypeCode JavaDoc tc)
112     {
113         try
114         {
115             return getFactory().create_dyn_any_from_type_code(tc);
116         }
117         catch(org.omg.DynamicAny.DynAnyFactoryPackage.InconsistentTypeCode JavaDoc exc)
118         {
119             // Wrap the DynamicAny::DynAnyFactory::InconsistentTypeCode exception.
120
throw new UserExceptionWrapper(exc);
121         }
122     }
123
124     /**
125      ** Create a DynamicAny::DynEnum from a CORBA::Any.
126      **
127      ** @param any The CORBA::Any source.
128      **
129      ** @return The created DynamicAny::DynEnum.
130      **/

131     public static org.omg.DynamicAny.DynEnum JavaDoc
132     create_dyn_enum(org.omg.CORBA.Any JavaDoc any)
133     {
134         try
135         {
136             return org.omg.DynamicAny.DynEnumHelper.narrow(
137                        getFactory().create_dyn_any(any));
138         }
139         catch (org.omg.DynamicAny.DynAnyFactoryPackage.InconsistentTypeCode JavaDoc exc)
140         {
141             // Wrap the DynamicAny::DynAnyFactory::InconsistentTypeCode exception.
142
throw new UserExceptionWrapper(exc);
143         }
144     }
145
146     /**
147      ** Create a DynamicAny::DynFixed from a CORBA::Any.
148      **
149      ** @param any The CORBA::Any source.
150      **
151      ** @return The created DynamicAny::DynFixed.
152      **/

153     public static org.omg.DynamicAny.DynFixed JavaDoc
154     create_dyn_fixed(org.omg.CORBA.Any JavaDoc any)
155     {
156         try
157         {
158             return org.omg.DynamicAny.DynFixedHelper.narrow(
159                        getFactory().create_dyn_any(any));
160         }
161         catch (org.omg.DynamicAny.DynAnyFactoryPackage.InconsistentTypeCode JavaDoc exc)
162         {
163             // Wrap the DynamicAny::DynAnyFactory::InconsistentTypeCode exception.
164
throw new UserExceptionWrapper(exc);
165         }
166     }
167 }
168
Popular Tags