JavaTM 2 Platform
Standard Edition

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 Signifies an "output" argument to an invocation, meaning that the argument is being passed from the server to the client.
BAD_POLICY  
BAD_POLICY_TYPE  
BAD_POLICY_VALUE  
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 An interface that makes it possible to access information associated with a particular thread of execution, such as security information or a transaction identifier.
DomainManager The DomainManager has associated with it the policy objects for a particular domain.
DynAny An object that enables the dynamic management of Any values.
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 The DynFixed interface represents a DynAny object which is associated with an IDL fixed type.
DynSequence The DynArray interface represents a DynAny object which is associated with an IDL sequence.
DynStruct The DynStruct interface represents a DynAny object which is associated with an IDL struct.
DynUnion The DynUnion interface represents a DynAny object that is associated with an IDL union.
DynValue  
IDLType An abstract interface inherited by all Interface Repository (IR) objects that represent OMG IDL types.
IRObject An IRObject IDL interface represents the most generic interface from which all other Interface Repository interfaces are derived, even the Repository itself.
Object The definition for a CORBA object reference.
Policy The Policy interface provides a mechanism for ORBs and Object Services to allow access to certain choices that affect their operation.
PRIVATE_MEMBER  
PUBLIC_MEMBER  
UNSUPPORTED_POLICY  
UNSUPPORTED_POLICY_VALUE  
VM_ABSTRACT  
VM_CUSTOM  
VM_NONE  
VM_TRUNCATABLE  
 

Class Summary
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.
BooleanHolder A Holder class for a boolean that is used to store "out" and "inout" parameters in IDL methods.
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.
CompletionStatus An object that indicates whether a method had completed running when a SystemException was thrown.
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.
DefinitionKind This class defines the constants used to identify the type of an Interface Repository object.
DoubleHolder A Holder class for a double that is used to store "out" and "inout" parameters in IDL methods.
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.
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.
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.
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.
NVList A modifiable list containing NamedValue objects.
ObjectHolder A Holder class for a CORBA object reference (a value of type org.omg.CORBA.Object).
ORB A class providing APIs for the CORBA Object Request Broker features.
Principal Deprecated. Deprecated by CORBA 2.2.
PrincipalHolder Deprecated. Deprecated by CORBA 2.2.
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  
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  
ShortHolder A Holder class for a short that is used to store "out" and "inout" parameters in IDL operations.
StringHolder A Holder class for a String that is used to store "out" and "inout" parameters in IDL operations.
StructMember A description of a member of an IDL struct.
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.
UnionMember A description in the Interface Repository of a member of an IDL union.
ValueMember A description in the Interface Repository of a member of a value object.
 

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  
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:

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:

The package org.omg.CORBA.ORBPackage contains two exceptions: The package org.omg.CORBA.DynAnyPackage contains four exceptions:

Holder classes

Operations in an IDL interface may take out or inout parameters as well as in parameters. The Java programming language only passes parameters by value and thus does not have out or inout parameters, so these are mapped to what are called Holder classes. In place of the IDL out parameter, the Java programming language method will take an instance of the Holder class of the appropriate type. The result that was assigned to the out or inout parameter in the IDL interface is assigned to the value field of the Holder class.

The package org.omg.CORBA contains a Holder class for each of the basic types (BooleanHolder, LongHolder, StringHolder, and so on). It also has Holder classes for each generated class (such as TypeCodeHolder), but these are used transparently by the ORB, and the programmer usually does not see them.

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

     AnyHolder
     BooleanHolder
     ByteHolder
     CharHolder
     DoubleHolder
     FloatHolder
     FixedHolder
     IntHolder
     LongHolder
     ObjectHolder
     PrincipalHolder
     ShortHolder
     StringHolder
     TypeCodeHolder

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:

Classes That Deal with Requests

The second group of classes deals with requests:

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.

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." The following constants are returned by ValueMembers access method to denote the visibility of the ValueMember These flags, used in NamedValue objects or as parameters to methods, are defined in the following interfaces:

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)
 

Related Documentation

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

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:


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


Unimplemented Interfaces in package org.omg.CORBA:

Unimplemented Methods in package org.omg.CORBA:

@since JDK1.2


JavaTM 2 Platform
Standard Edition

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