Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.3.1
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES

## Package org.omg.CORBA

Provides the mapping of the OMG CORBA APIs to the JavaTM programming language, including the class `ORB`, which is implemented so that a programmer can use it as a fully-functional Object Request Broker (ORB).

See:
Description

Interface Summary
ARG_IN | Signifies an "input" argument to an invocation, meaning that the argument is being passed from the client to the server.
ARG_INOUT | Signifies an argument used for both input and output in an invocation, meaning that the argument is being passed from the client to the server and then back from the server to the client.
ARG_OUT | A constant that signifies an "output" argument to an invocation, meaning that the argument is being passed from the server to the client.
BAD_POLICY | BAD_POLICY is one of the PolicyErrorCodes which would be filled in the PolicyError exception.
BAD_POLICY_TYPE | BAD_POLICY_TYPE is one of the PolicyErrorCodes which would be filled in the PolicyError exception.
BAD_POLICY_VALUE | Contains the value used to indicate a policy value that is incorrect for a valid policy type in a call to the `create_policy` method defined in the ORB class.
CTX_RESTRICT_SCOPE | A flag that can be used as the second parameter to the method `Context.get_values` to restrict the search scope.
Current | org/omg/CORBA/Current.java Generated by the IDL-to-Java compiler (portable), version "3.0" from ../../../../../src/share/classes/org/omg/PortableServer/corba.idl Saturday, July 17, 1999 12:26:21 AM PDT.
CurrentOperations | org/omg/CORBA/CurrentOperations.java Generated by the IDL-to-Java compiler (portable), version "3.0" from ../../../../../src/share/classes/org/omg/PortableServer/corba.idl Saturday, July 17, 1999 12:26:21 AM PDT.
CustomMarshal | The CustomMarshal is an abstract value type that is meant to be used by the ORB, not the user.
DataInputStream | Defines the methods used to read primitive data types from input streams for unmarshaling custom value types.
DataOutputStream | Defines the methods used to write primitive data types to output streams for marshalling custom value types.
DomainManager | The DomainManager has associated with it the policy objects for a particular domain.
DomainManagerOperations | The DomainManager has associated with it the policy objects for a particular domain.
DynAny | org.omg.CORBA.Any values can be dynamically interpreted (traversed) and constructed through DynAny objects.
DynArray | The DynArray interface represents a DynAny object which is associated with an array.
DynEnum | The DynEnum interface represents a DynAny object which is associated with an IDL enum.
DynFixed | Represents a `DynAny` object that is associated with an IDL fixed type.
DynSequence | The representation of a `DynAny` object that is associated with an IDL sequence.
DynStruct | The representation of a `DynAny` object that is associated with an IDL struct.
DynUnion | The `DynUnion` interface represents a `DynAny` object that is associated with an IDL union.
DynValue | The representation of a `DynAny` object that is associated with an IDL value type.
IDLType | An abstract interface inherited by all Interface Repository (IR) objects that represent OMG IDL types.
IDLTypeOperations | This interface must be implemented by all IDLType objects.
IRObject | An IRObject IDL interface represents the most generic interface from which all other Interface Repository interfaces are derived, even the Repository itself.
IRObjectOperations | This is the Operations interface for the mapping from IRObject.
Object | The definition for a CORBA object reference.
OMGVMCID | The vendor minor code ID reserved for OMG.
Policy | org/omg/CORBA/Policy.java Generated by the IDL-to-Java compiler (portable), version "3.0" from ../../../../../src/share/classes/org/omg/PortableServer/corba.idl Saturday, July 17, 1999 12:26:20 AM PDT
PolicyOperations | org/omg/CORBA/PolicyOperations.java Generated by the IDL-to-Java compiler (portable), version "3.0" from ../../../../../src/share/classes/org/omg/PortableServer/corba.idl Saturday, July 17, 1999 12:26:20 AM PDT
PRIVATE_MEMBER | `PRIVATE_MEMBER` is one of the two constants of typedef `Visibility` used in the interface repository to identify visibility of a `ValueMember` type.
PUBLIC_MEMBER | `PUBLIC_MEMBER` is one of the two constants of typedef `Visibility` used in the interface repository to identify visibility of a `ValueMember` type.
Repository | This is the interface which defines the interface repository.
UNSUPPORTED_POLICY | UNSUPPORTED_POLICY is one of the PolicyErrorCodes which would be filled in the PolicyError exception.
UNSUPPORTED_POLICY_VALUE | UNSUPPORTED_POLICY_VALUE is one of the PolicyErrorCodes which would be filled in the PolicyError exception.
VM_ABSTRACT |
VM_CUSTOM | Defines the code used to represent a custom marshalled value type in a typecode.
VM_NONE | Defines the code used to represent the one of the values of a value type in a typecode.
VM_TRUNCATABLE | Defines the code used to represent a truncatable value type in a typecode.

