1 /*
2  * Copyright (c) 1998, 2007, Oracle and/or its affiliates. All rights reserved.
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * This code is free software; you can redistribute it and/or modify it
6  * under the terms of the GNU General Public License version 2 only, as
7  * published by the Free Software Foundation.  Oracle designates this
8  * particular file as subject to the "Classpath" exception as provided
9  * by Oracle in the LICENSE file that accompanied this code.
10  *
11  * This code is distributed in the hope that it will be useful, but WITHOUT
12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14  * version 2 for more details (a copy is included in the LICENSE file that
15  * accompanied this code).
16  *
17  * You should have received a copy of the GNU General Public License version
18  * 2 along with this work; if not, write to the Free Software Foundation,
19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20  *
21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22  * or visit www.oracle.com if you need additional information or have any
23  * questions.
24  */
25 
26 /*
27  * Licensed Materials - Property of IBM
28  * RMI-IIOP v1.0
29  * Copyright IBM Corp. 1998 1999  All Rights Reserved
30  *
31  */
32 
33 package sun.rmi.rmic.iiop;
34 
35 import sun.tools.java.Identifier;
36 
37 public interface Constants extends sun.rmi.rmic.Constants {
38 
39     // Identifiers for referenced classes:
40 
41     public static final Identifier idReplyHandler =
42         Identifier.lookup("org.omg.CORBA.portable.ResponseHandler");
43     public static final Identifier idStubBase =
44         Identifier.lookup("javax.rmi.CORBA.Stub");
45     public static final Identifier idTieBase =
46         Identifier.lookup("org.omg.CORBA.portable.ObjectImpl");
47     public static final Identifier idTieInterface =
48         Identifier.lookup("javax.rmi.CORBA.Tie");
49     public static final Identifier idPOAServantType =
50         Identifier.lookup( "org.omg.PortableServer.Servant" ) ;
51     public static final Identifier idDelegate =
52         Identifier.lookup("org.omg.CORBA.portable.Delegate");
53     public static final Identifier idOutputStream =
54         Identifier.lookup("org.omg.CORBA.portable.OutputStream");
55     public static final Identifier idExtOutputStream =
56         Identifier.lookup("org.omg.CORBA_2_3.portable.OutputStream");
57     public static final Identifier idInputStream =
58         Identifier.lookup("org.omg.CORBA.portable.InputStream");
59     public static final Identifier idExtInputStream =
60         Identifier.lookup("org.omg.CORBA_2_3.portable.InputStream");
61     public static final Identifier idSystemException =
62         Identifier.lookup("org.omg.CORBA.SystemException");
63     public static final Identifier idBadMethodException =
64         Identifier.lookup("org.omg.CORBA.BAD_OPERATION");
65     public static final Identifier idPortableUnknownException =
66         Identifier.lookup("org.omg.CORBA.portable.UnknownException");
67     public static final Identifier idApplicationException =
68         Identifier.lookup("org.omg.CORBA.portable.ApplicationException");
69     public static final Identifier idRemarshalException =
70         Identifier.lookup("org.omg.CORBA.portable.RemarshalException");
71     public static final Identifier idJavaIoExternalizable =
72         Identifier.lookup("java.io.Externalizable");
73     public static final Identifier idCorbaObject =
74         Identifier.lookup("org.omg.CORBA.Object");
75     public static final Identifier idCorbaORB =
76         Identifier.lookup("org.omg.CORBA.ORB");
77     public static final Identifier idClassDesc =
78         Identifier.lookup("javax.rmi.CORBA.ClassDesc");
79     public static final Identifier idJavaIoIOException =
80         Identifier.lookup("java.io.IOException");
81     public static final Identifier idIDLEntity =
82         Identifier.lookup("org.omg.CORBA.portable.IDLEntity");
83     public static final Identifier idValueBase =
84         Identifier.lookup("org.omg.CORBA.portable.ValueBase");
85     public static final Identifier idBoxedRMI =
86         Identifier.lookup("org.omg.boxedRMI");
87     public static final Identifier idBoxedIDL =
88         Identifier.lookup("org.omg.boxedIDL");
89     public static final Identifier idCorbaUserException =
90         Identifier.lookup("org.omg.CORBA.UserException");
91 
92 
93     // Identifiers for primitive types:
94 
95     public static final Identifier idBoolean =
96         Identifier.lookup("boolean");
97     public static final Identifier idByte =
98         Identifier.lookup("byte");
99     public static final Identifier idChar =
100         Identifier.lookup("char");
101     public static final Identifier idShort =
102         Identifier.lookup("short");
103     public static final Identifier idInt =
104         Identifier.lookup("int");
105     public static final Identifier idLong =
106         Identifier.lookup("long");
107     public static final Identifier idFloat =
108         Identifier.lookup("float");
109     public static final Identifier idDouble =
110         Identifier.lookup("double");
111     public static final Identifier idVoid =
112         Identifier.lookup("void");
113 
114     // IndentingWriter constructor args:
115 
116     public static final int INDENT_STEP = 4;
117     public static final int TAB_SIZE = Integer.MAX_VALUE; // No tabs.
118 
119     // Type status codes:
120 
121     public static final int STATUS_PENDING = 0;
122     public static final int STATUS_VALID = 1;
123     public static final int STATUS_INVALID = 2;
124 
125     // Java Names:
126 
127     public static final String NAME_SEPARATOR = ".";
128     public static final String SERIAL_VERSION_UID = "serialVersionUID";
129 
130     // IDL Names:
131 
132     public static final String[] IDL_KEYWORDS = {
133         "abstract",
134         "any",
135         "attribute",
136         "boolean",
137         "case",
138         "char",
139         "const",
140         "context",
141         "custom",
142         "default",
143         "double",
144         "enum",
145         "exception",
146         "factory",
147         "FALSE",
148         "fixed",
149         "float",
150         "in",
151         "inout",
152         "interface",
153         "long",
154         "module",
155         "native",
156         "Object",
157         "octet",
158         "oneway",
159         "out",
160         "private",
161         "public",
162         "raises",
163         "readonly",
164         "sequence",
165         "short",
166         "string",
167         "struct",
168         "supports",
169         "switch",
170         "TRUE",
171         "truncatable",
172         "typedef",
173         "unsigned",
174         "union",
175         "ValueBase",
176         "valuetype",
177         "void",
178         "wchar",
179         "wstring",
180     };
181 
182 
183     public static final String EXCEPTION_SUFFIX = "Exception";
184     public static final String ERROR_SUFFIX = "Error";
185     public static final String EX_SUFFIX = "Ex";
186 
187     public static final String IDL_REPOSITORY_ID_PREFIX = "IDL:";
188     public static final String IDL_REPOSITORY_ID_VERSION = ":1.0";
189 
190     public static final String[]  IDL_CORBA_MODULE = {"CORBA"};
191     public static final String[]  IDL_SEQUENCE_MODULE = {"org","omg","boxedRMI"};
192     public static final String[]  IDL_BOXEDIDL_MODULE = {"org","omg","boxedIDL"};
193 
194     public static final String    IDL_CLASS = "ClassDesc";
195     public static final String[]  IDL_CLASS_MODULE = {"javax","rmi","CORBA"};
196 
197     public static final String    IDL_IDLENTITY = "IDLEntity";
198     public static final String    IDL_SERIALIZABLE = "Serializable";
199     public static final String    IDL_EXTERNALIZABLE = "Externalizable";
200     public static final String[]  IDL_JAVA_IO_MODULE = {"java","io"};
201     public static final String[]  IDL_ORG_OMG_CORBA_MODULE = {"org","omg","CORBA"};
202     public static final String[]  IDL_ORG_OMG_CORBA_PORTABLE_MODULE = {"org","omg","CORBA","portable"};
203 
204     public static final String    IDL_JAVA_LANG_OBJECT = "_Object";
205     public static final String[]  IDL_JAVA_LANG_MODULE = {"java","lang"};
206 
207     public static final String    IDL_JAVA_RMI_REMOTE = "Remote";
208     public static final String[]  IDL_JAVA_RMI_MODULE = {"java","rmi"};
209 
210     public static final String  IDL_SEQUENCE = "seq";
211 
212     public static final String  IDL_CONSTRUCTOR = "create";
213 
214     public static final String  IDL_NAME_SEPARATOR = "::";
215     public static final String  IDL_BOOLEAN = "boolean";
216     public static final String  IDL_BYTE = "octet";
217     public static final String  IDL_CHAR = "wchar";
218     public static final String  IDL_SHORT = "short";
219     public static final String  IDL_INT = "long";
220     public static final String  IDL_LONG = "long long";
221     public static final String  IDL_FLOAT = "float";
222     public static final String  IDL_DOUBLE = "double";
223     public static final String  IDL_VOID = "void";
224 
225     public static final String  IDL_STRING = "WStringValue";
226     public static final String  IDL_CONSTANT_STRING = "wstring";
227     public static final String  IDL_CORBA_OBJECT = "Object";
228     public static final String  IDL_ANY = "any";
229 
230     // File names:
231 
232     public static final String SOURCE_FILE_EXTENSION = ".java";
233     public static final String IDL_FILE_EXTENSION = ".idl";
234 
235     // Type Codes:
236 
237     public static final int TYPE_VOID                   = 0x00000001;   // In PrimitiveType
238     public static final int TYPE_BOOLEAN                = 0x00000002;   // In PrimitiveType
239     public static final int TYPE_BYTE                   = 0x00000004;   // In PrimitiveType
240     public static final int TYPE_CHAR                   = 0x00000008;   // In PrimitiveType
241     public static final int TYPE_SHORT                  = 0x00000010;   // In PrimitiveType
242     public static final int TYPE_INT                    = 0x00000020;   // In PrimitiveType
243     public static final int TYPE_LONG                   = 0x00000040;   // In PrimitiveType
244     public static final int TYPE_FLOAT                  = 0x00000080;   // In PrimitiveType
245     public static final int TYPE_DOUBLE                 = 0x00000100;   // In PrimitiveType
246 
247     public static final int TYPE_STRING                 = 0x00000200;   // In SpecialClassType (String)
248     public static final int TYPE_ANY                    = 0x00000400;   // In SpecialInterfaceType (Serializable,Externalizable)
249     public static final int TYPE_CORBA_OBJECT   = 0x00000800;   // In SpecialInterfaceType (CORBA.Object,Remote)
250 
251     public static final int TYPE_REMOTE                 = 0x00001000;   // In RemoteType
252     public static final int TYPE_ABSTRACT               = 0x00002000;   // In AbstractType
253     public static final int TYPE_NC_INTERFACE   = 0x00004000;   // In NCInterfaceType
254 
255     public static final int TYPE_VALUE                  = 0x00008000;   // In ValueType
256     public static final int TYPE_IMPLEMENTATION = 0x00010000;   // In ImplementationType
257     public static final int TYPE_NC_CLASS               = 0x00020000;   // In NCClassType
258 
259     public static final int TYPE_ARRAY                  = 0x00040000;   // In ArrayType
260     public static final int TYPE_JAVA_RMI_REMOTE = 0x00080000;  // In SpecialInterfaceType
261 
262     // Type code masks:
263 
264     public static final int TYPE_NONE                   = 0x00000000;
265     public static final int TYPE_ALL                    = 0xFFFFFFFF;
266     public static final int TYPE_MASK                   = 0x00FFFFFF;
267     public static final int TM_MASK                             = 0xFF000000;
268 
269     // Type code modifiers:
270 
271     public static final int TM_PRIMITIVE                = 0x01000000;
272     public static final int TM_COMPOUND                 = 0x02000000;
273     public static final int TM_CLASS                    = 0x04000000;
274     public static final int TM_INTERFACE                = 0x08000000;
275     public static final int TM_SPECIAL_CLASS    = 0x10000000;
276     public static final int TM_SPECIAL_INTERFACE= 0x20000000;
277     public static final int TM_NON_CONFORMING   = 0x40000000;
278     public static final int TM_INNER            = 0x80000000;
279 
280     // Attribute kinds...
281 
282     public static final int ATTRIBUTE_NONE = 0;     // Not an attribute.
283     public static final int ATTRIBUTE_IS = 1;       // read-only, had "is" prefix.
284     public static final int ATTRIBUTE_GET = 2;      // read-only, had "get" prefix.
285     public static final int ATTRIBUTE_IS_RW = 3;    // read-write, had "is" prefix.
286     public static final int ATTRIBUTE_GET_RW = 4;   // read-write, had "get" prefix.
287     public static final int ATTRIBUTE_SET = 5;      // had "set" prefix.
288 
289     public static final String[] ATTRIBUTE_WIRE_PREFIX = {
290         "",
291         "_get_",
292         "_get_",
293         "_get_",
294         "_get_",
295         "_set_",
296     };
297 }
298