1 /* |
1 /* |
2 * Copyright (c) 1998, 2004, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
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 |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. Oracle designates this |
7 * published by the Free Software Foundation. Oracle designates this |
55 // not legal in IDL. This allows us to treat a fully |
55 // not legal in IDL. This allows us to treat a fully |
56 // qualified Java name with '.' package separators |
56 // qualified Java name with '.' package separators |
57 // uniformly, and is safe because that is the only |
57 // uniformly, and is safe because that is the only |
58 // legal use of '.' in a Java name. |
58 // legal use of '.' in a Java name. |
59 |
59 |
60 public static final byte[] IDL_IDENTIFIER_CHARS = { |
60 private static final byte[] IDL_IDENTIFIER_CHARS = { |
61 |
61 |
62 // 0 1 2 3 4 5 6 7 8 9 a b c d e f |
62 // 0 1 2 3 4 5 6 7 8 9 a b c d e f |
63 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // 00-0f |
63 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // 00-0f |
64 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // 10-1f |
64 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // 10-1f |
65 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,1,0, // 20-2f |
65 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,1,0, // 20-2f |
93 |
93 |
94 private static IdentityHashtable classToRepStr = new IdentityHashtable(); |
94 private static IdentityHashtable classToRepStr = new IdentityHashtable(); |
95 private static IdentityHashtable classIDLToRepStr = new IdentityHashtable(); |
95 private static IdentityHashtable classIDLToRepStr = new IdentityHashtable(); |
96 private static IdentityHashtable classSeqToRepStr = new IdentityHashtable(); |
96 private static IdentityHashtable classSeqToRepStr = new IdentityHashtable(); |
97 |
97 |
98 private static IdentityHashtable repStrToByteArray = new IdentityHashtable(); |
98 private static final IdentityHashtable repStrToByteArray = new IdentityHashtable(); |
99 private static Hashtable repStrToClass = new Hashtable(); |
99 private static Hashtable repStrToClass = new Hashtable(); |
100 |
100 |
101 private String repId = null; |
101 private String repId = null; |
102 private boolean isSupportedFormat = true; |
102 private boolean isSupportedFormat = true; |
103 private String typeString = null; |
103 private String typeString = null; |
190 public static final String kRemoteValueHash = ""; |
190 public static final String kRemoteValueHash = ""; |
191 public static final String kRemoteStubValue = ""; |
191 public static final String kRemoteStubValue = ""; |
192 public static final String kRemoteTypeStr = ""; |
192 public static final String kRemoteTypeStr = ""; |
193 public static final String kRemoteValueRepID = ""; |
193 public static final String kRemoteValueRepID = ""; |
194 |
194 |
195 public static final Hashtable kSpecialArrayTypeStrings = new Hashtable(); |
195 private static final Hashtable kSpecialArrayTypeStrings = new Hashtable(); |
196 |
196 |
197 static { |
197 static { |
198 kSpecialArrayTypeStrings.put("CORBA.WStringValue", new StringBuffer(java.lang.String.class.getName())); |
198 kSpecialArrayTypeStrings.put("CORBA.WStringValue", new StringBuffer(java.lang.String.class.getName())); |
199 kSpecialArrayTypeStrings.put("javax.rmi.CORBA.ClassDesc", new StringBuffer(java.lang.Class.class.getName())); |
199 kSpecialArrayTypeStrings.put("javax.rmi.CORBA.ClassDesc", new StringBuffer(java.lang.Class.class.getName())); |
200 kSpecialArrayTypeStrings.put("CORBA.Object", new StringBuffer(java.rmi.Remote.class.getName())); |
200 kSpecialArrayTypeStrings.put("CORBA.Object", new StringBuffer(java.rmi.Remote.class.getName())); |
201 |
201 |
202 } |
202 } |
203 |
203 |
204 public static final Hashtable kSpecialCasesRepIDs = new Hashtable(); |
204 private static final Hashtable kSpecialCasesRepIDs = new Hashtable(); |
205 |
205 |
206 static { |
206 static { |
207 kSpecialCasesRepIDs.put(java.lang.String.class, kWStringValueRepID); |
207 kSpecialCasesRepIDs.put(java.lang.String.class, kWStringValueRepID); |
208 kSpecialCasesRepIDs.put(java.lang.Class.class, kClassDescValueRepID); |
208 kSpecialCasesRepIDs.put(java.lang.Class.class, kClassDescValueRepID); |
209 kSpecialCasesRepIDs.put(java.rmi.Remote.class, kRemoteValueRepID); |
209 kSpecialCasesRepIDs.put(java.rmi.Remote.class, kRemoteValueRepID); |
210 } |
210 } |
211 |
211 |
212 public static final Hashtable kSpecialCasesStubValues = new Hashtable(); |
212 private static final Hashtable kSpecialCasesStubValues = new Hashtable(); |
213 |
213 |
214 static { |
214 static { |
215 kSpecialCasesStubValues.put(java.lang.String.class, kWStringStubValue); |
215 kSpecialCasesStubValues.put(java.lang.String.class, kWStringStubValue); |
216 kSpecialCasesStubValues.put(java.lang.Class.class, kClassDescStubValue); |
216 kSpecialCasesStubValues.put(java.lang.Class.class, kClassDescStubValue); |
217 kSpecialCasesStubValues.put(java.lang.Object.class, kObjectStubValue); |
217 kSpecialCasesStubValues.put(java.lang.Object.class, kObjectStubValue); |
219 kSpecialCasesStubValues.put(java.io.Externalizable.class, kExternalizableStubValue); |
219 kSpecialCasesStubValues.put(java.io.Externalizable.class, kExternalizableStubValue); |
220 kSpecialCasesStubValues.put(java.rmi.Remote.class, kRemoteStubValue); |
220 kSpecialCasesStubValues.put(java.rmi.Remote.class, kRemoteStubValue); |
221 } |
221 } |
222 |
222 |
223 |
223 |
224 public static final Hashtable kSpecialCasesVersions = new Hashtable(); |
224 private static final Hashtable kSpecialCasesVersions = new Hashtable(); |
225 |
225 |
226 static { |
226 static { |
227 kSpecialCasesVersions.put(java.lang.String.class, kWStringValueHash); |
227 kSpecialCasesVersions.put(java.lang.String.class, kWStringValueHash); |
228 kSpecialCasesVersions.put(java.lang.Class.class, kClassDescValueHash); |
228 kSpecialCasesVersions.put(java.lang.Class.class, kClassDescValueHash); |
229 kSpecialCasesVersions.put(java.lang.Object.class, kObjectValueHash); |
229 kSpecialCasesVersions.put(java.lang.Object.class, kObjectValueHash); |
230 kSpecialCasesVersions.put(java.io.Serializable.class, kSerializableValueHash); |
230 kSpecialCasesVersions.put(java.io.Serializable.class, kSerializableValueHash); |
231 kSpecialCasesVersions.put(java.io.Externalizable.class, kExternalizableValueHash); |
231 kSpecialCasesVersions.put(java.io.Externalizable.class, kExternalizableValueHash); |
232 kSpecialCasesVersions.put(java.rmi.Remote.class, kRemoteValueHash); |
232 kSpecialCasesVersions.put(java.rmi.Remote.class, kRemoteValueHash); |
233 } |
233 } |
234 |
234 |
235 public static final Hashtable kSpecialCasesClasses = new Hashtable(); |
235 private static final Hashtable kSpecialCasesClasses = new Hashtable(); |
236 |
236 |
237 static { |
237 static { |
238 kSpecialCasesClasses.put(kWStringTypeStr, java.lang.String.class); |
238 kSpecialCasesClasses.put(kWStringTypeStr, java.lang.String.class); |
239 kSpecialCasesClasses.put(kClassDescTypeStr, java.lang.Class.class); |
239 kSpecialCasesClasses.put(kClassDescTypeStr, java.lang.Class.class); |
240 kSpecialCasesClasses.put(kRemoteTypeStr, java.rmi.Remote.class); |
240 kSpecialCasesClasses.put(kRemoteTypeStr, java.rmi.Remote.class); |
242 kSpecialCasesClasses.put("org.omg.CORBA.WStringValue", java.lang.String.class); |
242 kSpecialCasesClasses.put("org.omg.CORBA.WStringValue", java.lang.String.class); |
243 kSpecialCasesClasses.put("javax.rmi.CORBA.ClassDesc", java.lang.Class.class); |
243 kSpecialCasesClasses.put("javax.rmi.CORBA.ClassDesc", java.lang.Class.class); |
244 //kSpecialCasesClasses.put(kRemoteTypeStr, java.rmi.Remote.class); |
244 //kSpecialCasesClasses.put(kRemoteTypeStr, java.rmi.Remote.class); |
245 } |
245 } |
246 |
246 |
247 public static final Hashtable kSpecialCasesArrayPrefix = new Hashtable(); |
247 private static final Hashtable kSpecialCasesArrayPrefix = new Hashtable(); |
248 |
248 |
249 static { |
249 static { |
250 kSpecialCasesArrayPrefix.put(java.lang.String.class, kValuePrefix + kSequencePrefix + kCORBAPrefix); |
250 kSpecialCasesArrayPrefix.put(java.lang.String.class, kValuePrefix + kSequencePrefix + kCORBAPrefix); |
251 kSpecialCasesArrayPrefix.put(java.lang.Class.class, kValuePrefix + kSequencePrefix + "javax/rmi/CORBA/"); |
251 kSpecialCasesArrayPrefix.put(java.lang.Class.class, kValuePrefix + kSequencePrefix + "javax/rmi/CORBA/"); |
252 kSpecialCasesArrayPrefix.put(java.lang.Object.class, kValuePrefix + kSequencePrefix + "java/lang/"); |
252 kSpecialCasesArrayPrefix.put(java.lang.Object.class, kValuePrefix + kSequencePrefix + "java/lang/"); |
253 kSpecialCasesArrayPrefix.put(java.io.Serializable.class, kValuePrefix + kSequencePrefix + "java/io/"); |
253 kSpecialCasesArrayPrefix.put(java.io.Serializable.class, kValuePrefix + kSequencePrefix + "java/io/"); |
254 kSpecialCasesArrayPrefix.put(java.io.Externalizable.class, kValuePrefix + kSequencePrefix + "java/io/"); |
254 kSpecialCasesArrayPrefix.put(java.io.Externalizable.class, kValuePrefix + kSequencePrefix + "java/io/"); |
255 kSpecialCasesArrayPrefix.put(java.rmi.Remote.class, kValuePrefix + kSequencePrefix + kCORBAPrefix); |
255 kSpecialCasesArrayPrefix.put(java.rmi.Remote.class, kValuePrefix + kSequencePrefix + kCORBAPrefix); |
256 } |
256 } |
257 |
257 |
258 public static final Hashtable kSpecialPrimitives = new Hashtable(); |
258 private static final Hashtable kSpecialPrimitives = new Hashtable(); |
259 |
259 |
260 static { |
260 static { |
261 kSpecialPrimitives.put("int","long"); |
261 kSpecialPrimitives.put("int","long"); |
262 kSpecialPrimitives.put("long","longlong"); |
262 kSpecialPrimitives.put("long","longlong"); |
263 kSpecialPrimitives.put("byte","octet"); |
263 kSpecialPrimitives.put("byte","octet"); |