Class Summary
_IDLTypeStub | org/omg/CORBA/_IDLTypeStub.java Generated by the IDL-to-Java compiler (portable), version "3.0" from ir.idl.
_PolicyStub | org/omg/CORBA/_PolicyStub.java Generated by the IDL-to-Java compiler (portable), version "3.0" from ../../../../../src/share/classes/org/omg/PortableServer/corba.idl.
Any | Serves as a container for any data that can be described in IDL or for any IDL primitive type.
AnyHolder | A Holder class for `Any` objects that is used to store "out" and "inout" parameters in IDL methods.
AnySeqHelper | org/omg/CORBA/AnySeqHelper.java Generated by the IDL-to-Java compiler (portable), version "3.0" from streams.idl 13 May 1999 22:41:36 o'clock GMT+00:00
AnySeqHolder | org/omg/CORBA/AnySeqHolder.java Generated by the IDL-to-Java compiler (portable), version "3.0" from streams.idl 13 May 1999 22:41:36 o'clock GMT+00:00
BooleanHolder | A Holder class for a `boolean` that is used to store "out" and "inout" parameters in IDL methods.
BooleanSeqHelper | org/omg/CORBA/BooleanSeqHelper.java Generated by the IDL-to-Java compiler (portable), version "3.0" from streams.idl 13 May 1999 22:41:36 o'clock GMT+00:00
BooleanSeqHolder | org/omg/CORBA/BooleanSeqHolder.java Generated by the IDL-to-Java compiler (portable), version "3.0" from streams.idl 13 May 1999 22:41:36 o'clock GMT+00:00
ByteHolder | A Holder class for a `byte` that is used to store "out" and "inout" parameters in IDL methods.
CharHolder | A Holder class for a `char` that is used to store "out" and "inout" parameters in IDL methods.
CharSeqHelper | org/omg/CORBA/CharSeqHelper.java Generated by the IDL-to-Java compiler (portable), version "3.0" from streams.idl 13 May 1999 22:41:36 o'clock GMT+00:00
CharSeqHolder | org/omg/CORBA/CharSeqHolder.java Generated by the IDL-to-Java compiler (portable), version "3.0" from streams.idl 13 May 1999 22:41:36 o'clock GMT+00:00
CompletionStatus | An object that indicates whether a method had completed running when a `SystemException` was thrown.
CompletionStatusHelper | org/omg/CORBA/CompletionStatusHelper.java Generated by the IDL-to-Java compiler (portable), version "3.0" 03 June 1999 11:52:03 o'clock GMT+00:00
Context | An object used in `Request` operations to specify the context object in which context strings must be resolved before being sent along with the request invocation.
ContextList | An object containing a modifiable list of `String` objects that represent property names.
CurrentHelper | org/omg/CORBA/CurrentHelper.java Generated by the IDL-to-Java compiler (portable), version "3.0" from ../../../../../src/share/classes/org/omg/PortableServer/corba.idl Saturday, July 17, 1999 12:26:21 AM PDT
CurrentHolder | org/omg/CORBA/CurrentHolder.java Generated by the IDL-to-Java compiler (portable), version "3.0" from ../../../../../src/share/classes/org/omg/PortableServer/corba.idl Saturday, July 17, 1999 12:26:21 AM PDT
DefinitionKind | The class that provides the constants used to identify the type of an Interface Repository object.
DefinitionKindHelper | org/omg/CORBA/DefinitionKindHelper.java Generated by the IDL-to-Java compiler (portable), version "3.0" from ir.idl 03 June 1999 11:33:43 o'clock GMT+00:00
DoubleHolder | A Holder class for a `double` that is used to store "out" and "inout" parameters in IDL methods.
DoubleSeqHelper | org/omg/CORBA/DoubleSeqHelper.java Generated by the IDL-to-Java compiler (portable), version "3.0" from streams.idl 13 May 1999 22:41:37 o'clock GMT+00:00
DoubleSeqHolder | org/omg/CORBA/DoubleSeqHolder.java Generated by the IDL-to-Java compiler (portable), version "3.0" from streams.idl 13 May 1999 22:41:37 o'clock GMT+00:00
DynamicImplementation | The base class for all object implementations using the DSI.
Environment | A container (holder) for an exception that is used in `Request` operations to make exceptions available to the client.
ExceptionList | An object used in `Request` operations to describe the exceptions that can be thrown by a method.
FieldNameHelper | org/omg/CORBA/FieldNameHelper.java Generated by the IDL-to-Java compiler (portable), version "3.0" 03 June 1999 11:52:03 o'clock GMT+00:00
FixedHolder | FixedHolder is a container class for values of IDL type "fixed", which is mapped to the Java class java.math.BigDecimal.
FloatHolder | A Holder class for a `float` that is used to store "out" and "inout" parameters in IDL methods.
FloatSeqHelper | org/omg/CORBA/FloatSeqHelper.java Generated by the IDL-to-Java compiler (portable), version "3.0" from streams.idl 13 May 1999 22:41:37 o'clock GMT+00:00
FloatSeqHolder | org/omg/CORBA/FloatSeqHolder.java Generated by the IDL-to-Java compiler (portable), version "3.0" from streams.idl 13 May 1999 22:41:37 o'clock GMT+00:00
IdentifierHelper | org/omg/CORBA/IdentifierHelper.java Generated by the IDL-to-Java compiler (portable), version "3.0" from ir.idl 03 June 1999 11:33:42 o'clock GMT+00:00
IDLTypeHelper | org/omg/CORBA/IDLTypeHelper.java Generated by the IDL-to-Java compiler (portable), version "3.0" from ir.idl 03 June 1999 11:33:44 o'clock GMT+00:00
Initializer | This is the mapping for an IDL structure which specifies an initializer for a value type.
IntHolder | A Holder class for an `int` that is used to store "out" and "inout" parameters in IDL methods.
LongHolder | A Holder class for a `long` that is used to store "out" and "inout" parameters in IDL methods.
LongLongSeqHelper | org/omg/CORBA/LongLongSeqHelper.java Generated by the IDL-to-Java compiler (portable), version "3.0" from streams.idl 13 May 1999 22:41:37 o'clock GMT+00:00
LongLongSeqHolder | org/omg/CORBA/LongLongSeqHolder.java Generated by the IDL-to-Java compiler (portable), version "3.0" from streams.idl 13 May 1999 22:41:36 o'clock GMT+00:00
LongSeqHelper | org/omg/CORBA/LongSeqHelper.java Generated by the IDL-to-Java compiler (portable), version "3.0" from streams.idl 13 May 1999 22:41:36 o'clock GMT+00:00
LongSeqHolder | org/omg/CORBA/LongSeqHolder.java Generated by the IDL-to-Java compiler (portable), version "3.0" from streams.idl 13 May 1999 22:41:36 o'clock GMT+00:00
NamedValue | An object used in the DII and DSI to describe arguments and return values.
NameValuePair | The NameValuePair interface associates a name with a value that is an attribute of an IDL struct.
NameValuePairHelper | org/omg/CORBA/NameValuePairHelper.java Generated by the IDL-to-Java compiler (portable), version "3.0" 03 June 1999 11:52:03 o'clock GMT+00:00
NVList | A modifiable list containing `NamedValue` objects.
ObjectHelper |
ObjectHolder | A Holder class for a CORBA object reference (a value of type `org.omg.CORBA.Object`).
OctetSeqHelper | org/omg/CORBA/OctetSeqHelper.java Generated by the IDL-to-Java compiler (portable), version "3.0" from streams.idl 13 May 1999 22:41:36 o'clock GMT+00:00
OctetSeqHolder | org/omg/CORBA/OctetSeqHolder.java Generated by the IDL-to-Java compiler (portable), version "3.0" from streams.idl 13 May 1999 22:41:36 o'clock GMT+00:00
ORB | A class providing APIs for the CORBA Object Request Broker features.
PolicyHelper | org/omg/CORBA/PolicyHelper.java Generated by the IDL-to-Java compiler (portable), version "3.0" from ../../../../../src/share/classes/org/omg/PortableServer/corba.idl Saturday, July 17, 1999 12:26:20 AM PDT
PolicyHolder | org/omg/CORBA/PolicyHolder.java Generated by the IDL-to-Java compiler (portable), version "3.0" from ../../../../../src/share/classes/org/omg/PortableServer/corba.idl Saturday, July 17, 1999 12:26:20 AM PDT
PolicyListHelper | org/omg/CORBA/PolicyListHelper.java Generated by the IDL-to-Java compiler (portable), version "3.0" from ../../../../../src/share/classes/org/omg/PortableServer/corba.idl Saturday, July 17, 1999 12:26:21 AM PDT
PolicyListHolder | org/omg/CORBA/PolicyListHolder.java Generated by the IDL-to-Java compiler (portable), version "3.0" from ../../../../../src/share/classes/org/omg/PortableServer/corba.idl Saturday, July 17, 1999 12:26:21 AM PDT
PolicyTypeHelper | org/omg/CORBA/PolicyTypeHelper.java Generated by the IDL-to-Java compiler (portable), version "3.0" from ../../../../../src/share/classes/org/omg/PortableServer/corba.idl Saturday, July 17, 1999 12:26:20 AM PDT
Principal | Deprecated. Deprecated by CORBA 2.2.
PrincipalHolder | Deprecated. Deprecated by CORBA 2.2.
RepositoryIdHelper | org/omg/CORBA/RepositoryIdHelper.java Generated by the IDL-to-Java compiler (portable), version "3.0" from ir.idl 03 June 1999 11:33:43 o'clock GMT+00:00
Request | An object containing the information necessary for invoking a method.
ServerRequest | An object that captures the explicit state of a request for the Dynamic Skeleton Interface (DSI).
ServiceDetail | An object that represents an ORB service.
ServiceDetailHelper |
ServiceInformation | ServiceInformation is an IDL struct in the CORBA module.
ServiceInformationHelper |
ServiceInformationHolder | A Holder class for a `ServiceInformation` object that is used to store "out" and "inout" parameters in IDL methods.
SetOverrideType | The mapping of a CORBA `enum` tagging `SET_OVERRIDE` and `ADD_OVERRIDE`, which indicate whether policies should replace the existing policies of an `Object` or be added to them.
SetOverrideTypeHelper | org/omg/CORBA/SetOverrideTypeHelper.java Generated by the IDL-to-Java compiler (portable), version "3.0" 03 June 1999 11:52:03 o'clock GMT+00:00
ShortHolder | A Holder class for a `short` that is used to store "out" and "inout" parameters in IDL operations.
ShortSeqHelper | org/omg/CORBA/ShortSeqHelper.java Generated by the IDL-to-Java compiler (portable), version "3.0" from streams.idl 13 May 1999 22:41:36 o'clock GMT+00:00
ShortSeqHolder | org/omg/CORBA/ShortSeqHolder.java Generated by the IDL-to-Java compiler (portable), version "3.0" from streams.idl 13 May 1999 22:41:36 o'clock GMT+00:00
StringHolder | A Holder class for a `String` that is used to store "out" and "inout" parameters in IDL operations.
StringValueHelper | org/omg/CORBA/StringValueHelper.java Generated by the IDL-to-Java compiler (portable), version "3.0" from orb.idl 31 May 1999 22:27:30 o'clock GMT+00:00
StructMember | A description of a member of an IDL `struct`.
StructMemberHelper | org/omg/CORBA/StructMemberHelper.java Generated by the IDL-to-Java compiler (portable), version "3.0" from ir.idl 03 June 1999 11:33:43 o'clock GMT+00:00
TCKind | The Java mapping of the IDL enum `TCKind`, which specifies the kind of a `TypeCode` object.
TypeCode | A container for information about a specific CORBA data type.
TypeCodeHolder | A Holder class for a `TypeCode` object that is used to store "out" and "inout" parameters in IDL operations.
ULongLongSeqHelper | org/omg/CORBA/ULongLongSeqHelper.java Generated by the IDL-to-Java compiler (portable), version "3.0" from streams.idl 13 May 1999 22:41:37 o'clock GMT+00:00
ULongLongSeqHolder | org/omg/CORBA/ULongLongSeqHolder.java Generated by the IDL-to-Java compiler (portable), version "3.0" from streams.idl 13 May 1999 22:41:37 o'clock GMT+00:00
ULongSeqHelper | org/omg/CORBA/ULongSeqHelper.java Generated by the IDL-to-Java compiler (portable), version "3.0" from streams.idl 13 May 1999 22:41:36 o'clock GMT+00:00
ULongSeqHolder | org/omg/CORBA/ULongSeqHolder.java Generated by the IDL-to-Java compiler (portable), version "3.0" from streams.idl 13 May 1999 22:41:36 o'clock GMT+00:00
UnionMember | A description in the Interface Repository of a member of an IDL union.
UnionMemberHelper | org/omg/CORBA/UnionMemberHelper.java Generated by the IDL-to-Java compiler (portable), version "3.0" from ir.idl 03 June 1999 11:33:43 o'clock GMT+00:00
UShortSeqHelper | org/omg/CORBA/UShortSeqHelper.java Generated by the IDL-to-Java compiler (portable), version "3.0" from streams.idl 13 May 1999 22:41:36 o'clock GMT+00:00
UShortSeqHolder | org/omg/CORBA/UShortSeqHolder.java Generated by the IDL-to-Java compiler (portable), version "3.0" from streams.idl 13 May 1999 22:41:36 o'clock GMT+00:00
ValueBaseHelper |
ValueBaseHolder | A Holder class for a `java.io.Serializable` that is used to store "out" and "inout" parameters in IDL methods.
ValueMember | A description in the Interface Repository of a member of a `value` object.
ValueMemberHelper | org/omg/CORBA/ValueMemberHelper.java Generated by the IDL-to-Java compiler (portable), version "3.0" from ir.idl 03 June 1999 11:33:44 o'clock GMT+00:00
VersionSpecHelper | org/omg/CORBA/VersionSpecHelper.java Generated by the IDL-to-Java compiler (portable), version "3.0" from ir.idl 03 June 1999 11:33:43 o'clock GMT+00:00
VisibilityHelper | org/omg/CORBA/VisibilityHelper.java Generated by the IDL-to-Java compiler (portable), version "3.0" from ir.idl 03 June 1999 11:33:44 o'clock GMT+00:00
WCharSeqHelper | org/omg/CORBA/WCharSeqHelper.java Generated by the IDL-to-Java compiler (portable), version "3.0" from streams.idl 13 May 1999 22:41:36 o'clock GMT+00:00
WCharSeqHolder | org/omg/CORBA/WCharSeqHolder.java Generated by the IDL-to-Java compiler (portable), version "3.0" from streams.idl 13 May 1999 22:41:36 o'clock GMT+00:00
WStringValueHelper | org/omg/CORBA/WStringValueHelper.java Generated by the IDL-to-Java compiler (portable), version "3.0" from orb.idl 31 May 1999 22:27:30 o'clock GMT+00:00

