Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
org.omg.CORBA.ORB
org.omg.CORBA.ORBClass | The class, implementing the functional ORB, returned by
init(Applet,Properties) or init(String[],Properties)
|
org.omg.CORBA.ORBSingletonClass | The class, implementing the restricted ORB, returned by init() .
|
org.omg.CORBA.ORBInitRef | Specifies the initial reference, accessible by name with the method
resolve_initial_references(String) . |
org.omg.CORBA.ORBid | Specifies the name (ORB Id) of this ORB. The ORB Id is later accessible
by ObjectReferenceTemplate.orb_id() . The default value includes the
hashcode of the ORB instance that is normally different for each ORB.
|
org.omg.CORBA.ServerId | Specifies the name (Server Id) of this server. This property assigns
value to the static field, ensuring that all ORB's on the same jre
have the same Server Id. It is normally set as the system property. The
server Id is later accessible as ObjectReferenceTemplate.server_id() .
|
gnu.CORBA.ListenerPort | Specifies that this ORB should serve all its objects on a single port (for example, "1234") or on a specified port range (for example, "1100-1108"). The property is used when working with firewals and serves as a replacement for the proprietary properties like com.ibm.CORBA.ListenerPort or com.sun.CORBA.POA.ORBPersistentServerPort. The specified port or range should not overlap with the values, specified for other ORB's. |
gnu.Corba.SocketFactory | Sets the user-defined server and client socket factory for the ORB being currently instantiated. Serves as a replacement of the proprietary property com.sun.CORBA.connection.ORBSocketFactoryClass. To have multiple types of sockets, instantiate several ORB's with this property each time set to the different value. The factory must implement gnu.CORBA.interfaces.SocketFactory. |
-ORBInitRef NameService=IOR:aabbccdd....
Method Summary | |
void | |
TypeCode |
|
abstract TypeCode |
|
abstract Any |
|
abstract TypeCode |
|
DynAny |
|
abstract ContextList |
|
DynAny |
|
DynArray |
|
DynEnum |
|
DynSequence |
|
DynStruct |
|
DynUnion |
|
abstract TypeCode |
|
abstract Environment |
|
abstract ExceptionList |
|
abstract TypeCode |
|
TypeCode |
|
abstract TypeCode |
|
abstract NVList |
|
abstract NamedValue |
|
TypeCode |
|
NVList |
|
abstract OutputStream |
|
Policy |
|
abstract TypeCode |
|
TypeCode |
|
abstract TypeCode |
|
abstract TypeCode |
|
abstract TypeCode |
|
abstract TypeCode |
|
TypeCode |
|
TypeCode |
|
abstract TypeCode |
|
void |
|
void |
|
Current |
|
abstract Context |
|
abstract Request |
|
abstract TypeCode |
|
boolean |
|
static ORB |
|
static ORB |
|
static ORB |
|
abstract String[] |
|
abstract String |
|
void |
|
abstract boolean |
|
abstract Object |
|
void |
|
abstract void |
|
abstract void |
|
protected abstract void |
|
protected abstract void |
|
void |
|
abstract Object |
|
boolean |
|
Methods inherited from class java.lang.Object | |
clone , equals , extends Object> getClass , finalize , hashCode , notify , notifyAll , toString , wait , wait , wait |
public void connect(Object object)
Connect the given CORBA object to this ORB. After the object is connected, it starts receiving remote invocations via this ORB. The OMG group recommends to use Portable Object Adapter (POA) instead of calling this method. This method is implemented in the derived Gnu Classpah classes, returned by ORB.init(..). In this abstract class, the implementation just throwsNO_IMPLEMENT
.
- Parameters:
object
- the org.omg.CORBA.Object to connect.
public TypeCode create_abstract_interface_tc(String id, String name)
Create a typecode for an abstract interface. The abstract interface can be either CORBA object or CORBA value type.
- Parameters:
id
- the id of the abstract interface.name
- the name of the abstract interface.
- Returns:
- the created typecode.
public abstract TypeCode create_alias_tc(String id, String name, TypeCode typecode)
Create alias typecode for the given typecode.
public abstract Any create_any()
Create an instance of the CORBAAny
with the type, intialised toTCKind.tk_null
public abstract TypeCode create_array_tc(int length, TypeCode element_type)
Create a typecode, defining an array of the given elements.
- Parameters:
length
- the size of arrayelement_type
- the array component type.
- Returns:
- the corresponding typecode.
public DynAny create_basic_dyn_any(TypeCode t) throws InconsistentTypeCode
Deprecated. Use
DynAnyFactory
The support forDynAny
and derived interfaces has never been implemented in Sun's java releases, at least till v1.4 inclusive. Since v1.4 this stil missing implementation was replaced by the new DynamicAny package.
public abstract ContextList create_context_list()
Creates an empty CORBAContextList
.
- Returns:
- the newly created context list.
public DynAny create_dyn_any(Any a)
Deprecated. Use
DynAnyFactory
The support forDynAny
and derived interfaces has never been implemented in Sun's java releases, at least till v1.4 inclusive. Since v1.4 this stil missing implementation was replaced by the new DynamicAny package.
public DynArray create_dyn_array(TypeCode t) throws InconsistentTypeCode
Deprecated. Use
DynAnyFactory
The support forDynArray
has never been implemented in Sun's java releases, at least till v1.4 inclusive. Since v1.4 this stil missing implementation was replaced by the new DynamicAny package.
public DynEnum create_dyn_enum(TypeCode t) throws InconsistentTypeCode
Deprecated. Use
DynAnyFactory
The support forDynEnum
has never been implemented in Sun's java releases, at least till v1.4 inclusive. Since v1.4 this stil missing implementation was replaced by the new DynamicAny package.
public DynSequence create_dyn_sequence(TypeCode t) throws InconsistentTypeCode
Deprecated. Use
DynAnyFactory
The support forDynSequence
has never been implemented in Sun's java releases, at least till v1.4 inclusive. Since v1.4 this stil missing implementation was replaced by the new DynamicAny package.
public DynStruct create_dyn_struct(TypeCode t) throws InconsistentTypeCode
Deprecated. Use
DynAnyFactory
The support forDynStruct
and derived interfaces has never been implemented in Sun's java releases, at least till v1.4 inclusive. Since v1.4 this stil missing implementation was replaced by the new DynamicAny package.
public DynUnion create_dyn_union(TypeCode t) throws InconsistentTypeCode
Deprecated. Use
DynAnyFactory
The support forDynUnion
and derived interfaces has never been implemented in Sun's java releases, at least till v1.4 inclusive. Since v1.4 this stil missing implementation was replaced by the new DynamicAny package.
public abstract TypeCode create_enum_tc(String id, String name, String[] members)
Create a typecode, defining the given enumeration.
- Parameters:
id
- the id.name
- the name.members
- the memebers
- Returns:
- the created enumeration.
public abstract Environment create_environment()
Create an environment (container for exceptions).
- Returns:
- the created container.
public abstract ExceptionList create_exception_list()
Creates an empty exception list.
- Returns:
- the newly created list.
public abstract TypeCode create_exception_tc(String id, String name, StructMember[] members)
Create the exception typecode.
- Parameters:
id
- the id of exception.name
- the name of exception.members
- the members of exception.
public TypeCode create_fixed_tc(short digits, short scale)
Creates a TypeCode object for CORBAfixed
that is mapped to javaBigDecimal
.
- Parameters:
digits
- the number of digits in thatfixed
.scale
- the number of digits after the decimal point.
- Returns:
- the corresponding TypeCode.
public abstract TypeCode create_interface_tc(String id, String name)
Creates a typecode, representing the IDL interface.
- Parameters:
id
- the interface repository id.name
- the interface name.
- Returns:
- the created typecode.
public abstract NVList create_list(int count)
Create an instance of a newNVList
.
- Parameters:
count
- the initial size of the list. If more elements are added, the list automatically expands.
- Returns:
- the created list.
public abstract NamedValue create_named_value(String name, Any any, int flags)
Create a new named value.
- Parameters:
name
- the name of the named valueany
- the content of the named value.flags
- the flags of the named value
- Returns:
- the named value.
public TypeCode create_native_tc(String id, String name)
Create a typecode for a native interface.
- Parameters:
id
- the id of the native interface.name
- the name of the native interface.
- Returns:
- the created typecode.
public NVList create_operation_list(Object operation_definition)
This should create the list, initialised with the argument descriptions for the given operation definition (CORBAOperationDef
). The information should be obtained from the interface repository. However this method is oficially documented as not implemented at least till v1.4 inclusive.
- Parameters:
operation_definition
- the operation definition, must be CORBAOperationDef
.
- Returns:
- never
public abstract OutputStream create_output_stream()
Create a new CDR output stream, where the parameter values can be written during the method invocation.
- Returns:
- a stream to write values into.
public Policy create_policy(int type, Any value) throws PolicyError
Creates the new policy of the specified type, having the given value. This method looks for the policy factory that was previously registered during ORB initialization byorg.omg.PortableInterceptor.ORBInitialiser
. If the suitable factory is found, this factory creates the requested policy, otherwise the PolicyError is thrown. The POA policies should be created by POA, not by this method.
- Parameters:
type
- the policy type.value
- the policy value, wrapped into Any.
- Throws:
PolicyError
- if the ORB fails to instantiate the policy object.NO_IMPLEMENT
- always (in this class). Overridden in derived classes returned by ORB.init(..).
public abstract TypeCode create_recursive_sequence_tc(int bound, int offset)
Deprecated. It is easier and clearler to use a combination of create_recursive_tc and create_sequence_tc instead.
Create a typecode, representing a tree-like structure. This structure contains a member that is a sequence of the same type, as the structure itself. You can imagine as if the folder definition contains a variable-length array of the enclosed (nested) folder definitions. In this way, it is possible to have a tree like structure that can be transferred via CORBA CDR stream.
- Parameters:
bound
- the maximal expected number of the nested components on each node; 0 if not limited.offset
- the position of the field in the returned structure that contains the sequence of the structures of the same field. The members before this field are intialised using parameterless StructMember constructor.
- Returns:
- a typecode, defining a stucture, where a member at the
offset
position defines an array of the identical structures.
public TypeCode create_recursive_tc(String id)
Create a typecode which serves as a placeholder for typcode, containing recursion.
- Parameters:
id
- the id of the recursive typecode, for that this typecode serves as a placeholder.
public abstract TypeCode create_sequence_tc(int bound, TypeCode element_type)
Create typecode, defining the sequence of the elements, having the given type.
- Parameters:
bound
- the maximal length of the sequence, 0 if not restricted.element_type
- the sequence element type.
- Returns:
- the typecode.
public abstract TypeCode create_string_tc(int bound)
Create a TypeCode, representing the CORBAstring
.
- Parameters:
bound
- the maximal length of the string, 0 is unlimited.
- Returns:
- the corresponding string typecode.
public abstract TypeCode create_struct_tc(String id, String name, StructMember[] members)
Create the typecode, defining the given IDL structure. The TypeCode object is initialized with the given id, name, and members.
- Parameters:
id
- the Id of this type.name
- the name of this type.members
- the member list.
- Returns:
- the typecode.
public abstract TypeCode create_union_tc(String id, String name, TypeCode discriminator, UnionMember[] members)
Create the typecode, defining the given IDL union. The TypeCode object is initialized with the given id, name, discriminator and members.
- Parameters:
id
- the Id of this type.name
- the name of this type.discriminator
- the union discriminator.members
- the member list.
- Returns:
- the typecode.
public TypeCode create_value_box_tc(String id, String name, TypeCode boxed_type)
Create value box typecode.
public TypeCode create_value_tc(String id, String name, short type_modifier, TypeCode concrete_base, ValueMember[] members)
Create IDL value type code.
public abstract TypeCode create_wstring_tc(int bound)
Create a TypeCode, representing the CORBAwstring
.
- Parameters:
bound
- the maximal length of the string, 0 is unlimited.
- Returns:
- the corresponding string typecode.
public void destroy()
Destroy this server, releasing the occupied resources. The default method returns without action.
public void disconnect(Object object)
Disconnect the given CORBA object from this ORB. The object will be no longer receiving the remote invocations. In response to the remote invocation on this object, the ORB will send the exceptionOBJECT_NOT_EXIST
. The object, however, is not destroyed and can receive the local invocations. This method is implemented in the derived Gnu Classpah classes, returned by ORB.init(..). In this abstract class, the implementation just throwsNO_IMPLEMENT
.
- Parameters:
object
- the object to disconnect.
public Current get_current()
Deprecated. since 1.2, use
resolve_initial_references(String)
.This should return the information, related to the current thread. The information is needed, for instance, to get the current object from the code that serves several objects in parallel threads. TheCurrent
is very general interface, with no fields and operations defined. This method is not implemented in Suns releases at least till v1.5 inclusive. To obtain theCurrent
, useresolve_initial_references(String)
, passing "POACurrent".
- Returns:
- never
- Throws:
NO_IMPLEMENT
- always.
public abstract Context get_default_context()
Get the default context of this ORB. This is an initial root of all contexts. The default method returns a new context with the empty name and no parent context.
- Returns:
- the default context of this ORB.
- Throws:
NO_IMPLEMENT
- for the Singleton ORB, returned by the parameterlessinit()
.
public abstract Request get_next_response() throws WrongTransaction
Get the next instance with a response being received. If all currently sent responses not yet processed, this method pauses till at least one of them is complete. If there are no requests currently sent, the method pauses till some request is submitted and the response is received. This strategy is identical to the one accepted by Suns 1.4 ORB implementation.
- Returns:
- the previously sent request that now contains the received response.
- Throws:
WrongTransaction
- If the method was called from the transaction scope different than the one, used to send the request. The exception can be raised only if the request is implicitly associated with some particular transaction.
public abstract TypeCode get_primitive_tc(TCKind tcKind)
Return thg typecode, representing the given primitive object type.
- Parameters:
tcKind
- the kind of the primitive typecode.
- Returns:
- the typecode of the primitve typecode.
public boolean get_service_information(short service_type, ServiceInformationHolder service_info)
This should return the information about the CORBA facilities and services, available from this ORB. However this method is oficially documented as not implemented at least till v1.5 inclusive.
- Parameters:
service_type
- a type of the service being requested. The OMG specification currently defines only one value, 1, for security related services.service_info
- a holder, where the returned information should be stored.
- Returns:
- should return true if the service information is available from the ORB, but this method never returns.
- Throws:
NO_IMPLEMENT
- always.
public static ORB init()
Returns so-called Singleton ORB, a highly restricted version that cannot communicate over network. This ORB is provided for the potentially malicious applets with heavy security restrictions. The returned Singleton ORB can only create typecodes,Any
,ContextList
,NVList
andOutputStream
that writes to an internal buffer. All other methods throw theNO_IMPLEMENT
exception, additionally printing the error message about the potential attempt to violate the security rules. The implementing ORB class, used in this method, is found as described in the header.
- Returns:
- the working derivative of ORB, implementing the methods of this abstract class.
public static ORB init(Applet applet, Properties props)
Creates the working instance of ORB for an applet. By default the built-in fully functional ORB is returned. The ORB class is found as described in the header of this class.
- Parameters:
applet
- the applet. The property org.omg.CORBA.ORBClass, if present, defines the used ORB implementation class. If this property is not present, the ORB class is found as described in the class header.props
- the properties, may benull
.
- Returns:
- a newly created functional derivative of this abstract class.
public static ORB init(String[] args, Properties props)
Creates the working instance of ORB for a standalone application. By default the built-in fully functional ORB is returned. The ORB class is found as described in the header of this class.
- Parameters:
args
- the parameters, passed to the applicationsmain(String[] args)
method, may benull
. The parameter -org.omg.CORBA.ORBClassif present, defines the used ORB implementation class. If this property is not present, the ORB class is found as described in the class header. props
- application specific properties, may benull
.
- Returns:
- a newly created functional derivative of this abstract class.
public abstract String[] list_initial_services()
List the initially available CORBA objects (services).
- Returns:
- a list of services.
- See Also:
resolve_initial_references(String)
public abstract String object_to_string(Object forObject)
Get the IOR reference string for the given object. IOR can be compared with the Internet address for a web page, it provides means to locate the CORBA service on the web. IOR contains the host address, port number, the object identifier (key) inside the server, the communication protocol version, supported charsets and so on.
- Parameters:
forObject
- the CORBA object
- Returns:
- the object IOR representation.
- See Also:
string_to_object(String)
public void perform_work()
This should perform the implementation dependent unit of work in the main thread. This method is part of the support for the distribute use of the single execution thread. Same as in Suns releases at least till 1.4 inclusive, the distribute use of the single thread is not implemented. Use multiple threads, provided by jre. The method returns without action.
public abstract boolean poll_next_response()
Find if any of the requests that have been previously sent withsend_multiple_requests_deferred(Request[])
, have a response yet.
- Returns:
- true if there is at least one response to the previously sent request, false otherwise.
public abstract Object resolve_initial_references(String name) throws InvalidName
Find and return the easily accessible CORBA object, addressed by name. The returned object is typically casted to the more specific reference using thenarrow(Object)
method of its helper. The method resolves the following string values, returning the working objects:
String Object class Object use NameService NamingContextExt
Finds (usually remote) object by its name. RootPOA POA
Holds the POA tree for this ORB, where since 1.4 all servants should be connected. RootPOAManager POAManager
Regulates (suspends/resumes) the root POA activity POACurrent Current
Informs the current thread about the Id and POA of the object being currently served (the methods of Current
return different values for different threads).CodecFactory Codec
Encodes/decodes IDL data types into/from byte arrays. DynAnyFactory DynAnyFactory
Creates DynAny's. PICurrent Current
Contains multiple slots where an interceptor can rememeber the request - specific values between subsequent calls of the interceptor methods.
- Parameters:
name
- the object name.
- Returns:
- the object
- Throws:
InvalidName
- if the given name is not associated with the known object.
public void run()
Start listening on the input socket. This method blocks the current thread untilshutdown(boolean)
is called and shutdown process is completed.
public abstract void send_multiple_requests_deferred(Request[] requests)
Send multiple prepared requests expecting to get a reply. All requests are send in parallel, each in its own separate thread. When the reply arrives, it is stored in the agreed fields of the corresponing request data structure. If this method is called repeatedly, the new requests are added to the set of the currently sent requests, but the old set is not discarded.
- Parameters:
requests
- the prepared array of requests.
public abstract void send_multiple_requests_oneway(Request[] requests)
Send multiple prepared requests one way, do not caring about the answer. The messages, containing requests, will be marked, indicating that the sender is not expecting to get a reply.
- Parameters:
requests
- the prepared array of requests.
- See Also:
Request.send_oneway()
protected abstract void set_parameters(Applet app, Properties props)
Set the ORB parameters. This method is normally called frominit(Applet,Properties)
.
- Parameters:
app
- the current applet.props
- application specific properties, passed as the second parameter ininit(Applet,Properties)
. Can benull
.
protected abstract void set_parameters(String[] para, Properties props)
Set the ORB parameters. This method is normally called frominit(String[],Properties)
.
- Parameters:
para
- the parameters, that were passed as the parameters to themain(String[] args)
method of the current standalone application.props
- application specific properties that were passed as a second parameter ininit(String[],Properties)
). Can benull
.
public void shutdown(boolean wait_for_completion)
Shutdown the ORB server.
- Parameters:
wait_for_completion
- if true, the current thread is suspended untile the shutdown process is complete.
public abstract Object string_to_object(String IOR)
Find and return the CORBA object, addressed by the given string representation. The object can be (an usually is) located on a remote computer, possibly running a different (not necessary java) CORBA implementation. The returned object is typically casted to the more specific reference using thenarrow(Object)
method of its helper. This function supports the following input formats:
1. IOR reference (ior:nnnnn ..), usually computer generated.
2. corbaloc:[iiop][version.subversion@]:host[:port]/key defines similar information as IOR reference, but is more human readable. This type of reference may also contain multiple addresses (see OMG documentation for complete format).
3. corbaloc:rir:/name defines internal reference on this ORB that is resolved usingresolve_initial_references(String)
, passing the given name as parameter.
4. corbaname:rir:#name states that the given name must be resolved using the naming service, default for this ORB.
5. corbaname:[iiop][version.subversion@]:host[:port]#name states that the name must be resolved using the naming service that runs on the given host at the given port. The ORB expects to find there theNamingContext
under the key "NameService.
7. file://[file name] Read the object definition string from the file system
8. http://[url] Read the object definition string from the provided url.
9. ftp://[url] Read the object definition string from the provided url.
The default port is always 2809. The default iiop version is 1.0 that now may not always be supported, so we would recommend to specify the version explicitly. The examples of the corbaloc and corbaname addresses:
corbaname:rir:#xobj - ask local naming service for "xobj".
corbaname:rir:/NameService#xobj - same (long form).
corbaname:iiop:1.2@localhost:900#xobj - same, assuming that the naming service runs at port 900 on the local host and supports iiop 1.2.
corbaname:iiop:localhost#xobj - same, assuming that the naming service runs at port 2809 on the local host and supports iiop 1.0.
corbaloc::gnu.xxx.yy/Prod/TradingService - the object exists on the host gnu.xxx.yy, port 2809 having the key "Prod/TradingService". Its ORB supports iiop 1.0.
corbaloc::gnu.xxx.yy/Prod/TradingService:801 - the object exists on the host gnu.xxx.yy, port 801 having the key "Prod/TradingService". Its ORB supports iiop 1.0 (iiop keyword ommitted).
corbaloc:iiop:1.1@gnu.xxx.yy/Prod/TradingService - the object exists on the host gnu.xxx.yy, port 801 having the key "Prod/TradingService". Its ORB supports iiop 1.1.
corbaloc:rir:/NameService - the default naming service.
- Parameters:
IOR
- the object IOR representation string.
- Returns:
- the found CORBA object.
- Throws:
BAD_PARAM
- if the string being parsed is invalid.DATA_CONVERSION
- if the string being parsed contains unsupported prefix or protocol.
- See Also:
object_to_string(Object)
public boolean work_pending()
Checks if the ORB needs the main thread to perform some work. The method should return true if the ORB needs the main thread, and false if it does not. This method is part of the support for the distribute use of the single execution thread. Same as in Suns releases at least till 1.4 inclusive, the distributed use of the single thread is not implemented. Use multiple threads, provided by jre.
- Returns:
- false, always.