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