Exception Summary
BAD_CONTEXT | The CORBA `BAD_CONTEXT` exception, which is thrown when there is an error processing a context object.
BAD_INV_ORDER | The CORBA `BAD_INV_ORDER` exception, which is thrown when methods are called out of order.
BAD_OPERATION | The CORBA `BAD_OPERATION` exception, which is thrown when a method is invalid.
BAD_PARAM | The CORBA `BAD_PARAM` exception, which is thrown when an invalid parameter is passed to a method.
BAD_TYPECODE | The CORBA `BAD_TYPECODE` exception, which is thrown when the specified typecode is invalid.
Bounds | A user exception thrown when a parameter is not within the legal bounds for the object that a method is trying to access.
COMM_FAILURE | The CORBA `COMM_FAILURE` exception, which is thrown when there is a communication failure.
DATA_CONVERSION | The CORBA `DATA_CONVERSION` exception, which is thrown when there is a data conversion error.
FREE_MEM | The CORBA `FREE_MEM` exception, which is thrown when the system is unable to free memory.
IMP_LIMIT | The CORBA `IMP_LIMIT` exception, which is thrown when the implementation limit has been violated.
INITIALIZE | The CORBA `INITIALIZE` exception, which is thrown when there is an ORB initialization error.
INTERNAL | The CORBA `INTERNAL` exception, which is thrown when there is an ORB internal error.
INTF_REPOS | The CORBA `INTF_REPOS` exception, which is thrown when there is an error accessing the interface repository.
INV_FLAG | The CORBA `INV_FLAG` exception, which is thrown when an invalid flag is specified.
INV_IDENT | The CORBA `INV_IDENT` exception, which is thrown when identifier syntax is invalid.
INV_OBJREF | The CORBA `INV_OBJREF` exception, which is thrown when an invalid object reference is specified.
INV_POLICY | The CORBA `INV_POLICY` standard exception, which is thrown when an invocation cannot be made because of an incompatibility between Policy overrides.
INVALID_TRANSACTION | The CORBA `INVALID_TRANSACTION` exception, which is thrown when there is a transaction error.
MARSHAL | The CORBA `MARSHAL` exception, which is thrown when the ORB has a problem marshalling or unmarshalling parameters.
NO_IMPLEMENT | The CORBA `NO_IMPLEMENT` exception, which is thrown when the implementation for a method is not available.
NO_MEMORY | The CORBA `NO_MEMORY` exception, which may be thrown by either the client or the server when there is not enough memory for a dynamic memory allocation.
NO_PERMISSION | The CORBA `NO_PERMISSION` exception, which is thrown if the client does not have permission to perform the request.
NO_RESOURCES | The CORBA `NO_RESOURCES` exception, which is thrown when either the client or the server does not have sufficient resources to perform the request.
NO_RESPONSE | The CORBA `NO_RESPONSE` exception, which is thrown when a response to the request is not yet available.
OBJ_ADAPTER | The CORBA `OBJ_ADAPTER` exception, which is thrown by the object adapter on the server to indicate some error.
OBJECT_NOT_EXIST | The CORBA `OBJECT_NOT_EXIST` exception, which is usually thrown from the server to indicate that the target object does not exist.
PERSIST_STORE | The CORBA `PERSIST_STORE` exception, which is thrown when there is an error with the persistent storage on the server.
PolicyError | An exception carrying one of the following policy error reason codes defined in the org.omg.CORBA package: BAD_POLICY, BAD_POLICY_TYPE, BAD_POLICY_VALUE, UNSUPPORTED_POLICY, UNSUPPORTED_POLICY_VALUE
SystemException | The root class for all CORBA standard exceptions.
TRANSACTION_REQUIRED | The CORBA `TRANSACTION_REQUIRED` exception, which is thrown by the ORB on the client or server during the processing of a request that is required to be enclosed in a transaction.
TRANSACTION_ROLLEDBACK | The CORBA `TRANSACTION_ROLLEDBACK` exception, which is thrown when a transactional operation did not complete because the transaction was rolled back.
TRANSIENT | The CORBA `TRANSIENT` exception, which is thrown by the server to signal a transient failure that might not occur again if the request is retried.
UNKNOWN | The CORBA `UNKNOWN` exception, which is thrown when there is an error whose cause is unknown to the ORB.
UnknownUserException | A class that contains user exceptions returned by the server.
UserException | The root class for CORBA IDL-defined user exceptions.
WrongTransaction | The CORBA `WrongTransaction` user-defined exception.

