001: /*
002: * Copyright 2000-2004 Sun Microsystems, Inc. All Rights Reserved.
003: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
004: *
005: * This code is free software; you can redistribute it and/or modify it
006: * under the terms of the GNU General Public License version 2 only, as
007: * published by the Free Software Foundation. Sun designates this
008: * particular file as subject to the "Classpath" exception as provided
009: * by Sun in the LICENSE file that accompanied this code.
010: *
011: * This code is distributed in the hope that it will be useful, but WITHOUT
012: * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
013: * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
014: * version 2 for more details (a copy is included in the LICENSE file that
015: * accompanied this code).
016: *
017: * You should have received a copy of the GNU General Public License version
018: * 2 along with this work; if not, write to the Free Software Foundation,
019: * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
020: *
021: * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
022: * CA 95054 USA or visit www.sun.com if you need additional information or
023: * have any questions.
024: */
025:
026: package com.sun.corba.se.impl.orbutil;
027:
028: import com.sun.corba.se.impl.util.SUNVMCID;
029:
030: public class ORBConstants {
031: private ORBConstants() {
032: }
033:
034: public static final String STRINGIFY_PREFIX = "IOR:";
035:
036: /* TAGS
037: tag-request@omg.org
038: FAQ on tags and tag allocation: http://doc.omg.org/ptc/99-02-01.
039: http://doc.omg.org/standard-tags
040: http://doc.omg.org/vendor-tags
041:
042: Last update: 19th August 2003 (ptc/03-08-14)
043:
044: // Legacy
045: 1 profile tag 0x4f4e4300 ("ONC\x00")
046: 1 profile tag 0x4e454f00 ("NEO\x00")
047: 1 profile tag 0x434f4f4c ("COOL")
048: 16 service tags 0x4e454f00 - 0x4e454f0f ("NEO\x00" - "NEO\x0f")
049:
050: // Current
051: 16 VMCID 0x5355xxxx ("SU\x00\x00" - "SU\xff\xff")
052: 16 profile tags 0x53554e00 - 0x53554e0f ("SUN\x00" - "SUN\x0f")
053: 16 ORB Type IDs 0x53554e00 - 0x53554e0f ("SUN\x00" - "SUN\x0f")
054: 64 service tags 0x53554e00 - 0x53554e3f ("SUN\x00" - "SUN\x3f")
055: 64 component tags 0x53554e00 - 0x53554e3f ("SUN\x00" - "SUN\x3f")
056: */
057:
058: // All NEO service contexts must be in the range
059: // NEO_FIRST_SERVICE_CONTEXT to
060: // NEO_FIRST_SERVICE_CONTEXT + NUM_NEO_SERVICE_CONTEXTS - 1
061: public static final int NEO_FIRST_SERVICE_CONTEXT = 0x4e454f00;
062: public static final int NUM_NEO_SERVICE_CONTEXTS = 15;
063: public static final int TAG_ORB_VERSION = NEO_FIRST_SERVICE_CONTEXT;
064:
065: public static final int SUN_TAGGED_COMPONENT_ID_BASE = 0x53554e00;
066: public static final int SUN_SERVICE_CONTEXT_ID_BASE = 0x53554e00;
067:
068: //
069: // Tagged Components Ids
070: //
071:
072: // Used by AS 7 for IIOP failover.
073: public static final int TAG_CONTAINER_ID = SUN_TAGGED_COMPONENT_ID_BASE + 0;
074: // Used by AS 8.1 for Request Partioning
075: public static final int TAG_REQUEST_PARTITIONING_ID = SUN_TAGGED_COMPONENT_ID_BASE + 1;
076: // TaggedComponentId for Java serialization tagged component.
077: public static final int TAG_JAVA_SERIALIZATION_ID = SUN_TAGGED_COMPONENT_ID_BASE + 2;
078:
079: //
080: // Service Context Ids
081: //
082:
083: // Used by AS 7 for IIOP failover.
084: public static final int CONTAINER_ID_SERVICE_CONTEXT = SUN_SERVICE_CONTEXT_ID_BASE + 0;
085:
086: // All Sun policies are allocated using the SUNVMCID, which is also
087: // used for minor codes. This allows 12 bits of offset, so
088: // the largest legal Sun policy is SUNVMCID.value + 4095.
089: public static final int SERVANT_CACHING_POLICY = SUNVMCID.value + 0;
090: public static final int ZERO_PORT_POLICY = SUNVMCID.value + 1;
091: public static final int COPY_OBJECT_POLICY = SUNVMCID.value + 2;
092: public static final int REQUEST_PARTITIONING_POLICY = SUNVMCID.value + 3;
093:
094: // These are the subcontract IDs for various qualities of
095: // service/implementation.
096: // Persistent SCIDs have the second bit as 1.
097: // SCIDs less than FIRST_POA_SCID are JavaIDL SCIDs.
098: public static final int TOA_SCID = 2;
099:
100: public static final int DEFAULT_SCID = TOA_SCID;
101:
102: public static final int FIRST_POA_SCID = 32;
103: public static final int MAX_POA_SCID = 63;
104: public static final int TRANSIENT_SCID = FIRST_POA_SCID;
105: public static final int PERSISTENT_SCID = makePersistent(TRANSIENT_SCID);
106: public static final int SC_TRANSIENT_SCID = FIRST_POA_SCID + 4;
107: public static final int SC_PERSISTENT_SCID = makePersistent(SC_TRANSIENT_SCID);
108: public static final int IISC_TRANSIENT_SCID = FIRST_POA_SCID + 8;
109: public static final int IISC_PERSISTENT_SCID = makePersistent(IISC_TRANSIENT_SCID);
110: public static final int MINSC_TRANSIENT_SCID = FIRST_POA_SCID + 12;
111: public static final int MINSC_PERSISTENT_SCID = makePersistent(MINSC_TRANSIENT_SCID);
112:
113: public static boolean isTransient(int scid) {
114: return (scid & 2) == 0;
115: }
116:
117: public static int makePersistent(int scid) {
118: return scid | 2;
119: }
120:
121: // Constants for ORB properties **************************************************************
122:
123: // All ORB properties must follow the following rules:
124: // 1. Property names must start with either
125: // ORG_OMG_CORBA_PREFIX or SUN_PREFIX.
126: // 2. Property names must have unique suffixes after the last ".".
127: // 3. Property names must have "ORB" as the first 3 letters
128: // in their suffix.
129: // 4. proprietary property names should have a subsystem
130: // where appropriate after the prefix.
131:
132: // org.omg.CORBA properties must be defined by OMG standards
133: // The well known org.omg.CORBA.ORBClass and
134: // org.omg.CORBA.ORBSingletonClass are not included here
135: // since they occur in org.omg.CORBA.ORB.
136:
137: public static final String ORG_OMG_PREFIX = "org.omg.";
138: public static final String ORG_OMG_CORBA_PREFIX = "org.omg.CORBA.";
139:
140: public static final String INITIAL_HOST_PROPERTY = ORG_OMG_CORBA_PREFIX
141: + "ORBInitialHost";
142: public static final String INITIAL_PORT_PROPERTY = ORG_OMG_CORBA_PREFIX
143: + "ORBInitialPort";
144: public static final String INITIAL_SERVICES_PROPERTY = ORG_OMG_CORBA_PREFIX
145: + "ORBInitialServices";
146: public static final String DEFAULT_INIT_REF_PROPERTY = ORG_OMG_CORBA_PREFIX
147: + "ORBDefaultInitRef";
148: public static final String ORB_INIT_REF_PROPERTY = ORG_OMG_CORBA_PREFIX
149: + "ORBInitRef";
150:
151: // All of our proprietary properties must start with com.sun.CORBA
152: public static final String SUN_PREFIX = "com.sun.CORBA.";
153:
154: // general properties
155: public static final String ALLOW_LOCAL_OPTIMIZATION = SUN_PREFIX
156: + "ORBAllowLocalOptimization";
157: public static final String SERVER_PORT_PROPERTY = SUN_PREFIX
158: + "ORBServerPort";
159: public static final String SERVER_HOST_PROPERTY = SUN_PREFIX
160: + "ORBServerHost";
161: public static final String ORB_ID_PROPERTY = ORG_OMG_CORBA_PREFIX
162: + "ORBId";
163: // This property is provided for backward compatibility reasons
164: public static final String OLD_ORB_ID_PROPERTY = SUN_PREFIX
165: + "ORBid";
166: public static final String ORB_SERVER_ID_PROPERTY = ORG_OMG_CORBA_PREFIX
167: + "ORBServerId";
168: public static final String DEBUG_PROPERTY = SUN_PREFIX + "ORBDebug";
169: // Property for setting use of repository Ids during serialization.
170: public static final String USE_REP_ID = SUN_PREFIX + "ORBUseRepId";
171:
172: // NOTE: This is an internal property. It should never be set by
173: // a user. That is the reason it has spaces in its name - to make it
174: // harder to use.
175: public static final String LISTEN_ON_ALL_INTERFACES = SUN_PREFIX
176: + "INTERNAL USE ONLY: listen on all interfaces";
177:
178: // giop related properties - default settings in decimal form
179: public static final String GIOP_VERSION = SUN_PREFIX
180: + "giop.ORBGIOPVersion";
181: public static final String GIOP_FRAGMENT_SIZE = SUN_PREFIX
182: + "giop.ORBFragmentSize";
183: public static final String GIOP_BUFFER_SIZE = SUN_PREFIX
184: + "giop.ORBBufferSize";
185: public static final String GIOP_11_BUFFMGR = SUN_PREFIX
186: + "giop.ORBGIOP11BuffMgr";
187: public static final String GIOP_12_BUFFMGR = SUN_PREFIX
188: + "giop.ORBGIOP12BuffMgr";
189: public static final String GIOP_TARGET_ADDRESSING = SUN_PREFIX
190: + "giop.ORBTargetAddressing";
191: public static final int GIOP_DEFAULT_FRAGMENT_SIZE = 1024;
192: public static final int GIOP_DEFAULT_BUFFER_SIZE = 1024;
193: public static final int DEFAULT_GIOP_11_BUFFMGR = 0; //Growing
194: public static final int DEFAULT_GIOP_12_BUFFMGR = 2; //Streaming
195: public static final short ADDR_DISP_OBJKEY = 0; // object key used for target addressing
196: public static final short ADDR_DISP_PROFILE = 1; // iop profile used for target addressing
197: public static final short ADDR_DISP_IOR = 2; // ior used for target addressing
198: public static final short ADDR_DISP_HANDLE_ALL = 3; // accept all target addressing dispositions (default)
199:
200: // CORBA formal 00-11-03 sections 15.4.2.2, 15.4.3.2, 15.4.6.2
201: // state that the GIOP 1.2 RequestMessage, ReplyMessage, and
202: // LocateReply message bodies must begin on 8 byte boundaries.
203: public static final int GIOP_12_MSG_BODY_ALIGNMENT = 8;
204:
205: // The GIOP 1.2 fragments must be divisible by 8. We generalize this
206: // to GIOP 1.1 fragments, as well.
207: public static final int GIOP_FRAGMENT_DIVISOR = 8;
208: public static final int GIOP_FRAGMENT_MINIMUM_SIZE = 32;
209:
210: // connection management properties
211: public static final String HIGH_WATER_MARK_PROPERTY = SUN_PREFIX
212: + "connection.ORBHighWaterMark";
213: public static final String LOW_WATER_MARK_PROPERTY = SUN_PREFIX
214: + "connection.ORBLowWaterMark";
215: public static final String NUMBER_TO_RECLAIM_PROPERTY = SUN_PREFIX
216: + "connection.ORBNumberToReclaim";
217:
218: public static final String ACCEPTOR_CLASS_PREFIX_PROPERTY = SUN_PREFIX
219: + "transport.ORBAcceptor";
220:
221: public static final String CONTACT_INFO_LIST_FACTORY_CLASS_PROPERTY = SUN_PREFIX
222: + "transport.ORBContactInfoList";
223:
224: // Legacy:
225: public static final String LEGACY_SOCKET_FACTORY_CLASS_PROPERTY = SUN_PREFIX
226: + "legacy.connection.ORBSocketFactoryClass";
227:
228: public static final String SOCKET_FACTORY_CLASS_PROPERTY = SUN_PREFIX
229: + "transport.ORBSocketFactoryClass";
230: public static final String LISTEN_SOCKET_PROPERTY = SUN_PREFIX
231: + "transport.ORBListenSocket";
232: public static final String IOR_TO_SOCKET_INFO_CLASS_PROPERTY = SUN_PREFIX
233: + "transport.ORBIORToSocketInfoClass";
234: public static final String IIOP_PRIMARY_TO_CONTACT_INFO_CLASS_PROPERTY = SUN_PREFIX
235: + "transport.ORBIIOPPrimaryToContactInfoClass";
236:
237: // Request partitioning maximum and minimum thread pool id constants.
238: public static final int REQUEST_PARTITIONING_MIN_THREAD_POOL_ID = 0;
239: public static final int REQUEST_PARTITIONING_MAX_THREAD_POOL_ID = 63;
240:
241: // transport read tcp timeout property, colon separated property
242: // with syntax <initial time to wait:max read giop header time to
243: // wait: max read message time to wait:backoff factor>
244: public static final String TRANSPORT_TCP_READ_TIMEOUTS_PROPERTY = SUN_PREFIX
245: + "transport.ORBTCPReadTimeouts";
246:
247: // initial time to wait in milliseconds if a transport
248: // tcp read returns 0 bytes
249: public static final int TRANSPORT_TCP_INITIAL_TIME_TO_WAIT = 100;
250:
251: // max time to spend in cumulative waits in milliseconds
252: // if a transport tcp read returns 0 bytes
253: public static final int TRANSPORT_TCP_MAX_TIME_TO_WAIT = 3000;
254:
255: // max time to spend in cumulative waits in milliseconds
256: // if a transport tcp read of GIOP header returns 0 bytes
257: public static final int TRANSPORT_TCP_GIOP_HEADER_MAX_TIME_TO_WAIT = 300;
258:
259: // A backoff percentage used to compute the next amount of time to
260: // wait on a subsequent transport tcp read of 0 bytes
261: public static final int TRANSPORT_TCP_TIME_TO_WAIT_BACKOFF_FACTOR = 20;
262:
263: public static final String USE_NIO_SELECT_TO_WAIT_PROPERTY = SUN_PREFIX
264: + "transport.ORBUseNIOSelectToWait";
265:
266: // "Socket" | "SocketChannel"
267: // Note: Connections accepted by SocketChannel will be SocketChannel.
268: public static final String ACCEPTOR_SOCKET_TYPE_PROPERTY = SUN_PREFIX
269: + "transport.ORBAcceptorSocketType";
270:
271: // Applicable if using SocketChannel and using select thread.
272: public static final String ACCEPTOR_SOCKET_USE_WORKER_THREAD_FOR_EVENT_PROPERTY = SUN_PREFIX
273: + "transport.ORBAcceptorSocketUseWorkerThreadForEvent";
274:
275: // Applicable on client-side. "Socket" | "SocketChannel"
276: public static final String CONNECTION_SOCKET_TYPE_PROPERTY = SUN_PREFIX
277: + "transport.ORBConnectionSocketType";
278:
279: // Applicable if using SocketChannel and using select thread
280: public static final String CONNECTION_SOCKET_USE_WORKER_THREAD_FOR_EVENT_PROPERTY = SUN_PREFIX
281: + "transport.ORBConnectionSocketUseWorkerThreadForEvent";
282:
283: // Used to disable the use of direct byte buffers. This enables much easier
284: // debugging, because the contents of a direct byte buffer cannot be
285: // viewed in most (all?) debuggers.
286: public static final String DISABLE_DIRECT_BYTE_BUFFER_USE_PROPERTY = SUN_PREFIX
287: + "transport.ORBDisableDirectByteBufferUse";
288:
289: public static final String SOCKET = "Socket";
290: public static final String SOCKETCHANNEL = "SocketChannel";
291:
292: // POA related policies
293: public static final String PERSISTENT_SERVER_PORT_PROPERTY = SUN_PREFIX
294: + "POA.ORBPersistentServerPort";
295: public static final String SERVER_ID_PROPERTY = SUN_PREFIX
296: + "POA.ORBServerId";
297: public static final String BAD_SERVER_ID_HANDLER_CLASS_PROPERTY = SUN_PREFIX
298: + "POA.ORBBadServerIdHandlerClass";
299: public static final String ACTIVATED_PROPERTY = SUN_PREFIX
300: + "POA.ORBActivated";
301: public static final String SERVER_NAME_PROPERTY = SUN_PREFIX
302: + "POA.ORBServerName";
303:
304: // Server Properties; e.g. when properties passed to ORB activated
305: // servers
306:
307: public static final String SERVER_DEF_VERIFY_PROPERTY = SUN_PREFIX
308: + "activation.ORBServerVerify";
309:
310: // This one is an exception, but it may be externally visible
311: public static final String SUN_LC_PREFIX = "com.sun.corba.";
312:
313: // Necessary for package renaming to work correctly
314: public static final String SUN_LC_VERSION_PREFIX = "com.sun.corba.se.";
315:
316: public static final String JTS_CLASS_PROPERTY = SUN_LC_VERSION_PREFIX
317: + "CosTransactions.ORBJTSClass";
318:
319: // Property for enabling ORB's use of Java serialization.
320: public static final String ENABLE_JAVA_SERIALIZATION_PROPERTY = SUN_PREFIX
321: + "encoding.ORBEnableJavaSerialization";
322:
323: // Constants for ORB prefixes **************************************************************
324:
325: public static final String PI_ORB_INITIALIZER_CLASS_PREFIX = "org.omg.PortableInterceptor.ORBInitializerClass.";
326:
327: public static final String USE_DYNAMIC_STUB_PROPERTY = SUN_PREFIX
328: + "ORBUseDynamicStub";
329:
330: public static final String DYNAMIC_STUB_FACTORY_FACTORY_CLASS = SUN_PREFIX
331: + "ORBDynamicStubFactoryFactoryClass";
332:
333: // Constants for NameService properties ************************************
334:
335: public static final int DEFAULT_INITIAL_PORT = 900;
336:
337: public static final String DEFAULT_INS_HOST = "localhost";
338:
339: public static final int DEFAULT_INS_PORT = 2089;
340:
341: public static final int DEFAULT_INS_GIOP_MAJOR_VERSION = 1;
342:
343: // http://www.omg.org/cgi-bin/doc?ptc/00-08-07 [ Section 13.6.7.3 ]
344: // defines the default GIOP minor version to be 0.
345: public static final int DEFAULT_INS_GIOP_MINOR_VERSION = 0;
346:
347: // Constants for INS properties ********************************************
348:
349: // GIOP Version number for validation of INS URL format addresses
350: public static final int MAJORNUMBER_SUPPORTED = 1;
351: public static final int MINORNUMBERMAX = 2;
352:
353: // Subcontract's differentiation using the TRANSIENT and PERSISTENT
354: // Name Service Property.
355: public static final int TRANSIENT = 1;
356: public static final int PERSISTENT = 2;
357:
358: // Constants for ORBD properties ****************************************************************
359:
360: // These properties are never passed on ORB init: they are only passed to ORBD.
361:
362: public static final String DB_DIR_PROPERTY = SUN_PREFIX
363: + "activation.DbDir";
364: public static final String DB_PROPERTY = SUN_PREFIX
365: + "activation.db";
366: public static final String ORBD_PORT_PROPERTY = SUN_PREFIX
367: + "activation.Port";
368: public static final String SERVER_POLLING_TIME = SUN_PREFIX
369: + "activation.ServerPollingTime";
370: public static final String SERVER_STARTUP_DELAY = SUN_PREFIX
371: + "activation.ServerStartupDelay";
372:
373: public static final int DEFAULT_ACTIVATION_PORT = 1049;
374:
375: // If RI is starting the NameService then they would indicate that by
376: // passing the RI flag. That would start a Persistent Port to listen to
377: // INS request.
378: public static final int RI_NAMESERVICE_PORT = 1050;
379:
380: public static final int DEFAULT_SERVER_POLLING_TIME = 1000;
381:
382: public static final int DEFAULT_SERVER_STARTUP_DELAY = 1000;
383:
384: //***************** Constants for Logging ****************
385:
386: public static final String LOG_LEVEL_PROPERTY = SUN_PREFIX
387: + "ORBLogLevel";
388:
389: public static final String LOG_RESOURCE_FILE = "com.sun.corba.se.impl.logging.LogStrings";
390:
391: // Constants for initial references *************************************************************
392:
393: public static final String TRANSIENT_NAME_SERVICE_NAME = "TNameService";
394: public static final String PERSISTENT_NAME_SERVICE_NAME = "NameService";
395:
396: // A large Number to make sure that other ServerIds doesn't collide
397: // with NameServer Persistent Server Id
398: public static final String NAME_SERVICE_SERVER_ID = "1000000";
399:
400: public static final String ROOT_POA_NAME = "RootPOA";
401: public static final String POA_CURRENT_NAME = "POACurrent";
402: public static final String SERVER_ACTIVATOR_NAME = "ServerActivator";
403: public static final String SERVER_LOCATOR_NAME = "ServerLocator";
404: public static final String SERVER_REPOSITORY_NAME = "ServerRepository";
405: public static final String INITIAL_NAME_SERVICE_NAME = "InitialNameService";
406: public static final String TRANSACTION_CURRENT_NAME = "TransactionCurrent";
407: public static final String DYN_ANY_FACTORY_NAME = "DynAnyFactory";
408:
409: // New for Portable Interceptors
410: public static final String PI_CURRENT_NAME = "PICurrent";
411: public static final String CODEC_FACTORY_NAME = "CodecFactory";
412:
413: // Constants for ORBD DB ***********************************************************************
414:
415: public static final String DEFAULT_DB_DIR = "orb.db";
416: public static final String DEFAULT_DB_NAME = "db";
417: public static final String INITIAL_ORB_DB = "initial.db";
418: public static final String SERVER_LOG_DIR = "logs";
419: public static final String ORBID_DIR_BASE = "orbids";
420: public static final String ORBID_DB_FILE_NAME = "orbids.db";
421:
422: // Constants for ThreadPool ********************************************************************
423:
424: // Default value for when inactive threads in the pool can stop running (ms)
425: public static final int DEFAULT_INACTIVITY_TIMEOUT = 120000;
426: // Default name of the threadpool
427: public static final String THREADPOOL_DEFAULT_NAME = "default-threadpool";
428: // Default name of the workqueue
429: public static final String WORKQUEUE_DEFAULT_NAME = "default-workqueue";
430:
431: // Constants for minor code bases **************************************************************
432: // This is the value that pre-Merlin Sun ORBs incorrectly used. We preserve this
433: // here for backwards compatibility, but note that the current ORB must never
434: // create a BAD_PARAM system exception with this minor code.
435: public static final int LEGACY_SUN_NOT_SERIALIZABLE = SUNVMCID.value + 1;
436:
437: // Code Set related *******************************************************
438:
439: // If we don't always send the code set context, there's a possibility
440: // of failure when fragments of a smaller request are interleved with
441: // those of a first request with other large service contexts.
442: //
443: public static final boolean DEFAULT_ALWAYS_SEND_CODESET_CTX = true;
444: public static final String ALWAYS_SEND_CODESET_CTX_PROPERTY = SUN_PREFIX
445: + "codeset.AlwaysSendCodeSetCtx";
446:
447: // Use byte order markers in streams when applicable? This won't apply to
448: // GIOP 1.1 due to limitations in the CDR encoding.
449: public static final boolean DEFAULT_USE_BYTE_ORDER_MARKERS = true;
450: public static final String USE_BOMS = SUN_PREFIX
451: + "codeset.UseByteOrderMarkers";
452:
453: // Use byte order markers in encapsulations when applicable?
454: public static final boolean DEFAULT_USE_BYTE_ORDER_MARKERS_IN_ENCAPS = false;
455: public static final String USE_BOMS_IN_ENCAPS = SUN_PREFIX
456: + "codeset.UseByteOrderMarkersInEncaps";
457:
458: // The CHAR_CODESETS and WCHAR_CODESETS allow the user to override the default
459: // connection code sets. The value should be a comma separated list of OSF
460: // registry numbers. The first number in the list will be the native code
461: // set.
462: //
463: // Number can be specified as hex if preceded by 0x, otherwise they are
464: // interpreted as decimal.
465: //
466: // Code sets that we accept currently (see core/OSFCodeSetRegistry):
467: //
468: // char/string:
469: //
470: // ISO8859-1 (Latin-1) 0x00010001
471: // ISO646 (ASCII) 0x00010020
472: // UTF-8 0x05010001
473: //
474: // wchar/string:
475: //
476: // UTF-16 0x00010109
477: // UCS-2 0x00010100
478: // UTF-8 0x05010001
479: //
480: // Note: The ORB will let you assign any of the above values to
481: // either of the following properties, but the above assignments
482: // are the only ones that won't get you into trouble.
483: public static final String CHAR_CODESETS = SUN_PREFIX
484: + "codeset.charsets";
485: public static final String WCHAR_CODESETS = SUN_PREFIX
486: + "codeset.wcharsets";
487:
488: // Constants to make stream format version code easier to read
489: public static final byte STREAM_FORMAT_VERSION_1 = (byte) 1;
490: public static final byte STREAM_FORMAT_VERSION_2 = (byte) 2;
491: }
|