KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > openccm > generator > translator > ast2idl > lib > AST_PSDLTranslator


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

26
27 package org.objectweb.openccm.generator.translator.ast2idl.lib;
28
29 /**
30  * Utility class to translate PSDL types in string format.
31  *
32  * @author <a HREF="mailto:Christophe.Demarey@lifl.fr">Christophe Demarey</a>
33  *
34  * @version 0.1
35  */

36
37 public class AST_PSDLTranslator
38      extends org.objectweb.openccm.generator.translator.ast2idl.lib.AST_IDLTranslator
39   implements org.objectweb.openccm.generator.translator.ast2idl.api.AST_PSDLTranslator
40 {
41     // ==================================================================
42
//
43
// Internal state.
44
//
45
// ==================================================================
46

47     // ==================================================================
48
//
49
// Constructor.
50
//
51
// ==================================================================
52

53     /**
54      * The default constructor.
55      **/

56     public
57     AST_PSDLTranslator()
58     {
59         super();
60         keywords_.add("as");
61         keywords_.add("factory");
62         keywords_.add("implements");
63         keywords_.add("key");
64         keywords_.add("of");
65         keywords_.add("primary");
66         keywords_.add("ref");
67         keywords_.add("scope");
68         keywords_.add("state");
69         keywords_.add("storagehome");
70         keywords_.add("storagetype");
71         keywords_.add("stores");
72         keywords_.add("strong");
73     }
74
75     // ==================================================================
76
//
77
// Internal methods.
78
//
79
// ==================================================================
80

81     // ==================================================================
82
//
83
// Public methods.
84
//
85
// ==================================================================
86

87     /**
88      * Translate a psdl type into its idl / psdl format.
89      *
90      * @param type - The psdl type reference to translate.
91      *
92      * @return The resulting string.
93      **/

94     public String JavaDoc
95     toPSDL(org.objectweb.openccm.ast.api.PsdlTypeRef type)
96     {
97         org.objectweb.openccm.ast.api.TypeRef idl_type = null;
98         org.objectweb.openccm.ast.api.StorageTypeBase st_base = null;
99
100         if (type == null)
101         {
102             return "";
103         }
104         idl_type = type.getTypeRef();
105         if (idl_type != null)
106         {
107             return toIDL(idl_type);
108         }
109         else
110         { // type is a psdl type
111
st_base = type.getStorageTypeBase();
112             return getAbsoluteName(st_base);
113         }
114     }
115 }
116
Popular Tags