## Package org.omg.CORBA Description

Provides the mapping of the OMG CORBA APIs to the JavaTM programming language, including the class `ORB`, which is implemented so that a programmer can use it as a fully-functional Object Request Broker (ORB).

An ORB handles (or brokers) method invocations between a client and the method's implementation on a server. Because the client and server may be anywhere on a network, and because the invocation and implementation may be written in different programming languages, an ORB does a great deal of work behind the scenes to accomplish this communication.

## What the General User Needs to Know

Most of what an ORB does is completely transparent to the user, and a major portion of the `CORBA` package consists of classes used by the ORB behind the scenes. The result is that most programmers will use only a small part of this package directly. In fact, most programmers will use only a few methods from the `ORB` class, some exceptions, and occasionally, a holder class.

### `ORB` Methods

These are the `ORB` methods that a general user might invoke:

- `connect()`
- `disconnect()`
- `init()`
- `init(String [] args, Properties props)`
- `init(Applet app, Properties props)`
- `list_initial_services()`
- `resolve_initial_references(String name)`
- `object_to_string(Object obj)`
- `string_to_object(String str)`

### Exceptions

Exceptions in Java IDL are similar to those in any code written in the Java programming language. If a method is defined to throw an exception, then any code using that method must have a `try`/`catch` block and handle that exception when it is thrown.

The documentation on Java IDL exceptions has more information and explains the difference between system exceptions and user-defined exceptions.

The following is a list of the system exceptions (which are unchecked exceptions inheriting through `org.omg.CORBA.SystemException` from `java.lang.RuntimeException`) that are defined in the package `org.omg.CORBA`:

            BAD_CONTEXT
            BAD_INV_ORDER
            BAD_OPERATION
            BAD_PARAM
            BAD_TYPECODE
            COMM_FAILURE
            DATA_CONVERSION
            FREE_MEM
            IMP_LIMIT
            INITIALIZE
            INTERNAL
            INTF_REPOS
            INVALID_TRANSACTION
            INV_FLAG
            INV_IDENT
            INV_OBJREF
            INV_POLICY
            MARSHAL
            NO_IMPLEMENT
            NO_MEMORY
            NO_PERMISSION
            NO_RESOURCES
            NO_RESPONSE
            OBJECT_NOT_EXIST
            OBJ_ADAPTER
            PERSIST_STORE
            TRANSACTION_REQUIRED
            TRANSACTION_ROLLEDBACK
            TRANSIENT
            UNKNOWN

The following is a list of user-defined exceptions defined in the package `org.omg.CORBA`.

            Bounds
            UnknownUserException
            WrongTransaction
            PolicyError

Note that there are some packages inside the `CORBA` package with "Package" as part of their names. These packages are generally quite small because all they do is provide exceptions or classes for use by interfaces and classes in the `CORBA` package.

For example, the package `org.omg.CORBA.TypeCodePackage` contains two exceptions thrown by methods in the class `TypeCode`. These exceptions are:

- `BadKind`
- `Bounds`

The package `org.omg.CORBA.ORBPackage` contains two exceptions:

- `InvalidName`
- `InconsistentTypeCode`

The package `org.omg.CORBA.DynAnyPackage` contains four exceptions:

- `InvalidValue`, thrown by methods in
  - `DynAny`
  - `DynFixed`
- `Invalid`, thrown by methods in
  - `DynAny`
- `TypeMismatch`, thrown by methods in
  - `DynAny`
- `InvalidSeq`, thrown by methods in
  - `DynArray`
  - `DynSequence`
  - `DynStruct`
  - `DynValue`

### Holder classes

Holder classes are generated by the `idltojava` compiler as support for out and inout parameter passing modes. Because the Java programming language does not support out or inout parameters, holder classes are needed as a means of passing a parameter that can be modified. Holder classes implement the `org.omg.CORBA.portable.Streamable` interface in order to support portable stubs and skeletons.

Holder classes are named by appending "Holder" to the name of the type. Note that the name of the type refers to its name in the Java programming langua ge. For example, a holder class for the interface named `Account` in the Java programming language would be named `AccountHolder`.

There are holder classes available for all of the basic IDL data types in the `org.omg.CORBA` package. So, for instance, there are classes already defined for `IntHolder`, `ShortHolder`, `LongHolder`, `FloatHolder`, `ByteHolder`, `CharHolder`, and so on. New holder classes are generated for all named user-defined IDL types except those defined by a `typedef`.

Each holder class contains the following:

- a constructor from an instance
- a default constructor
- a public field, `value`, which contains an instance of the typed value
- a method for reading an input stream and assigning the contents to the type 's `value` field
- a method for writing the value of the `value` field to an output stream
- a method for getting the type code of the type

The default constructor for a holder class sets the `value` field to the default value for the type as defined by the Java programming language. These default values are:

- `false` for `boolean` types
- `0` for numeric and char types
- `null` for strings
- null for object references

As an example, if the interface `Account`, defined in OMG IDL, were mapped to the Java programming language, the following holder class would be generated:

    final public class AccountHolder implements
              org.omg.CORBA.portable.Streamable {
        public Account value;
             // the field that holds an Account object
            public AccountHolder() {}
             // the default constructor
            public AccountHolder(Account initial) {...}
             // creates a new AccountHolder from initial
            public void _read(org.omg.CORBA.portable.InputStream is) {...}
             // reads the contents of is and assigns the contents to value
            public void _write(org.omg.CORBA.portable.OutputStream os) {...}
             // writes value to os
            public org.omg.CORBA.TypeCode _type() {...}
             // returns the type code for Account
    }

The Holder classes defined in the package `org.omg.CORBA` are:

         AnyHolder
         AnySeqHelper
         BooleanHolder
         BooleanSeqHolder
         ByteHolder
         CharHolder
         CharSeqHolder
         DoubleHolder
         DoubleSeqHolder
         FixedHolder
         FloatHolder
         FloatSeqHolder
         IntHolder
         LongHolder
         LongLongSeqHolder
         LongSeqHolder
         ObjectHolder
         OctetSeqHolder
         PrincipalHolder
         ServiceInformationHolder
         ShortHolder
         ShortSeqHolder
         StringHolder
         TypeCodeHolder
         ULongLongSeqHolder
         ULongSeqHolder
         UShortSeqHolder
         ValueBaseHolder
         WCharSeqHolder

## Helper Classes

Some of the classes in this package are "helper" classes. These classes fall into two broad categories, helpers for value types and helpers for non value types. Because all of the helper classes in one category provide the same methods, one generic explanation of each category of helper classes is presented here.

Note that, generally, the only helper method an application programmer uses is the `narrow` method. The other methods are normally used behind the scenes and are transparent to the programmer.

When OMG IDL is mapped to the Java programming language, a "helper" class is generated for each user-defined type. This generated class will have the name of the user-defined type with the suffix `Helper` appended. For example, if the interface `Account` is defined in OMG IDL, the `idltojava` compiler will automatically generate a class named `AccountHelper`. The `AccountHelper` class will contain the static methods needed for manipulating instances of the type, in this case, `Account` objects. These methods provide the means to insert the type into an `Any` object, extract the type from an `Any` object, get the type code for the type, get the type's repository id, read the type from an input stream, and write the type to an output stream. Every user-defined type's helper class will include these basic methods. If a user-defined type is a value type IDL type, it's helper class also has to implement the `ValueHelper` interface, so this category of helper classes will contain additional methods.

In addition, if the IDL type maps to an interface in the Java programming language, the helper class will also contain a method for casting an object (narrowing it) to the type.

### The `narrow` Method

When an object is the return value for a method, it is returned in the form of a generic object, either an `org.omg.CORBA.Object` object or a `java.lang.Object` object. This object must be cast to its more specific type before it can be operated on. For example, an `Account` object will be returned as a generic object and must be narrowed to an `Account` object so that `Account` methods may be called on it.

The `narrow` method has two forms, one that takes an `org.omg.CORBA.Object` object and one that takes a `java.lang.Object` object. Whether the interface is abstract or not determines which `narrow` method its helper class will provide. The helper class for an interface that is not abstract will have a `narrow` method that takes a CORBA object, whereas the `narrow` method for an interface that is abstract will take an object in the Java programming language. The helper class for a non-abstract interface that has at least one abstract base interface will provide both versions of the `narrow` method.

### Example of a Basic Helper Class

A basic helper class, for purposes of this explanation, is one with the methods that are provided by every helper class, plus a `narrow` method if the type defined in OMG IDL maps to an interface in the Java programming language. Types that are not value types will have a basic helper class generated for them.

For example, assuming that the interface `Account` is not a value type IDL type and is also not an abstract interface and has no abstract base interfaces, its `AccountHelper` class will include the following methods:

- `public static void insert(org.omg.CORBA.Any a, Account ac)`
  Inserts an `Account` object into an `Any` object.

      Parameters:
         a	the Any object into which the Account
      		object will be inserted
         ac	the Account object to be inserted

- `public static Account extract(org.omg.CORBA.Any a)`
  Extracts an `Account` object from an `Any` object.

      Parameters:
         a	the Any object from which the Account
      		 object will be extracted
      Returns:
         the Account object that is the value for the given Any
         object

- `public static org.omg.CORBA.TypeCode type()`
  Gets the typecode for this type.

      Returns:
         the typecode for an Account object

- `public static String id()`
  Gets the repository id for this type.

      Returns:
         the repository id of an Account object

- `public static Account read(org.omg.CORBA.portable.InputStream istream)`
  Reads an `Account` object from an input stream.

      Parameters:
         istream	the input stream from which the Account
      			 object will be read
      Returns:
         the Account object that was contained in the input stream

- `public static void write(org.omg.CORBA.portable.OutputStream ostream)`
  Writes an `Account` object to an output stream.

      Parameters:
         ostream	the output stream to which the Account
      			 object will be written

- `public static Account narrow(org.omg.CORBA.Object obj)`
  Converts (narrows) an `Object` object to an `Account` object.

      Parameters:
         obj	the CORBA Object that will be narrowed to this type
      Returns:
         the CORBA Object as an Account object

### Additional Methods for Value Type Helper Classes

A helper class for a value type includes some additional methods because it must implement the `org.omg.CORBA.portable.ValueHelper` interface. The main difference is that value types are types that can be passed by value as parameters or return values of a method, which means that they must be serializable.

Assuming that `Address` is a value type, the `AddressHelper` class will include the following additional methods:

- `public static ValueHelper get_instance()`
  Gets an instance of `AddressHelper`, creating it if necessary.

      Returns:
         an AddressHelper object, which implements the interface
         ValueHelper

- `public java.io.Serializable read_Value(org.omg.CORBA.portable.InputStream istream)`
  Reads a serializable instance of `Address` from the given input stream.

      Parameters:
         istream	the input stream from which the Address object will
      			 be read
      Returns:
         the serialized Address object

- `public void write_Value(org.omg.CORBA.portable.OutputStream os, java.io.Serializable obj)`
  Writes a serializable instance of `Address` to the given output stream.

      Parameters:
         ostream	the output stream to which the Address object will
             		be written
         obj		the serialized Address object that will be written

- `public Class get_class()`
  Returns the class for an instance of `Address`.

      Returns:
         the Class object for this type

- `public String get_id()`
  Gets the repository id for an instance of `Address`.

      Returns:
         the repository id for this type

- `public String [] get_truncatable_base_ids()`
  Gets an array of the truncatable base repository ids for an instance of `Address`.

      Returns:
         an array of String objects containing the truncatable base
         repository ids for this type

- `public org.omg.CORBA.TypeCode get_type()`
  Gets the typecode for the type `Address`.

      Returns:
         the TypeCode object indicating the type of an
         Address object

The Helper classes defined in the package `org.omg.CORBA` are:

         AnySeqHelper
         AttrDescriptionSeqHelper
         AttributeDescriptionHelper
         AttributeModeHelper
         BooleanSeqHelper
         CharSeqHelper
         CompletionStatusHelper
         ContextIdSeqHelper
         DefinitionKindHelper
         DoubleSeqHelper
         ExcDescriptionSeqHelper
         ExceptionDescriptionHelper
         FieldNameHelper
         FloatSeqHelper
         IDLTypeHelper
         IdentifierHelper
         LongLongSeqHelper
         LongSeqHelper
         NameValuePairHelper
         ObjectHelper
         OctetSeqHelper
         OperationDescriptionHelper
         OperationModeHelper
         ParDescriptionSeqHelper
         ParameterDescriptionHelper
         ParameterModeHelper
         RepositoryIdHelper
         ServiceDetailHelper
         ServiceInformationHelper
         SetOverrideTypeHelper
         ShortSeqHelper
         StringValueHelper
         StructMemberHelper
         ULongLongSeqHelper
         ULongSeqHelper
         UShortSeqHelper
         UnionMemberHelper
         ValueBaseHelper
         ValueMemberHelper
         VersionSpecHelper
         VisibilityHelper
         WCharSeqHelper
         WStringValueHelper

## For Advanced Users

The other classes and interfaces in the `CORBA` package, which are used behind the scenes, can be put into four groups. Three of the groups are used with requests in some capacity, and the fourth group, concerning the Interface Repository, is a category by itself.

### Classes Created by an ORB

The first group contains classes that are created by an ORB and contain information used in request operations. They are listed in roughly increasing order of complexity:

- `TCKind` -- indicates the kind (datatype) for a `TypeCode` object>
- `TypeCode` -- indicates a datatype and possibly other information>
- `Any` -- contains a value and its typecode>
- `NamedValue` -- contains a name, an `Any` object, and an argument mode flag. `NamedValue` objects contain information about method arguments, method return values, or a context.
- `ContextList` -- a list of strings that describe the contexts that need to be resolved and sent with an invocation>
- `ExceptionList` -- a list of `TypeCode`s for exceptions that may be thrown by a method>
- `Environment` -- a container for the exception thrown during a method invocation>
- `Context` -- a list of `NamedValue` objects used to pass auxiliary information from client to server>
- `NVList` -- a list of `NamedValue` objects, used to pass arguments or get results>

### Classes That Deal with Requests

The second group of classes deals with requests:

- `Object` -- the base class for all CORBA object references>
- `Request` -- the main class in the DII, which contains methods for adding arguments to the request, for accessing information about the method being invoked (the method name, its arguments, exceptions it throws, and so on), and for making invocations on the request>
- `DynamicImplementation` -- the base class for server implementations using the DSI. It has the method `invoke`, which is used by an implementation of this class to determine the state of a `ServerRequest` object and to set its result or exception>
- `ServerRequest` -- captures the explicit state of a request for the Dynamic Skeleton Interface>

### Interfaces That Serve as Constants

The third group contains interfaces that serve as constants. The IDL-to-Java mapping mandates that IDL enums are mapped to a Java class with the enumerated values represented as public static final fields in that class (e.g. DefinitionKind). On the other hand IDL constants defined outside of an IDL interface are mapped to a Java interface for each constant.

This is why several interfaces in the `org.omg.CORBA` package consist of a single field, `value`, which is a `short`. This field is a constant used for such things as an error code or value modifier. For example, the `value` field of the interface `BAD_POLICY` is one of the possible reasons for the exception `PolicyError` to be thrown. To specify this error code, you would use `BAD_POLICY.value`.

The exception `PolicyError` uses the `value` field of the following interfaces as its possible error codes.

- `BAD_POLICY`
- `BAD_POLICY_TYPE`
- `BAD_POLICY_VALUE`
- `UNSUPPORTED_POLICY`
- `UNSUPPORTED_POLICY_VALUE`

The method `TypeCode.type_modifier` returns the `value` field of one of the following interfaces. The `VM` in the names of these interfaces stands for "value modifier."

- `VM_NONE`
- `VM_ABSTRACT`
- `VM_CUSTOM`
- `VM_TRUNCATABLE`

The following constants are returned by a `ValueMember` object's access method to denote the visibility of the `ValueMember` object.

- `PRIVATE_MEMBER`
- `PUBLIC_MEMBER`

These flags, used in `NamedValue` objects or as parameters to methods, are defined in the following interfaces:

- `ARG_IN`
- `ARG_INOUT`
- `ARG_OUT`
- `CTX_RESTRICT_SCOPE`

### Interface Repository Interfaces and Classes

A fourth group contains the Interface Repository interfaces and classes, which are generated by the `idltojava` compiler from the OMG IDL interface `ir.idl`. The purpose of the Interface Repository is to identify the interfaces stored in it so that they can be accessed by an ORB. Each module, type, interface, attribute, operation, parameter, exception, constant, and so on is described completely by the Interface Repository API.

An ORB does not require that there be an interface repository, and Java IDL does not include one. Even though this release does not include an implementation of an interface repository, the following IR classes and interfaces have been included for the purpose of creating type codes (see create_value_tc, create_struct_tc, create_union_tc and create_exception_tc methods in interface org.omg.CORBA.ORB)
&nbs

- IRObject
- IDLType
- DefinitionKind
- StructMember
- UnionMember
- ValueMember

# Related Documentation

For overviews, guides, and a tutorial, please see:

- Java IDL home page

# CORBA Features Not Implemented in Java IDL

Some of the API included in `org.omg.CORBA` is provided for conformance with the current OMG CORBA specification but is not implemented in Sun's release of the JDKTM. This enables other JDK licensees to provide implementations of this API in standard extensions and products.

## General Summary of Features or API Not Implemented in This Release:

- Interface Repository. An Interface Repository is not required for normal operation of Java IDL. Java IDL clients can access an Interface Repository provided by another Java or C++ ORB.
- RMI/IIOP>
- Objects-by-Value>
- Of the recently added type extensions to IDL, only `longlong` (signed and unsigned) is supported. The wide character IDL types `wchar` and `wstring` are not supported. The types `long double` and `fixed` are also not supported.
- The method `org.omg.CORBA.Any.equal` is not implemented for complex TypeCodes (`tk_objref`, `tk_Principal`, `tk_struct`, `tk_union`, `tk_sequence`, `tk_array`, `tk_alias`, and `tk_except`), extended TypeCodes (`tk_longdouble`, `tk_wchar`, `tk_wstring`) and value TypeCodes (`tk_value`, `tk_value_box`).
- There is no implementation for `org.omg.CORBA.DynAny` and other dynamic-Any interfaces.
- The API for `org.omg.CORBA.Context` is not implemented.
  NOTE: Abstract classes, such as `Context`, by definition have methods that are not implemented.
- Policies (`org.omg.CORBA.Policy`) and methods for getting them are not implemented.
- Domain managers (`org.omg.CORBA.DomainManager`) and methods for getting them are not implemented.
- `org.omg.CORBA.ServiceInformation` and ORB methods for getting these objects are not implemented.
- `org.omg.CORBA.portable.ServantObject` and `Delegate/ObjectImpl` methods `_servant_preinvoke`, `_servant_postinvoke` and `_is_local are not` implemented.
- ORB methods for supporting single-threading (`perform_work`, `work_pending`) are not implemented.

## Specific List of Unimplemented Features in Package `org.omg.CORBA`

### Unimplemented Interfaces in package `org.omg.CORBA`:

- `Current`
- `DynAny`
- `DynStruct`
- `DynEnum`
- `DynArray`
- `DomainManager`
- `Policy`
- `DynFixed`
- `DynUnion`
- `DynSequence`
- `DynValue`
- `IRObject`
- `IDLType`

### Unimplemented Methods in package `org.omg.CORBA`:

- `ORB`
  - `public org.omg.CORBA.Policy create_policy(int type, org.omg.CORBA.Any val)`
  - `public org.omg.CORBA.DynEnum create_dyn_enum(org.omg.CORBA.TypeCode type) throws`
  - `public org.omg.CORBA.DynUnion create_dyn_union(org.omg.CORBA.TypeCode type)`
  - `public org.omg.CORBA.DynArray create_dyn_array(org.omg.CORBA.TypeCode type)`
  - `public org.omg.CORBA.DynSequence create_dyn_sequence(org.omg.CORBA.TypeCode type)`
  - `public org.omg.CORBA.DynStruct create_dyn_struct(org.omg.CORBA.TypeCode type)`
  - `public org.omg.CORBA.DynAny create_basic_dyn_any(org.omg.CORBA.TypeCode type)`
  - `public org.omg.CORBA.DynAny create_dyn_any(org.omg.CORBA.Any value)`
  - `public boolean get_service_information(short service_type, ServiceInformationHolder service_info)`
  - `public void perform_work()`
  - `public boolean work_pending()`
  - `public void shutdown(boolean wait_for_completion)`
  - `public void run()`
  - `public org.omg.CORBA.Current get_current()`
- `Any`
  - `public void insert_Value(java.io.Serializable v, TypeCode t)`
  - `public void insert_Value(java.io.Serializable v)`
  - `public java.io.Serializable extract_Value()`
  - `public void insert_fixed(java.math.BigDecimal value, org.omg.CORBA.TypeCode type)`
  - `public void insert_fixed(java.math.BigDecimal value)`
  - `public java.math.BigDecimal extract_fixed()`
- `ServerRequest`
  - `public void set_exception(Any any)`
  - `public void set_result(org.omg.CORBA.Any any)`
  - `public void arguments(org.omg.CORBA.NVList args)`
  - `public String operation()`

Since:
  JDK1.2

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.3.1
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2001 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.