changeset 32688 | 936c391804a5 |
parent 29827 | aac4782e69ac |
child 43345 | a3460624dc33 |
32550:6521875cb63e | 32688:936c391804a5 |
---|---|
38 |
38 |
39 import sun.reflect.misc.ReflectUtil; |
39 import sun.reflect.misc.ReflectUtil; |
40 |
40 |
41 /** |
41 /** |
42 * A class providing APIs for the CORBA Object Request Broker |
42 * A class providing APIs for the CORBA Object Request Broker |
43 * features. The <code>ORB</code> class also provides |
43 * features. The {@code ORB} class also provides |
44 * "pluggable ORB implementation" APIs that allow another vendor's ORB |
44 * "pluggable ORB implementation" APIs that allow another vendor's ORB |
45 * implementation to be used. |
45 * implementation to be used. |
46 * <P> |
46 * <P> |
47 * An ORB makes it possible for CORBA objects to communicate |
47 * An ORB makes it possible for CORBA objects to communicate |
48 * with each other by connecting objects making requests (clients) with |
48 * with each other by connecting objects making requests (clients) with |
49 * objects servicing requests (servers). |
49 * objects servicing requests (servers). |
50 * <P> |
50 * <P> |
51 * |
51 * |
52 * The <code>ORB</code> class, which |
52 * The {@code ORB} class, which |
53 * encapsulates generic CORBA functionality, does the following: |
53 * encapsulates generic CORBA functionality, does the following: |
54 * (Note that items 5 and 6, which include most of the methods in |
54 * (Note that items 5 and 6, which include most of the methods in |
55 * the class <code>ORB</code>, are typically used with the <code>Dynamic Invocation |
55 * the class {@code ORB}, are typically used with the |
56 * Interface</code> (DII) and the <code>Dynamic Skeleton Interface</code> |
56 * {@code Dynamic Invocation Interface} (DII) and |
57 * (DSI). |
57 * the {@code Dynamic Skeleton Interface} (DSI). |
58 * These interfaces may be used by a developer directly, but |
58 * These interfaces may be used by a developer directly, but |
59 * most commonly they are used by the ORB internally and are |
59 * most commonly they are used by the ORB internally and are |
60 * not seen by the general programmer.) |
60 * not seen by the general programmer.) |
61 * <OL> |
61 * <OL> |
62 * <li> initializes the ORB implementation by supplying values for |
62 * <li> initializes the ORB implementation by supplying values for |
63 * predefined properties and environmental parameters |
63 * predefined properties and environmental parameters |
64 * <li> obtains initial object references to services such as |
64 * <li> obtains initial object references to services such as |
65 * the NameService using the method <code>resolve_initial_references</code> |
65 * the NameService using the method {@code resolve_initial_references} |
66 * <li> converts object references to strings and back |
66 * <li> converts object references to strings and back |
67 * <li> connects the ORB to a servant (an instance of a CORBA object |
67 * <li> connects the ORB to a servant (an instance of a CORBA object |
68 * implementation) and disconnects the ORB from a servant |
68 * implementation) and disconnects the ORB from a servant |
69 * <li> creates objects such as |
69 * <li> creates objects such as |
70 * <ul> |
70 * <ul> |
71 * <li><code>TypeCode</code> |
71 * <li>{@code TypeCode} |
72 * <li><code>Any</code> |
72 * <li>{@code Any} |
73 * <li><code>NamedValue</code> |
73 * <li>{@code NamedValue} |
74 * <li><code>Context</code> |
74 * <li>{@code Context} |
75 * <li><code>Environment</code> |
75 * <li>{@code Environment} |
76 * <li>lists (such as <code>NVList</code>) containing these objects |
76 * <li>lists (such as {@code NVList}) containing these objects |
77 * </ul> |
77 * </ul> |
78 * <li> sends multiple messages in the DII |
78 * <li> sends multiple messages in the DII |
79 * </OL> |
79 * </OL> |
80 * |
80 * |
81 * <P> |
81 * <P> |
82 * The <code>ORB</code> class can be used to obtain references to objects |
82 * The {@code ORB} class can be used to obtain references to objects |
83 * implemented anywhere on the network. |
83 * implemented anywhere on the network. |
84 * <P> |
84 * <P> |
85 * An application or applet gains access to the CORBA environment |
85 * An application or applet gains access to the CORBA environment |
86 * by initializing itself into an <code>ORB</code> using one of |
86 * by initializing itself into an {@code ORB} using one of |
87 * three <code>init</code> methods. Two of the three methods use the properties |
87 * three {@code init} methods. Two of the three methods use the properties |
88 * (associations of a name with a value) shown in the |
88 * (associations of a name with a value) shown in the |
89 * table below.<BR> |
89 * table below.<BR> |
90 * <TABLE BORDER=1 SUMMARY="Standard Java CORBA Properties"> |
90 * <TABLE BORDER=1 SUMMARY="Standard Java CORBA Properties"> |
91 * <TR><TH>Property Name</TH> <TH>Property Value</TH></TR> |
91 * <TR><TH>Property Name</TH> <TH>Property Value</TH></TR> |
92 * <CAPTION>Standard Java CORBA Properties:</CAPTION> |
92 * <CAPTION>Standard Java CORBA Properties:</CAPTION> |
93 * <TR><TD>org.omg.CORBA.ORBClass</TD> |
93 * <TR><TD>org.omg.CORBA.ORBClass</TD> |
94 * <TD>class name of an ORB implementation</TD></TR> |
94 * <TD>class name of an ORB implementation</TD></TR> |
95 * <TR><TD>org.omg.CORBA.ORBSingletonClass</TD> |
95 * <TR><TD>org.omg.CORBA.ORBSingletonClass</TD> |
96 * <TD>class name of the ORB returned by <code>init()</code></TD></TR> |
96 * <TD>class name of the ORB returned by {@code init()}</TD></TR> |
97 * </TABLE> |
97 * </TABLE> |
98 * <P> |
98 * <P> |
99 * These properties allow a different vendor's <code>ORB</code> |
99 * These properties allow a different vendor's {@code ORB} |
100 * implementation to be "plugged in." |
100 * implementation to be "plugged in." |
101 * <P> |
101 * <P> |
102 * When an ORB instance is being created, the class name of the ORB |
102 * When an ORB instance is being created, the class name of the ORB |
103 * implementation is located using |
103 * implementation is located using |
104 * the following standard search order: |
104 * the following standard search order: |
120 * implementation) |
120 * implementation) |
121 * </OL> |
121 * </OL> |
122 * <P> |
122 * <P> |
123 * Note that Java IDL provides a default implementation for the |
123 * Note that Java IDL provides a default implementation for the |
124 * fully-functional ORB and for the Singleton ORB. When the method |
124 * fully-functional ORB and for the Singleton ORB. When the method |
125 * <code>init</code> is given no parameters, the default Singleton |
125 * {@code init} is given no parameters, the default Singleton |
126 * ORB is returned. When the method <code>init</code> is given parameters |
126 * ORB is returned. When the method {@code init} is given parameters |
127 * but no ORB class is specified, the Java IDL ORB implementation |
127 * but no ORB class is specified, the Java IDL ORB implementation |
128 * is returned. |
128 * is returned. |
129 * <P> |
129 * <P> |
130 * The following code fragment creates an <code>ORB</code> object |
130 * The following code fragment creates an {@code ORB} object |
131 * initialized with the default ORB Singleton. |
131 * initialized with the default ORB Singleton. |
132 * This ORB has a |
132 * This ORB has a |
133 * restricted implementation to prevent malicious applets from doing |
133 * restricted implementation to prevent malicious applets from doing |
134 * anything beyond creating typecodes. |
134 * anything beyond creating typecodes. |
135 * It is called a singleton |
135 * It is called a singleton |
136 * because there is only one instance for an entire virtual machine. |
136 * because there is only one instance for an entire virtual machine. |
137 * <PRE> |
137 * <PRE> |
138 * ORB orb = ORB.init(); |
138 * ORB orb = ORB.init(); |
139 * </PRE> |
139 * </PRE> |
140 * <P> |
140 * <P> |
141 * The following code fragment creates an <code>ORB</code> object |
141 * The following code fragment creates an {@code ORB} object |
142 * for an application. The parameter <code>args</code> |
142 * for an application. The parameter {@code args} |
143 * represents the arguments supplied to the application's <code>main</code> |
143 * represents the arguments supplied to the application's {@code main} |
144 * method. Since the property specifies the ORB class to be |
144 * method. Since the property specifies the ORB class to be |
145 * "SomeORBImplementation", the new ORB will be initialized with |
145 * "SomeORBImplementation", the new ORB will be initialized with |
146 * that ORB implementation. If p had been null, |
146 * that ORB implementation. If p had been null, |
147 * and the arguments had not specified an ORB class, |
147 * and the arguments had not specified an ORB class, |
148 * the new ORB would have been |
148 * the new ORB would have been |
151 * Properties p = new Properties(); |
151 * Properties p = new Properties(); |
152 * p.put("org.omg.CORBA.ORBClass", "SomeORBImplementation"); |
152 * p.put("org.omg.CORBA.ORBClass", "SomeORBImplementation"); |
153 * ORB orb = ORB.init(args, p); |
153 * ORB orb = ORB.init(args, p); |
154 * </PRE> |
154 * </PRE> |
155 * <P> |
155 * <P> |
156 * The following code fragment creates an <code>ORB</code> object |
156 * The following code fragment creates an {@code ORB} object |
157 * for the applet supplied as the first parameter. If the given |
157 * for the applet supplied as the first parameter. If the given |
158 * applet does not specify an ORB class, the new ORB will be |
158 * applet does not specify an ORB class, the new ORB will be |
159 * initialized with the default Java IDL implementation. |
159 * initialized with the default Java IDL implementation. |
160 * <PRE> |
160 * <PRE> |
161 * ORB orb = ORB.init(myApplet, null); |
161 * ORB orb = ORB.init(myApplet, null); |
269 |
269 |
270 return propValue; |
270 return propValue; |
271 } |
271 } |
272 |
272 |
273 /** |
273 /** |
274 * Returns the <code>ORB</code> singleton object. This method always returns the |
274 * Returns the {@code ORB} singleton object. This method always returns the |
275 * same ORB instance, which is an instance of the class described by the |
275 * same ORB instance, which is an instance of the class described by the |
276 * <code>org.omg.CORBA.ORBSingletonClass</code> system property. |
276 * {@code org.omg.CORBA.ORBSingletonClass} system property. |
277 * <P> |
277 * <P> |
278 * This no-argument version of the method <code>init</code> is used primarily |
278 * This no-argument version of the method {@code init} is used primarily |
279 * as a factory for <code>TypeCode</code> objects, which are used by |
279 * as a factory for {@code TypeCode} objects, which are used by |
280 * <code>Helper</code> classes to implement the method <code>type</code>. |
280 * {@code Helper} classes to implement the method {@code type}. |
281 * It is also used to create <code>Any</code> objects that are used to |
281 * It is also used to create {@code Any} objects that are used to |
282 * describe <code>union</code> labels (as part of creating a <code> |
282 * describe {@code union} labels (as part of creating a |
283 * TypeCode</code> object for a <code>union</code>). |
283 * {@code TypeCode} object for a {@code union}). |
284 * <P> |
284 * <P> |
285 * This method is not intended to be used by applets, and in the event |
285 * This method is not intended to be used by applets, and in the event |
286 * that it is called in an applet environment, the ORB it returns |
286 * that it is called in an applet environment, the ORB it returns |
287 * is restricted so that it can be used only as a factory for |
287 * is restricted so that it can be used only as a factory for |
288 * <code>TypeCode</code> objects. Any <code>TypeCode</code> objects |
288 * {@code TypeCode} objects. Any {@code TypeCode} objects |
289 * it produces can be safely shared among untrusted applets. |
289 * it produces can be safely shared among untrusted applets. |
290 * <P> |
290 * <P> |
291 * If an ORB is created using this method from an applet, |
291 * If an ORB is created using this method from an applet, |
292 * a system exception will be thrown if |
292 * a system exception will be thrown if |
293 * methods other than those for |
293 * methods other than those for |
294 * creating <code>TypeCode</code> objects are invoked. |
294 * creating {@code TypeCode} objects are invoked. |
295 * |
295 * |
296 * @return the singleton ORB |
296 * @return the singleton ORB |
297 * |
297 * |
298 * @implNote |
298 * @implNote |
299 * When configured via the system property, or orb.properties, |
299 * When configured via the system property, or orb.properties, |
348 throw systemException; |
348 throw systemException; |
349 } |
349 } |
350 } |
350 } |
351 |
351 |
352 /** |
352 /** |
353 * Creates a new <code>ORB</code> instance for a standalone |
353 * Creates a new {@code ORB} instance for a standalone |
354 * application. This method may be called from applications |
354 * application. This method may be called from applications |
355 * only and returns a new fully functional <code>ORB</code> object |
355 * only and returns a new fully functional {@code ORB} object |
356 * each time it is called. |
356 * each time it is called. |
357 * @param args command-line arguments for the application's <code>main</code> |
357 * @param args command-line arguments for the application's {@code main} |
358 * method; may be <code>null</code> |
358 * method; may be {@code null} |
359 * @param props application-specific properties; may be <code>null</code> |
359 * @param props application-specific properties; may be {@code null} |
360 * @return the newly-created ORB instance |
360 * @return the newly-created ORB instance |
361 * |
361 * |
362 * @implNote |
362 * @implNote |
363 * When configured via the system property, or orb.properties, |
363 * When configured via the system property, or orb.properties, |
364 * the ORB is located via the thread context class loader. |
364 * the ORB is located via the thread context class loader. |
392 return orb; |
392 return orb; |
393 } |
393 } |
394 |
394 |
395 |
395 |
396 /** |
396 /** |
397 * Creates a new <code>ORB</code> instance for an applet. This |
397 * Creates a new {@code ORB} instance for an applet. This |
398 * method may be called from applets only and returns a new |
398 * method may be called from applets only and returns a new |
399 * fully-functional <code>ORB</code> object each time it is called. |
399 * fully-functional {@code ORB} object each time it is called. |
400 * @param app the applet; may be <code>null</code> |
400 * @param app the applet; may be {@code null} |
401 * @param props applet-specific properties; may be <code>null</code> |
401 * @param props applet-specific properties; may be {@code null} |
402 * @return the newly-created ORB instance |
402 * @return the newly-created ORB instance |
403 * |
403 * |
404 * @implNote |
404 * @implNote |
405 * When configured via the system property, or orb.properties, |
405 * When configured via the system property, or orb.properties, |
406 * the ORB is located via the thread context class loader. |
406 * the ORB is located via the thread context class loader. |
428 |
428 |
429 /** |
429 /** |
430 * Allows the ORB implementation to be initialized with the given |
430 * Allows the ORB implementation to be initialized with the given |
431 * parameters and properties. This method, used in applications only, |
431 * parameters and properties. This method, used in applications only, |
432 * is implemented by subclass ORB implementations and called |
432 * is implemented by subclass ORB implementations and called |
433 * by the appropriate <code>init</code> method to pass in its parameters. |
433 * by the appropriate {@code init} method to pass in its parameters. |
434 * |
434 * |
435 * @param args command-line arguments for the application's <code>main</code> |
435 * @param args command-line arguments for the application's {@code main} |
436 * method; may be <code>null</code> |
436 * method; may be {@code null} |
437 * @param props application-specific properties; may be <code>null</code> |
437 * @param props application-specific properties; may be {@code null} |
438 */ |
438 */ |
439 abstract protected void set_parameters(String[] args, Properties props); |
439 abstract protected void set_parameters(String[] args, Properties props); |
440 |
440 |
441 /** |
441 /** |
442 * Allows the ORB implementation to be initialized with the given |
442 * Allows the ORB implementation to be initialized with the given |
443 * applet and parameters. This method, used in applets only, |
443 * applet and parameters. This method, used in applets only, |
444 * is implemented by subclass ORB implementations and called |
444 * is implemented by subclass ORB implementations and called |
445 * by the appropriate <code>init</code> method to pass in its parameters. |
445 * by the appropriate {@code init} method to pass in its parameters. |
446 * |
446 * |
447 * @param app the applet; may be <code>null</code> |
447 * @param app the applet; may be {@code null} |
448 * @param props applet-specific properties; may be <code>null</code> |
448 * @param props applet-specific properties; may be {@code null} |
449 */ |
449 */ |
450 abstract protected void set_parameters(Applet app, Properties props); |
450 abstract protected void set_parameters(Applet app, Properties props); |
451 |
451 |
452 /** |
452 /** |
453 * Connects the given servant object (a Java object that is |
453 * Connects the given servant object (a Java object that is |
454 * an instance of the server implementation class) |
454 * an instance of the server implementation class) |
455 * to the ORB. The servant class must |
455 * to the ORB. The servant class must |
456 * extend the <code>ImplBase</code> class corresponding to the interface that is |
456 * extend the {@code ImplBase} class corresponding to the interface that is |
457 * supported by the server. The servant must thus be a CORBA object |
457 * supported by the server. The servant must thus be a CORBA object |
458 * reference, and inherit from <code>org.omg.CORBA.Object</code>. |
458 * reference, and inherit from {@code org.omg.CORBA.Object}. |
459 * Servants created by the user can start receiving remote invocations |
459 * Servants created by the user can start receiving remote invocations |
460 * after the method <code>connect</code> has been called. A servant may also be |
460 * after the method {@code connect} has been called. A servant may also be |
461 * automatically and implicitly connected to the ORB if it is passed as |
461 * automatically and implicitly connected to the ORB if it is passed as |
462 * an IDL parameter in an IDL method invocation on a non-local object, |
462 * an IDL parameter in an IDL method invocation on a non-local object, |
463 * that is, if the servant object has to be marshalled and sent outside of the |
463 * that is, if the servant object has to be marshalled and sent outside of the |
464 * process address space. |
464 * process address space. |
465 * <P> |
465 * <P> |
466 * Calling the method <code>connect</code> has no effect |
466 * Calling the method {@code connect} has no effect |
467 * when the servant object is already connected to the ORB. |
467 * when the servant object is already connected to the ORB. |
468 * <P> |
468 * <P> |
469 * Deprecated by the OMG in favor of the Portable Object Adapter APIs. |
469 * Deprecated by the OMG in favor of the Portable Object Adapter APIs. |
470 * |
470 * |
471 * @param obj The servant object reference |
471 * @param obj The servant object reference |
475 } |
475 } |
476 |
476 |
477 /** |
477 /** |
478 * Destroys the ORB so that its resources can be reclaimed. |
478 * Destroys the ORB so that its resources can be reclaimed. |
479 * Any operation invoked on a destroyed ORB reference will throw the |
479 * Any operation invoked on a destroyed ORB reference will throw the |
480 * <code>OBJECT_NOT_EXIST</code> exception. |
480 * {@code OBJECT_NOT_EXIST} exception. |
481 * Once an ORB has been destroyed, another call to <code>init</code> |
481 * Once an ORB has been destroyed, another call to {@code init} |
482 * with the same ORBid will return a reference to a newly constructed ORB.<p> |
482 * with the same ORBid will return a reference to a newly constructed ORB.<p> |
483 * If <code>destroy</code> is called on an ORB that has not been shut down, |
483 * If {@code destroy} is called on an ORB that has not been shut down, |
484 * it will start the shut down process and block until the ORB has shut down |
484 * it will start the shut down process and block until the ORB has shut down |
485 * before it destroys the ORB.<br> |
485 * before it destroys the ORB.<br> |
486 * If an application calls <code>destroy</code> in a thread that is currently servicing |
486 * If an application calls {@code destroy} in a thread that is currently servicing |
487 * an invocation, the <code>BAD_INV_ORDER</code> system exception will be thrown |
487 * an invocation, the {@code BAD_INV_ORDER} system exception will be thrown |
488 * with the OMG minor code 3, since blocking would result in a deadlock.<p> |
488 * with the OMG minor code 3, since blocking would result in a deadlock.<p> |
489 * For maximum portability and to avoid resource leaks, an application should |
489 * For maximum portability and to avoid resource leaks, an application should |
490 * always call <code>shutdown</code> and <code>destroy</code> |
490 * always call {@code shutdown} and {@code destroy} |
491 * on all ORB instances before exiting. |
491 * on all ORB instances before exiting. |
492 * |
492 * |
493 * @throws org.omg.CORBA.BAD_INV_ORDER if the current thread is servicing an invocation |
493 * @throws org.omg.CORBA.BAD_INV_ORDER if the current thread is servicing an invocation |
494 */ |
494 */ |
495 public void destroy( ) { |
495 public void destroy( ) { |
498 |
498 |
499 /** |
499 /** |
500 * Disconnects the given servant object from the ORB. After this method returns, |
500 * Disconnects the given servant object from the ORB. After this method returns, |
501 * the ORB will reject incoming remote requests for the disconnected |
501 * the ORB will reject incoming remote requests for the disconnected |
502 * servant and will send the exception |
502 * servant and will send the exception |
503 * <code>org.omg.CORBA.OBJECT_NOT_EXIST</code> back to the |
503 * {@code org.omg.CORBA.OBJECT_NOT_EXIST} back to the |
504 * remote client. Thus the object appears to be destroyed from the |
504 * remote client. Thus the object appears to be destroyed from the |
505 * point of view of remote clients. Note, however, that local requests issued |
505 * point of view of remote clients. Note, however, that local requests issued |
506 * using the servant directly do not |
506 * using the servant directly do not |
507 * pass through the ORB; hence, they will continue to be processed by the |
507 * pass through the ORB; hence, they will continue to be processed by the |
508 * servant. |
508 * servant. |
509 * <P> |
509 * <P> |
510 * Calling the method <code>disconnect</code> has no effect |
510 * Calling the method {@code disconnect} has no effect |
511 * if the servant is not connected to the ORB. |
511 * if the servant is not connected to the ORB. |
512 * <P> |
512 * <P> |
513 * Deprecated by the OMG in favor of the Portable Object Adapter APIs. |
513 * Deprecated by the OMG in favor of the Portable Object Adapter APIs. |
514 * |
514 * |
515 * @param obj The servant object to be disconnected from the ORB |
515 * @param obj The servant object to be disconnected from the ORB |
533 |
533 |
534 /** |
534 /** |
535 * Returns a list of the initially available CORBA object references, |
535 * Returns a list of the initially available CORBA object references, |
536 * such as "NameService" and "InterfaceRepository". |
536 * such as "NameService" and "InterfaceRepository". |
537 * |
537 * |
538 * @return an array of <code>String</code> objects that represent |
538 * @return an array of {@code String} objects that represent |
539 * the object references for CORBA services |
539 * the object references for CORBA services |
540 * that are initially available with this ORB |
540 * that are initially available with this ORB |
541 */ |
541 */ |
542 abstract public String[] list_initial_services(); |
542 abstract public String[] list_initial_services(); |
543 |
543 |
557 * Converts the given CORBA object reference to a string. |
557 * Converts the given CORBA object reference to a string. |
558 * Note that the format of this string is predefined by IIOP, allowing |
558 * Note that the format of this string is predefined by IIOP, allowing |
559 * strings generated by a different ORB to be converted back into an object |
559 * strings generated by a different ORB to be converted back into an object |
560 * reference. |
560 * reference. |
561 * <P> |
561 * <P> |
562 * The resulting <code>String</code> object may be stored or communicated |
562 * The resulting {@code String} object may be stored or communicated |
563 * in any way that a <code>String</code> object can be manipulated. |
563 * in any way that a {@code String} object can be manipulated. |
564 * |
564 * |
565 * @param obj the object reference to stringify |
565 * @param obj the object reference to stringify |
566 * @return the string representing the object reference |
566 * @return the string representing the object reference |
567 */ |
567 */ |
568 abstract public String object_to_string(org.omg.CORBA.Object obj); |
568 abstract public String object_to_string(org.omg.CORBA.Object obj); |
569 |
569 |
570 /** |
570 /** |
571 * Converts a string produced by the method <code>object_to_string</code> |
571 * Converts a string produced by the method {@code object_to_string} |
572 * back to a CORBA object reference. |
572 * back to a CORBA object reference. |
573 * |
573 * |
574 * @param str the string to be converted back to an object reference. It must |
574 * @param str the string to be converted back to an object reference. It must |
575 * be the result of converting an object reference to a string using the |
575 * be the result of converting an object reference to a string using the |
576 * method <code>object_to_string</code>. |
576 * method {@code object_to_string}. |
577 * @return the object reference |
577 * @return the object reference |
578 */ |
578 */ |
579 abstract public org.omg.CORBA.Object string_to_object(String str); |
579 abstract public org.omg.CORBA.Object string_to_object(String str); |
580 |
580 |
581 /** |
581 /** |
582 * Allocates an <code>NVList</code> with (probably) enough |
582 * Allocates an {@code NVList} with (probably) enough |
583 * space for the specified number of <code>NamedValue</code> objects. |
583 * space for the specified number of {@code NamedValue} objects. |
584 * Note that the specified size is only a hint to help with |
584 * Note that the specified size is only a hint to help with |
585 * storage allocation and does not imply the maximum size of the list. |
585 * storage allocation and does not imply the maximum size of the list. |
586 * |
586 * |
587 * @param count suggested number of <code>NamedValue</code> objects for |
587 * @param count suggested number of {@code NamedValue} objects for |
588 * which to allocate space |
588 * which to allocate space |
589 * @return the newly-created <code>NVList</code> |
589 * @return the newly-created {@code NVList} |
590 * |
590 * |
591 * @see NVList |
591 * @see NVList |
592 */ |
592 */ |
593 abstract public NVList create_list(int count); |
593 abstract public NVList create_list(int count); |
594 |
594 |
595 /** |
595 /** |
596 * Creates an <code>NVList</code> initialized with argument |
596 * Creates an {@code NVList} initialized with argument |
597 * descriptions for the operation described in the given |
597 * descriptions for the operation described in the given |
598 * <code>OperationDef</code> object. This <code>OperationDef</code> object |
598 * {@code OperationDef} object. This {@code OperationDef} object |
599 * is obtained from an Interface Repository. The arguments in the |
599 * is obtained from an Interface Repository. The arguments in the |
600 * returned <code>NVList</code> object are in the same order as in the |
600 * returned {@code NVList} object are in the same order as in the |
601 * original IDL operation definition, which makes it possible for the list |
601 * original IDL operation definition, which makes it possible for the list |
602 * to be used in dynamic invocation requests. |
602 * to be used in dynamic invocation requests. |
603 * |
603 * |
604 * @param oper the <code>OperationDef</code> object to use to create the list |
604 * @param oper the {@code OperationDef} object to use to create the list |
605 * @return a newly-created <code>NVList</code> object containing |
605 * @return a newly-created {@code NVList} object containing |
606 * descriptions of the arguments to the method described in the given |
606 * descriptions of the arguments to the method described in the given |
607 * <code>OperationDef</code> object |
607 * {@code OperationDef} object |
608 * |
608 * |
609 * @see NVList |
609 * @see NVList |
610 */ |
610 */ |
611 public NVList create_operation_list(org.omg.CORBA.Object oper) |
611 public NVList create_operation_list(org.omg.CORBA.Object oper) |
612 { |
612 { |
655 } |
655 } |
656 } |
656 } |
657 |
657 |
658 |
658 |
659 /** |
659 /** |
660 * Creates a <code>NamedValue</code> object |
660 * Creates a {@code NamedValue} object |
661 * using the given name, value, and argument mode flags. |
661 * using the given name, value, and argument mode flags. |
662 * <P> |
662 * <P> |
663 * A <code>NamedValue</code> object serves as (1) a parameter or return |
663 * A {@code NamedValue} object serves as (1) a parameter or return |
664 * value or (2) a context property. |
664 * value or (2) a context property. |
665 * It may be used by itself or |
665 * It may be used by itself or |
666 * as an element in an <code>NVList</code> object. |
666 * as an element in an {@code NVList} object. |
667 * |
667 * |
668 * @param s the name of the <code>NamedValue</code> object |
668 * @param s the name of the {@code NamedValue} object |
669 * @param any the <code>Any</code> value to be inserted into the |
669 * @param any the {@code Any} value to be inserted into the |
670 * <code>NamedValue</code> object |
670 * {@code NamedValue} object |
671 * @param flags the argument mode flags for the <code>NamedValue</code>: one of |
671 * @param flags the argument mode flags for the {@code NamedValue}: one of |
672 * <code>ARG_IN.value</code>, <code>ARG_OUT.value</code>, |
672 * {@code ARG_IN.value}, {@code ARG_OUT.value}, |
673 * or <code>ARG_INOUT.value</code>. |
673 * or {@code ARG_INOUT.value}. |
674 * |
674 * |
675 * @return the newly-created <code>NamedValue</code> object |
675 * @return the newly-created {@code NamedValue} object |
676 * @see NamedValue |
676 * @see NamedValue |
677 */ |
677 */ |
678 abstract public NamedValue create_named_value(String s, Any any, int flags); |
678 abstract public NamedValue create_named_value(String s, Any any, int flags); |
679 |
679 |
680 /** |
680 /** |
681 * Creates an empty <code>ExceptionList</code> object. |
681 * Creates an empty {@code ExceptionList} object. |
682 * |
682 * |
683 * @return the newly-created <code>ExceptionList</code> object |
683 * @return the newly-created {@code ExceptionList} object |
684 */ |
684 */ |
685 abstract public ExceptionList create_exception_list(); |
685 abstract public ExceptionList create_exception_list(); |
686 |
686 |
687 /** |
687 /** |
688 * Creates an empty <code>ContextList</code> object. |
688 * Creates an empty {@code ContextList} object. |
689 * |
689 * |
690 * @return the newly-created <code>ContextList</code> object |
690 * @return the newly-created {@code ContextList} object |
691 * @see ContextList |
691 * @see ContextList |
692 * @see Context |
692 * @see Context |
693 */ |
693 */ |
694 abstract public ContextList create_context_list(); |
694 abstract public ContextList create_context_list(); |
695 |
695 |
696 /** |
696 /** |
697 * Gets the default <code>Context</code> object. |
697 * Gets the default {@code Context} object. |
698 * |
698 * |
699 * @return the default <code>Context</code> object |
699 * @return the default {@code Context} object |
700 * @see Context |
700 * @see Context |
701 */ |
701 */ |
702 abstract public Context get_default_context(); |
702 abstract public Context get_default_context(); |
703 |
703 |
704 /** |
704 /** |
705 * Creates an <code>Environment</code> object. |
705 * Creates an {@code Environment} object. |
706 * |
706 * |
707 * @return the newly-created <code>Environment</code> object |
707 * @return the newly-created {@code Environment} object |
708 * @see Environment |
708 * @see Environment |
709 */ |
709 */ |
710 abstract public Environment create_environment(); |
710 abstract public Environment create_environment(); |
711 |
711 |
712 /** |
712 /** |
713 * Creates a new <code>org.omg.CORBA.portable.OutputStream</code> into which |
713 * Creates a new {@code org.omg.CORBA.portable.OutputStream} into which |
714 * IDL method parameters can be marshalled during method invocation. |
714 * IDL method parameters can be marshalled during method invocation. |
715 * @return the newly-created |
715 * @return the newly-created |
716 * <code>org.omg.CORBA.portable.OutputStream</code> object |
716 * {@code org.omg.CORBA.portable.OutputStream} object |
717 */ |
717 */ |
718 abstract public org.omg.CORBA.portable.OutputStream create_output_stream(); |
718 abstract public org.omg.CORBA.portable.OutputStream create_output_stream(); |
719 |
719 |
720 /** |
720 /** |
721 * Sends multiple dynamic (DII) requests asynchronously without expecting |
721 * Sends multiple dynamic (DII) requests asynchronously without expecting |
722 * any responses. Note that oneway invocations are not guaranteed to |
722 * any responses. Note that oneway invocations are not guaranteed to |
723 * reach the server. |
723 * reach the server. |
724 * |
724 * |
725 * @param req an array of request objects |
725 * @param req an array of request objects |
726 */ |
726 */ |
727 abstract public void send_multiple_requests_oneway(Request[] req); |
727 abstract public void send_multiple_requests_oneway(Request[] req); |
728 |
728 |
729 /** |
729 /** |
730 * Sends multiple dynamic (DII) requests asynchronously. |
730 * Sends multiple dynamic (DII) requests asynchronously. |
731 * |
731 * |
732 * @param req an array of <code>Request</code> objects |
732 * @param req an array of {@code Request} objects |
733 */ |
733 */ |
734 abstract public void send_multiple_requests_deferred(Request[] req); |
734 abstract public void send_multiple_requests_deferred(Request[] req); |
735 |
735 |
736 /** |
736 /** |
737 * Finds out if any of the deferred (asynchronous) invocations have |
737 * Finds out if any of the deferred (asynchronous) invocations have |
738 * a response yet. |
738 * a response yet. |
739 * @return <code>true</code> if there is a response available; |
739 * @return {@code true} if there is a response available; |
740 * <code> false</code> otherwise |
740 * {@code false} otherwise |
741 */ |
741 */ |
742 abstract public boolean poll_next_response(); |
742 abstract public boolean poll_next_response(); |
743 |
743 |
744 /** |
744 /** |
745 * Gets the next <code>Request</code> instance for which a response |
745 * Gets the next {@code Request} instance for which a response |
746 * has been received. |
746 * has been received. |
747 * |
747 * |
748 * @return the next <code>Request</code> object ready with a response |
748 * @return the next {@code Request} object ready with a response |
749 * @exception WrongTransaction if the method <code>get_next_response</code> |
749 * @exception WrongTransaction if the method {@code get_next_response} |
750 * is called from a transaction scope different |
750 * is called from a transaction scope different |
751 * from the one from which the original request was sent. See the |
751 * from the one from which the original request was sent. See the |
752 * OMG Transaction Service specification for details. |
752 * OMG Transaction Service specification for details. |
753 */ |
753 */ |
754 abstract public Request get_next_response() throws WrongTransaction; |
754 abstract public Request get_next_response() throws WrongTransaction; |
755 |
755 |
756 /** |
756 /** |
757 * Retrieves the <code>TypeCode</code> object that represents |
757 * Retrieves the {@code TypeCode} object that represents |
758 * the given primitive IDL type. |
758 * the given primitive IDL type. |
759 * |
759 * |
760 * @param tcKind the <code>TCKind</code> instance corresponding to the |
760 * @param tcKind the {@code TCKind} instance corresponding to the |
761 * desired primitive type |
761 * desired primitive type |
762 * @return the requested <code>TypeCode</code> object |
762 * @return the requested {@code TypeCode} object |
763 */ |
763 */ |
764 abstract public TypeCode get_primitive_tc(TCKind tcKind); |
764 abstract public TypeCode get_primitive_tc(TCKind tcKind); |
765 |
765 |
766 /** |
766 /** |
767 * Creates a <code>TypeCode</code> object representing an IDL <code>struct</code>. |
767 * Creates a {@code TypeCode} object representing an IDL {@code struct}. |
768 * The <code>TypeCode</code> object is initialized with the given id, |
768 * The {@code TypeCode} object is initialized with the given id, |
769 * name, and members. |
769 * name, and members. |
770 * |
770 * |
771 * @param id the repository id for the <code>struct</code> |
771 * @param id the repository id for the {@code struct} |
772 * @param name the name of the <code>struct</code> |
772 * @param name the name of the {@code struct} |
773 * @param members an array describing the members of the <code>struct</code> |
773 * @param members an array describing the members of the {@code struct} |
774 * @return a newly-created <code>TypeCode</code> object describing |
774 * @return a newly-created {@code TypeCode} object describing |
775 * an IDL <code>struct</code> |
775 * an IDL {@code struct} |
776 */ |
776 */ |
777 abstract public TypeCode create_struct_tc(String id, String name, |
777 abstract public TypeCode create_struct_tc(String id, String name, |
778 StructMember[] members); |
778 StructMember[] members); |
779 |
779 |
780 /** |
780 /** |
781 * Creates a <code>TypeCode</code> object representing an IDL <code>union</code>. |
781 * Creates a {@code TypeCode} object representing an IDL {@code union}. |
782 * The <code>TypeCode</code> object is initialized with the given id, |
782 * The {@code TypeCode} object is initialized with the given id, |
783 * name, discriminator type, and members. |
783 * name, discriminator type, and members. |
784 * |
784 * |
785 * @param id the repository id of the <code>union</code> |
785 * @param id the repository id of the {@code union} |
786 * @param name the name of the <code>union</code> |
786 * @param name the name of the {@code union} |
787 * @param discriminator_type the type of the <code>union</code> discriminator |
787 * @param discriminator_type the type of the {@code union} discriminator |
788 * @param members an array describing the members of the <code>union</code> |
788 * @param members an array describing the members of the {@code union} |
789 * @return a newly-created <code>TypeCode</code> object describing |
789 * @return a newly-created {@code TypeCode} object describing |
790 * an IDL <code>union</code> |
790 * an IDL {@code union} |
791 */ |
791 */ |
792 abstract public TypeCode create_union_tc(String id, String name, |
792 abstract public TypeCode create_union_tc(String id, String name, |
793 TypeCode discriminator_type, |
793 TypeCode discriminator_type, |
794 UnionMember[] members); |
794 UnionMember[] members); |
795 |
795 |
796 /** |
796 /** |
797 * Creates a <code>TypeCode</code> object representing an IDL <code>enum</code>. |
797 * Creates a {@code TypeCode} object representing an IDL {@code enum}. |
798 * The <code>TypeCode</code> object is initialized with the given id, |
798 * The {@code TypeCode} object is initialized with the given id, |
799 * name, and members. |
799 * name, and members. |
800 * |
800 * |
801 * @param id the repository id for the <code>enum</code> |
801 * @param id the repository id for the {@code enum} |
802 * @param name the name for the <code>enum</code> |
802 * @param name the name for the {@code enum} |
803 * @param members an array describing the members of the <code>enum</code> |
803 * @param members an array describing the members of the {@code enum} |
804 * @return a newly-created <code>TypeCode</code> object describing |
804 * @return a newly-created {@code TypeCode} object describing |
805 * an IDL <code>enum</code> |
805 * an IDL {@code enum} |
806 */ |
806 */ |
807 abstract public TypeCode create_enum_tc(String id, String name, String[] members); |
807 abstract public TypeCode create_enum_tc(String id, String name, String[] members); |
808 |
808 |
809 /** |
809 /** |
810 * Creates a <code>TypeCode</code> object representing an IDL <code>alias</code> |
810 * Creates a {@code TypeCode} object representing an IDL {@code alias} |
811 * (<code>typedef</code>). |
811 * ({@code typedef}). |
812 * The <code>TypeCode</code> object is initialized with the given id, |
812 * The {@code TypeCode} object is initialized with the given id, |
813 * name, and original type. |
813 * name, and original type. |
814 * |
814 * |
815 * @param id the repository id for the alias |
815 * @param id the repository id for the alias |
816 * @param name the name for the alias |
816 * @param name the name for the alias |
817 * @param original_type |
817 * @param original_type |
818 * the <code>TypeCode</code> object describing the original type |
818 * the {@code TypeCode} object describing the original type |
819 * for which this is an alias |
819 * for which this is an alias |
820 * @return a newly-created <code>TypeCode</code> object describing |
820 * @return a newly-created {@code TypeCode} object describing |
821 * an IDL <code>alias</code> |
821 * an IDL {@code alias} |
822 */ |
822 */ |
823 abstract public TypeCode create_alias_tc(String id, String name, |
823 abstract public TypeCode create_alias_tc(String id, String name, |
824 TypeCode original_type); |
824 TypeCode original_type); |
825 |
825 |
826 /** |
826 /** |
827 * Creates a <code>TypeCode</code> object representing an IDL <code>exception</code>. |
827 * Creates a {@code TypeCode} object representing an IDL {@code exception}. |
828 * The <code>TypeCode</code> object is initialized with the given id, |
828 * The {@code TypeCode} object is initialized with the given id, |
829 * name, and members. |
829 * name, and members. |
830 * |
830 * |
831 * @param id the repository id for the <code>exception</code> |
831 * @param id the repository id for the {@code exception} |
832 * @param name the name for the <code>exception</code> |
832 * @param name the name for the {@code exception} |
833 * @param members an array describing the members of the <code>exception</code> |
833 * @param members an array describing the members of the {@code exception} |
834 * @return a newly-created <code>TypeCode</code> object describing |
834 * @return a newly-created {@code TypeCode} object describing |
835 * an IDL <code>exception</code> |
835 * an IDL {@code exception} |
836 */ |
836 */ |
837 abstract public TypeCode create_exception_tc(String id, String name, |
837 abstract public TypeCode create_exception_tc(String id, String name, |
838 StructMember[] members); |
838 StructMember[] members); |
839 |
839 |
840 /** |
840 /** |
841 * Creates a <code>TypeCode</code> object representing an IDL <code>interface</code>. |
841 * Creates a {@code TypeCode} object representing an IDL {@code interface}. |
842 * The <code>TypeCode</code> object is initialized with the given id |
842 * The {@code TypeCode} object is initialized with the given id |
843 * and name. |
843 * and name. |
844 * |
844 * |
845 * @param id the repository id for the interface |
845 * @param id the repository id for the interface |
846 * @param name the name for the interface |
846 * @param name the name for the interface |
847 * @return a newly-created <code>TypeCode</code> object describing |
847 * @return a newly-created {@code TypeCode} object describing |
848 * an IDL <code>interface</code> |
848 * an IDL {@code interface} |
849 */ |
849 */ |
850 |
850 |
851 abstract public TypeCode create_interface_tc(String id, String name); |
851 abstract public TypeCode create_interface_tc(String id, String name); |
852 |
852 |
853 /** |
853 /** |
854 * Creates a <code>TypeCode</code> object representing a bounded IDL |
854 * Creates a {@code TypeCode} object representing a bounded IDL |
855 * <code>string</code>. |
855 * {@code string}. |
856 * The <code>TypeCode</code> object is initialized with the given bound, |
856 * The {@code TypeCode} object is initialized with the given bound, |
857 * which represents the maximum length of the string. Zero indicates |
857 * which represents the maximum length of the string. Zero indicates |
858 * that the string described by this type code is unbounded. |
858 * that the string described by this type code is unbounded. |
859 * |
859 * |
860 * @param bound the bound for the <code>string</code>; cannot be negative |
860 * @param bound the bound for the {@code string}; cannot be negative |
861 * @return a newly-created <code>TypeCode</code> object describing |
861 * @return a newly-created {@code TypeCode} object describing |
862 * a bounded IDL <code>string</code> |
862 * a bounded IDL {@code string} |
863 * @exception BAD_PARAM if bound is a negative value |
863 * @exception BAD_PARAM if bound is a negative value |
864 */ |
864 */ |
865 |
865 |
866 abstract public TypeCode create_string_tc(int bound); |
866 abstract public TypeCode create_string_tc(int bound); |
867 |
867 |
868 /** |
868 /** |
869 * Creates a <code>TypeCode</code> object representing a bounded IDL |
869 * Creates a {@code TypeCode} object representing a bounded IDL |
870 * <code>wstring</code> (wide string). |
870 * {@code wstring} (wide string). |
871 * The <code>TypeCode</code> object is initialized with the given bound, |
871 * The {@code TypeCode} object is initialized with the given bound, |
872 * which represents the maximum length of the wide string. Zero indicates |
872 * which represents the maximum length of the wide string. Zero indicates |
873 * that the string described by this type code is unbounded. |
873 * that the string described by this type code is unbounded. |
874 * |
874 * |
875 * @param bound the bound for the <code>wstring</code>; cannot be negative |
875 * @param bound the bound for the {@code wstring}; cannot be negative |
876 * @return a newly-created <code>TypeCode</code> object describing |
876 * @return a newly-created {@code TypeCode} object describing |
877 * a bounded IDL <code>wstring</code> |
877 * a bounded IDL {@code wstring} |
878 * @exception BAD_PARAM if bound is a negative value |
878 * @exception BAD_PARAM if bound is a negative value |
879 */ |
879 */ |
880 abstract public TypeCode create_wstring_tc(int bound); |
880 abstract public TypeCode create_wstring_tc(int bound); |
881 |
881 |
882 /** |
882 /** |
883 * Creates a <code>TypeCode</code> object representing an IDL <code>sequence</code>. |
883 * Creates a {@code TypeCode} object representing an IDL {@code sequence}. |
884 * The <code>TypeCode</code> object is initialized with the given bound and |
884 * The {@code TypeCode} object is initialized with the given bound and |
885 * element type. |
885 * element type. |
886 * |
886 * |
887 * @param bound the bound for the <code>sequence</code>, 0 if unbounded |
887 * @param bound the bound for the {@code sequence}, 0 if unbounded |
888 * @param element_type |
888 * @param element_type the {@code TypeCode} object describing |
889 * the <code>TypeCode</code> object describing the elements |
889 * the elements contained in the {@code sequence} |
890 * contained in the <code>sequence</code> |
890 * |
891 * @return a newly-created <code>TypeCode</code> object describing |
891 * @return a newly-created {@code TypeCode} object describing |
892 * an IDL <code>sequence</code> |
892 * an IDL {@code sequence} |
893 */ |
893 */ |
894 abstract public TypeCode create_sequence_tc(int bound, TypeCode element_type); |
894 abstract public TypeCode create_sequence_tc(int bound, TypeCode element_type); |
895 |
895 |
896 /** |
896 /** |
897 * Creates a <code>TypeCode</code> object representing a |
897 * Creates a {@code TypeCode} object representing a |
898 * a recursive IDL <code>sequence</code>. |
898 * a recursive IDL {@code sequence}. |
899 * <P> |
899 * <P> |
900 * For the IDL <code>struct</code> Node in following code fragment, |
900 * For the IDL {@code struct} Node in following code fragment, |
901 * the offset parameter for creating its sequence would be 1: |
901 * the offset parameter for creating its sequence would be 1: |
902 * <PRE> |
902 * <PRE> |
903 * Struct Node { |
903 * Struct Node { |
904 * long value; |
904 * long value; |
905 * Sequence <Node> subnodes; |
905 * Sequence <Node> subnodes; |
906 * }; |
906 * }; |
907 * </PRE> |
907 * </PRE> |
908 * |
908 * |
909 * @param bound the bound for the sequence, 0 if unbounded |
909 * @param bound the bound for the sequence, 0 if unbounded |
910 * @param offset the index to the enclosing <code>TypeCode</code> object |
910 * @param offset the index to the enclosing {@code TypeCode} object |
911 * that describes the elements of this sequence |
911 * that describes the elements of this sequence |
912 * @return a newly-created <code>TypeCode</code> object describing |
912 * @return a newly-created {@code TypeCode} object describing |
913 * a recursive sequence |
913 * a recursive sequence |
914 * @deprecated Use a combination of create_recursive_tc and create_sequence_tc instead |
914 * @deprecated Use a combination of create_recursive_tc and create_sequence_tc instead |
915 * @see #create_recursive_tc(String) create_recursive_tc |
915 * @see #create_recursive_tc(String) create_recursive_tc |
916 * @see #create_sequence_tc(int, TypeCode) create_sequence_tc |
916 * @see #create_sequence_tc(int, TypeCode) create_sequence_tc |
917 */ |
917 */ |
918 @Deprecated |
918 @Deprecated |
919 abstract public TypeCode create_recursive_sequence_tc(int bound, int offset); |
919 abstract public TypeCode create_recursive_sequence_tc(int bound, int offset); |
920 |
920 |
921 /** |
921 /** |
922 * Creates a <code>TypeCode</code> object representing an IDL <code>array</code>. |
922 * Creates a {@code TypeCode} object representing an IDL {@code array}. |
923 * The <code>TypeCode</code> object is initialized with the given length and |
923 * The {@code TypeCode} object is initialized with the given length and |
924 * element type. |
924 * element type. |
925 * |
925 * |
926 * @param length the length of the <code>array</code> |
926 * @param length the length of the {@code array} |
927 * @param element_type a <code>TypeCode</code> object describing the type |
927 * @param element_type a {@code TypeCode} object describing the type |
928 * of element contained in the <code>array</code> |
928 * of element contained in the {@code array} |
929 * @return a newly-created <code>TypeCode</code> object describing |
929 * @return a newly-created {@code TypeCode} object describing |
930 * an IDL <code>array</code> |
930 * an IDL {@code array} |
931 */ |
931 */ |
932 abstract public TypeCode create_array_tc(int length, TypeCode element_type); |
932 abstract public TypeCode create_array_tc(int length, TypeCode element_type); |
933 |
933 |
934 /** |
934 /** |
935 * Create a <code>TypeCode</code> object for an IDL native type. |
935 * Create a {@code TypeCode} object for an IDL native type. |
936 * |
936 * |
937 * @param id the logical id for the native type. |
937 * @param id the logical id for the native type. |
938 * @param name the name of the native type. |
938 * @param name the name of the native type. |
939 * @return the requested TypeCode. |
939 * @return the requested TypeCode. |
940 */ |
940 */ |
943 { |
943 { |
944 throw new org.omg.CORBA.NO_IMPLEMENT(); |
944 throw new org.omg.CORBA.NO_IMPLEMENT(); |
945 } |
945 } |
946 |
946 |
947 /** |
947 /** |
948 * Create a <code>TypeCode</code> object for an IDL abstract interface. |
948 * Create a {@code TypeCode} object for an IDL abstract interface. |
949 * |
949 * |
950 * @param id the logical id for the abstract interface type. |
950 * @param id the logical id for the abstract interface type. |
951 * @param name the name of the abstract interface type. |
951 * @param name the name of the abstract interface type. |
952 * @return the requested TypeCode. |
952 * @return the requested TypeCode. |
953 */ |
953 */ |
958 throw new org.omg.CORBA.NO_IMPLEMENT(); |
958 throw new org.omg.CORBA.NO_IMPLEMENT(); |
959 } |
959 } |
960 |
960 |
961 |
961 |
962 /** |
962 /** |
963 * Create a <code>TypeCode</code> object for an IDL fixed type. |
963 * Create a {@code TypeCode} object for an IDL fixed type. |
964 * |
964 * |
965 * @param digits specifies the total number of decimal digits in the number |
965 * @param digits specifies the total number of decimal digits in the number |
966 * and must be from 1 to 31 inclusive. |
966 * and must be from 1 to 31 inclusive. |
967 * @param scale specifies the position of the decimal point. |
967 * @param scale specifies the position of the decimal point. |
968 * @return the requested TypeCode. |
968 * @return the requested TypeCode. |
975 |
975 |
976 // orbos 98-01-18: Objects By Value -- begin |
976 // orbos 98-01-18: Objects By Value -- begin |
977 |
977 |
978 |
978 |
979 /** |
979 /** |
980 * Create a <code>TypeCode</code> object for an IDL value type. |
980 * Create a {@code TypeCode} object for an IDL value type. |
981 * The concrete_base parameter is the TypeCode for the immediate |
981 * The concrete_base parameter is the TypeCode for the immediate |
982 * concrete valuetype base of the valuetype for which the TypeCode |
982 * concrete valuetype base of the valuetype for which the TypeCode |
983 * is being created. |
983 * is being created. |
984 * It may be null if the valuetype does not have a concrete base. |
984 * It may be null if the valuetype does not have a concrete base. |
985 * |
985 * |
986 * @param id the logical id for the value type. |
986 * @param id the logical id for the value type. |
987 * @param name the name of the value type. |
987 * @param name the name of the value type. |
988 * @param type_modifier one of the value type modifier constants: |
988 * @param type_modifier one of the value type modifier constants: |
989 * VM_NONE, VM_CUSTOM, VM_ABSTRACT or VM_TRUNCATABLE |
989 * VM_NONE, VM_CUSTOM, VM_ABSTRACT or VM_TRUNCATABLE |
990 * @param concrete_base a <code>TypeCode</code> object |
990 * @param concrete_base a {@code TypeCode} object |
991 * describing the concrete valuetype base |
991 * describing the concrete valuetype base |
992 * @param members an array containing the members of the value type |
992 * @param members an array containing the members of the value type |
993 * @return the requested TypeCode |
993 * @return the requested TypeCode |
994 */ |
994 */ |
995 public org.omg.CORBA.TypeCode create_value_tc(String id, |
995 public org.omg.CORBA.TypeCode create_value_tc(String id, |
1000 { |
1000 { |
1001 throw new org.omg.CORBA.NO_IMPLEMENT(); |
1001 throw new org.omg.CORBA.NO_IMPLEMENT(); |
1002 } |
1002 } |
1003 |
1003 |
1004 /** |
1004 /** |
1005 * Create a recursive <code>TypeCode</code> object which |
1005 * Create a recursive {@code TypeCode} object which |
1006 * serves as a placeholder for a concrete TypeCode during the process of creating |
1006 * serves as a placeholder for a concrete TypeCode during the process of creating |
1007 * TypeCodes which contain recursion. The id parameter specifies the repository id of |
1007 * TypeCodes which contain recursion. The id parameter specifies the repository id of |
1008 * the type for which the recursive TypeCode is serving as a placeholder. Once the |
1008 * the type for which the recursive TypeCode is serving as a placeholder. Once the |
1009 * recursive TypeCode has been properly embedded in the enclosing TypeCode which |
1009 * recursive TypeCode has been properly embedded in the enclosing TypeCode which |
1010 * corresponds to the specified repository id, it will function as a normal TypeCode. |
1010 * corresponds to the specified repository id, it will function as a normal TypeCode. |
1011 * Invoking operations on the recursive TypeCode before it has been embedded in the |
1011 * Invoking operations on the recursive TypeCode before it has been embedded in the |
1012 * enclosing TypeCode will result in a <code>BAD_TYPECODE</code> exception. |
1012 * enclosing TypeCode will result in a {@code BAD_TYPECODE} exception. |
1013 * <P> |
1013 * <P> |
1014 * For example, the following IDL type declaration contains recursion: |
1014 * For example, the following IDL type declaration contains recursion: |
1015 * <PRE> |
1015 * <PRE> |
1016 * Struct Node { |
1016 * Struct Node { |
1017 * Sequence<Node> subnodes; |
1017 * Sequence<Node> subnodes; |
1044 // implemented in subclass |
1044 // implemented in subclass |
1045 throw new org.omg.CORBA.NO_IMPLEMENT(); |
1045 throw new org.omg.CORBA.NO_IMPLEMENT(); |
1046 } |
1046 } |
1047 |
1047 |
1048 /** |
1048 /** |
1049 * Creates a <code>TypeCode</code> object for an IDL value box. |
1049 * Creates a {@code TypeCode} object for an IDL value box. |
1050 * |
1050 * |
1051 * @param id the logical id for the value type |
1051 * @param id the logical id for the value type |
1052 * @param name the name of the value type |
1052 * @param name the name of the value type |
1053 * @param boxed_type the TypeCode for the type |
1053 * @param boxed_type the TypeCode for the type |
1054 * @return the requested TypeCode |
1054 * @return the requested TypeCode |
1062 } |
1062 } |
1063 |
1063 |
1064 // orbos 98-01-18: Objects By Value -- end |
1064 // orbos 98-01-18: Objects By Value -- end |
1065 |
1065 |
1066 /** |
1066 /** |
1067 * Creates an IDL <code>Any</code> object initialized to |
1067 * Creates an IDL {@code Any} object initialized to |
1068 * contain a <code>Typecode</code> object whose <code>kind</code> field |
1068 * contain a {@code Typecode} object whose {@code kind} field |
1069 * is set to <code>TCKind.tc_null</code>. |
1069 * is set to {@code TCKind.tc_null}. |
1070 * |
1070 * |
1071 * @return a newly-created <code>Any</code> object |
1071 * @return a newly-created {@code Any} object |
1072 */ |
1072 */ |
1073 abstract public Any create_any(); |
1073 abstract public Any create_any(); |
1074 |
1074 |
1075 |
1075 |
1076 |
1076 |
1077 |
1077 |
1078 /** |
1078 /** |
1079 * Retrieves a <code>Current</code> object. |
1079 * Retrieves a {@code Current} object. |
1080 * The <code>Current</code> interface is used to manage thread-specific |
1080 * The {@code Current} interface is used to manage thread-specific |
1081 * information for use by services such as transactions and security. |
1081 * information for use by services such as transactions and security. |
1082 * |
1082 * |
1083 * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package |
1083 * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package |
1084 * comments for unimplemented features</a> |
1084 * comments for unimplemented features</a> |
1085 * |
1085 * |
1086 * @return a newly-created <code>Current</code> object |
1086 * @return a newly-created {@code Current} object |
1087 * @deprecated use <code>resolve_initial_references</code>. |
1087 * @deprecated use {@code resolve_initial_references}. |
1088 */ |
1088 */ |
1089 @Deprecated |
1089 @Deprecated |
1090 public org.omg.CORBA.Current get_current() |
1090 public org.omg.CORBA.Current get_current() |
1091 { |
1091 { |
1092 throw new org.omg.CORBA.NO_IMPLEMENT(); |
1092 throw new org.omg.CORBA.NO_IMPLEMENT(); |
1093 } |
1093 } |
1094 |
1094 |
1095 /** |
1095 /** |
1096 * This operation blocks the current thread until the ORB has |
1096 * This operation blocks the current thread until the ORB has |
1097 * completed the shutdown process, initiated when some thread calls |
1097 * completed the shutdown process, initiated when some thread calls |
1098 * <code>shutdown</code>. It may be used by multiple threads which |
1098 * {@code shutdown}. It may be used by multiple threads which |
1099 * get all notified when the ORB shuts down. |
1099 * get all notified when the ORB shuts down. |
1100 * |
1100 * |
1101 */ |
1101 */ |
1102 public void run() |
1102 public void run() |
1103 { |
1103 { |
1105 } |
1105 } |
1106 |
1106 |
1107 /** |
1107 /** |
1108 * Instructs the ORB to shut down, which causes all |
1108 * Instructs the ORB to shut down, which causes all |
1109 * object adapters to shut down, in preparation for destruction.<br> |
1109 * object adapters to shut down, in preparation for destruction.<br> |
1110 * If the <code>wait_for_completion</code> parameter |
1110 * If the {@code wait_for_completion} parameter |
1111 * is true, this operation blocks until all ORB processing (including |
1111 * is true, this operation blocks until all ORB processing (including |
1112 * processing of currently executing requests, object deactivation, |
1112 * processing of currently executing requests, object deactivation, |
1113 * and other object adapter operations) has completed. |
1113 * and other object adapter operations) has completed. |
1114 * If an application does this in a thread that is currently servicing |
1114 * If an application does this in a thread that is currently servicing |
1115 * an invocation, the <code>BAD_INV_ORDER</code> system exception |
1115 * an invocation, the {@code BAD_INV_ORDER} system exception |
1116 * will be thrown with the OMG minor code 3, |
1116 * will be thrown with the OMG minor code 3, |
1117 * since blocking would result in a deadlock.<br> |
1117 * since blocking would result in a deadlock.<br> |
1118 * If the <code>wait_for_completion</code> parameter is <code>FALSE</code>, |
1118 * If the {@code wait_for_completion} parameter is {@code FALSE}, |
1119 * then shutdown may not have completed upon return.<p> |
1119 * then shutdown may not have completed upon return.<p> |
1120 * While the ORB is in the process of shutting down, the ORB operates as normal, |
1120 * While the ORB is in the process of shutting down, the ORB operates as normal, |
1121 * servicing incoming and outgoing requests until all requests have been completed. |
1121 * servicing incoming and outgoing requests until all requests have been completed. |
1122 * Once an ORB has shutdown, only object reference management operations |
1122 * Once an ORB has shutdown, only object reference management operations |
1123 * may be invoked on the ORB or any object reference obtained from it. |
1123 * may be invoked on the ORB or any object reference obtained from it. |
1124 * An application may also invoke the <code>destroy</code> operation on the ORB itself. |
1124 * An application may also invoke the {@code destroy} operation on the ORB itself. |
1125 * Invoking any other operation will throw the <code>BAD_INV_ORDER</code> |
1125 * Invoking any other operation will throw the {@code BAD_INV_ORDER} |
1126 * system exception with the OMG minor code 4.<p> |
1126 * system exception with the OMG minor code 4.<p> |
1127 * The <code>ORB.run</code> method will return after |
1127 * The {@code ORB.run} method will return after |
1128 * <code>shutdown</code> has been called. |
1128 * {@code shutdown} has been called. |
1129 * |
1129 * |
1130 * @param wait_for_completion <code>true</code> if the call |
1130 * @param wait_for_completion {@code true} if the call |
1131 * should block until the shutdown is complete; |
1131 * should block until the shutdown is complete; |
1132 * <code>false</code> if it should return immediately |
1132 * {@code false} if it should return immediately |
1133 * @throws org.omg.CORBA.BAD_INV_ORDER if the current thread is servicing |
1133 * @throws org.omg.CORBA.BAD_INV_ORDER if the current thread is servicing |
1134 * an invocation |
1134 * an invocation |
1135 */ |
1135 */ |
1136 public void shutdown(boolean wait_for_completion) |
1136 public void shutdown(boolean wait_for_completion) |
1137 { |
1137 { |
1138 throw new org.omg.CORBA.NO_IMPLEMENT(); |
1138 throw new org.omg.CORBA.NO_IMPLEMENT(); |
1139 } |
1139 } |
1140 |
1140 |
1141 /** |
1141 /** |
1142 * Returns <code>true</code> if the ORB needs the main thread to |
1142 * Returns {@code true} if the ORB needs the main thread to |
1143 * perform some work, and <code>false</code> if the ORB does not |
1143 * perform some work, and {@code false} if the ORB does not |
1144 * need the main thread. |
1144 * need the main thread. |
1145 * |
1145 * |
1146 * @return <code>true</code> if there is work pending, meaning that the ORB |
1146 * @return {@code true} if there is work pending, meaning that the ORB |
1147 * needs the main thread to perform some work; <code>false</code> |
1147 * needs the main thread to perform some work; {@code false} |
1148 * if there is no work pending and thus the ORB does not need the |
1148 * if there is no work pending and thus the ORB does not need the |
1149 * main thread |
1149 * main thread |
1150 * |
1150 * |
1151 */ |
1151 */ |
1152 public boolean work_pending() |
1152 public boolean work_pending() |
1155 } |
1155 } |
1156 |
1156 |
1157 /** |
1157 /** |
1158 * Performs an implementation-dependent unit of work if called |
1158 * Performs an implementation-dependent unit of work if called |
1159 * by the main thread. Otherwise it does nothing. |
1159 * by the main thread. Otherwise it does nothing. |
1160 * The methods <code>work_pending</code> and <code>perform_work</code> |
1160 * The methods {@code work_pending} and {@code perform_work} |
1161 * can be used in |
1161 * can be used in |
1162 * conjunction to implement a simple polling loop that multiplexes |
1162 * conjunction to implement a simple polling loop that multiplexes |
1163 * the main thread among the ORB and other activities. |
1163 * the main thread among the ORB and other activities. |
1164 * |
1164 * |
1165 */ |
1165 */ |
1170 |
1170 |
1171 /** |
1171 /** |
1172 * Used to obtain information about CORBA facilities and services |
1172 * Used to obtain information about CORBA facilities and services |
1173 * that are supported by this ORB. The service type for which |
1173 * that are supported by this ORB. The service type for which |
1174 * information is being requested is passed in as the in |
1174 * information is being requested is passed in as the in |
1175 * parameter <tt>service_type</tt>, the values defined by |
1175 * parameter {@code service_type}, the values defined by |
1176 * constants in the CORBA module. If service information is |
1176 * constants in the CORBA module. If service information is |
1177 * available for that type, that is returned in the out parameter |
1177 * available for that type, that is returned in the out parameter |
1178 * <tt>service_info</tt>, and the operation returns the |
1178 * {@code service_info}, and the operation returns the |
1179 * value <tt>true</tt>. If no information for the requested |
1179 * value {@code true}. If no information for the requested |
1180 * services type is available, the operation returns <tt>false</tt> |
1180 * services type is available, the operation returns {@code false} |
1181 * (i.e., the service is not supported by this ORB). |
1181 * (i.e., the service is not supported by this ORB). |
1182 * |
1182 * |
1183 * @param service_type a <code>short</code> indicating the |
1183 * @param service_type a {@code short} indicating the |
1184 * service type for which information is being requested |
1184 * service type for which information is being requested |
1185 * @param service_info a <code>ServiceInformationHolder</code> object |
1185 * @param service_info a {@code ServiceInformationHolder} object |
1186 * that will hold the <code>ServiceInformation</code> object |
1186 * that will hold the {@code ServiceInformation} object |
1187 * produced by this method |
1187 * produced by this method |
1188 * @return <code>true</code> if service information is available |
1188 * @return {@code true} if service information is available |
1189 * for the <tt>service_type</tt>; |
1189 * for the {@code service_type}; |
1190 * <tt>false</tt> if no information for the |
1190 * {@code false} if no information for the |
1191 * requested services type is available |
1191 * requested services type is available |
1192 * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package |
1192 * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package |
1193 * comments for unimplemented features</a> |
1193 * comments for unimplemented features</a> |
1194 */ |
1194 */ |
1195 public boolean get_service_information(short service_type, |
1195 public boolean get_service_information(short service_type, |
1196 ServiceInformationHolder service_info) |
1196 ServiceInformationHolder service_info) |
1199 } |
1199 } |
1200 |
1200 |
1201 // orbos 98-01-18: Objects By Value -- begin |
1201 // orbos 98-01-18: Objects By Value -- begin |
1202 |
1202 |
1203 /** |
1203 /** |
1204 * Creates a new <code>DynAny</code> object from the given |
1204 * Creates a new {@code DynAny} object from the given |
1205 * <code>Any</code> object. |
1205 * {@code Any} object. |
1206 * |
1206 * |
1207 * @param value the <code>Any</code> object from which to create a new |
1207 * @param value the {@code Any} object from which to create a new |
1208 * <code>DynAny</code> object |
1208 * {@code DynAny} object |
1209 * @return the new <code>DynAny</code> object created from the given |
1209 * @return the new {@code DynAny} object created from the given |
1210 * <code>Any</code> object |
1210 * {@code Any} object |
1211 * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package |
1211 * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package |
1212 * comments for unimplemented features</a> |
1212 * comments for unimplemented features</a> |
1213 * @deprecated Use the new <a href="../DynamicAny/DynAnyFactory.html">DynAnyFactory</a> API instead |
1213 * @deprecated Use the new <a href="../DynamicAny/DynAnyFactory.html">DynAnyFactory</a> API instead |
1214 */ |
1214 */ |
1215 @Deprecated |
1215 @Deprecated |
1217 { |
1217 { |
1218 throw new org.omg.CORBA.NO_IMPLEMENT(); |
1218 throw new org.omg.CORBA.NO_IMPLEMENT(); |
1219 } |
1219 } |
1220 |
1220 |
1221 /** |
1221 /** |
1222 * Creates a basic <code>DynAny</code> object from the given |
1222 * Creates a basic {@code DynAny} object from the given |
1223 * <code>TypeCode</code> object. |
1223 * {@code TypeCode} object. |
1224 * |
1224 * |
1225 * @param type the <code>TypeCode</code> object from which to create a new |
1225 * @param type the {@code TypeCode} object from which to create a new |
1226 * <code>DynAny</code> object |
1226 * {@code DynAny} object |
1227 * @return the new <code>DynAny</code> object created from the given |
1227 * @return the new {@code DynAny} object created from the given |
1228 * <code>TypeCode</code> object |
1228 * {@code TypeCode} object |
1229 * @throws org.omg.CORBA.ORBPackage.InconsistentTypeCode if the given |
1229 * @throws org.omg.CORBA.ORBPackage.InconsistentTypeCode if the given |
1230 * <code>TypeCode</code> object is not consistent with the operation. |
1230 * {@code TypeCode} object is not consistent with the operation. |
1231 * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package |
1231 * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package |
1232 * comments for unimplemented features</a> |
1232 * comments for unimplemented features</a> |
1233 * @deprecated Use the new <a href="../DynamicAny/DynAnyFactory.html">DynAnyFactory</a> API instead |
1233 * @deprecated Use the new <a href="../DynamicAny/DynAnyFactory.html">DynAnyFactory</a> API instead |
1234 */ |
1234 */ |
1235 @Deprecated |
1235 @Deprecated |
1237 { |
1237 { |
1238 throw new org.omg.CORBA.NO_IMPLEMENT(); |
1238 throw new org.omg.CORBA.NO_IMPLEMENT(); |
1239 } |
1239 } |
1240 |
1240 |
1241 /** |
1241 /** |
1242 * Creates a new <code>DynStruct</code> object from the given |
1242 * Creates a new {@code DynStruct} object from the given |
1243 * <code>TypeCode</code> object. |
1243 * {@code TypeCode} object. |
1244 * |
1244 * |
1245 * @param type the <code>TypeCode</code> object from which to create a new |
1245 * @param type the {@code TypeCode} object from which to create a new |
1246 * <code>DynStruct</code> object |
1246 * {@code DynStruct} object |
1247 * @return the new <code>DynStruct</code> object created from the given |
1247 * @return the new {@code DynStruct} object created from the given |
1248 * <code>TypeCode</code> object |
1248 * {@code TypeCode} object |
1249 * @throws org.omg.CORBA.ORBPackage.InconsistentTypeCode if the given |
1249 * @throws org.omg.CORBA.ORBPackage.InconsistentTypeCode if the given |
1250 * <code>TypeCode</code> object is not consistent with the operation. |
1250 * {@code TypeCode} object is not consistent with the operation. |
1251 * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package |
1251 * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package |
1252 * comments for unimplemented features</a> |
1252 * comments for unimplemented features</a> |
1253 * @deprecated Use the new <a href="../DynamicAny/DynAnyFactory.html">DynAnyFactory</a> API instead |
1253 * @deprecated Use the new <a href="../DynamicAny/DynAnyFactory.html">DynAnyFactory</a> API instead |
1254 */ |
1254 */ |
1255 @Deprecated |
1255 @Deprecated |
1257 { |
1257 { |
1258 throw new org.omg.CORBA.NO_IMPLEMENT(); |
1258 throw new org.omg.CORBA.NO_IMPLEMENT(); |
1259 } |
1259 } |
1260 |
1260 |
1261 /** |
1261 /** |
1262 * Creates a new <code>DynSequence</code> object from the given |
1262 * Creates a new {@code DynSequence} object from the given |
1263 * <code>TypeCode</code> object. |
1263 * {@code TypeCode} object. |
1264 * |
1264 * |
1265 * @param type the <code>TypeCode</code> object from which to create a new |
1265 * @param type the {@code TypeCode} object from which to create a new |
1266 * <code>DynSequence</code> object |
1266 * {@code DynSequence} object |
1267 * @return the new <code>DynSequence</code> object created from the given |
1267 * @return the new {@code DynSequence} object created from the given |
1268 * <code>TypeCode</code> object |
1268 * {@code TypeCode} object |
1269 * @throws org.omg.CORBA.ORBPackage.InconsistentTypeCode if the given |
1269 * @throws org.omg.CORBA.ORBPackage.InconsistentTypeCode if the given |
1270 * <code>TypeCode</code> object is not consistent with the operation. |
1270 * {@code TypeCode} object is not consistent with the operation. |
1271 * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package |
1271 * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package |
1272 * comments for unimplemented features</a> |
1272 * comments for unimplemented features</a> |
1273 * @deprecated Use the new <a href="../DynamicAny/DynAnyFactory.html">DynAnyFactory</a> API instead |
1273 * @deprecated Use the new <a href="../DynamicAny/DynAnyFactory.html">DynAnyFactory</a> API instead |
1274 */ |
1274 */ |
1275 @Deprecated |
1275 @Deprecated |
1278 throw new org.omg.CORBA.NO_IMPLEMENT(); |
1278 throw new org.omg.CORBA.NO_IMPLEMENT(); |
1279 } |
1279 } |
1280 |
1280 |
1281 |
1281 |
1282 /** |
1282 /** |
1283 * Creates a new <code>DynArray</code> object from the given |
1283 * Creates a new {@code DynArray} object from the given |
1284 * <code>TypeCode</code> object. |
1284 * {@code TypeCode} object. |
1285 * |
1285 * |
1286 * @param type the <code>TypeCode</code> object from which to create a new |
1286 * @param type the {@code TypeCode} object from which to create a new |
1287 * <code>DynArray</code> object |
1287 * {@code DynArray} object |
1288 * @return the new <code>DynArray</code> object created from the given |
1288 * @return the new {@code DynArray} object created from the given |
1289 * <code>TypeCode</code> object |
1289 * {@code TypeCode} object |
1290 * @throws org.omg.CORBA.ORBPackage.InconsistentTypeCode if the given |
1290 * @throws org.omg.CORBA.ORBPackage.InconsistentTypeCode if the given |
1291 * <code>TypeCode</code> object is not consistent with the operation. |
1291 * {@code TypeCode} object is not consistent with the operation. |
1292 * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package |
1292 * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package |
1293 * comments for unimplemented features</a> |
1293 * comments for unimplemented features</a> |
1294 * @deprecated Use the new <a href="../DynamicAny/DynAnyFactory.html">DynAnyFactory</a> API instead |
1294 * @deprecated Use the new <a href="../DynamicAny/DynAnyFactory.html">DynAnyFactory</a> API instead |
1295 */ |
1295 */ |
1296 @Deprecated |
1296 @Deprecated |
1298 { |
1298 { |
1299 throw new org.omg.CORBA.NO_IMPLEMENT(); |
1299 throw new org.omg.CORBA.NO_IMPLEMENT(); |
1300 } |
1300 } |
1301 |
1301 |
1302 /** |
1302 /** |
1303 * Creates a new <code>DynUnion</code> object from the given |
1303 * Creates a new {@code DynUnion} object from the given |
1304 * <code>TypeCode</code> object. |
1304 * {@code TypeCode} object. |
1305 * |
1305 * |
1306 * @param type the <code>TypeCode</code> object from which to create a new |
1306 * @param type the {@code TypeCode} object from which to create a new |
1307 * <code>DynUnion</code> object |
1307 * {@code DynUnion} object |
1308 * @return the new <code>DynUnion</code> object created from the given |
1308 * @return the new {@code DynUnion} object created from the given |
1309 * <code>TypeCode</code> object |
1309 * {@code TypeCode} object |
1310 * @throws org.omg.CORBA.ORBPackage.InconsistentTypeCode if the given |
1310 * @throws org.omg.CORBA.ORBPackage.InconsistentTypeCode if the given |
1311 * <code>TypeCode</code> object is not consistent with the operation. |
1311 * {@code TypeCode} object is not consistent with the operation. |
1312 * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package |
1312 * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package |
1313 * comments for unimplemented features</a> |
1313 * comments for unimplemented features</a> |
1314 * @deprecated Use the new <a href="../DynamicAny/DynAnyFactory.html">DynAnyFactory</a> API instead |
1314 * @deprecated Use the new <a href="../DynamicAny/DynAnyFactory.html">DynAnyFactory</a> API instead |
1315 */ |
1315 */ |
1316 @Deprecated |
1316 @Deprecated |
1318 { |
1318 { |
1319 throw new org.omg.CORBA.NO_IMPLEMENT(); |
1319 throw new org.omg.CORBA.NO_IMPLEMENT(); |
1320 } |
1320 } |
1321 |
1321 |
1322 /** |
1322 /** |
1323 * Creates a new <code>DynEnum</code> object from the given |
1323 * Creates a new {@code DynEnum} object from the given |
1324 * <code>TypeCode</code> object. |
1324 * {@code TypeCode} object. |
1325 * |
1325 * |
1326 * @param type the <code>TypeCode</code> object from which to create a new |
1326 * @param type the {@code TypeCode} object from which to create a new |
1327 * <code>DynEnum</code> object |
1327 * {@code DynEnum} object |
1328 * @return the new <code>DynEnum</code> object created from the given |
1328 * @return the new {@code DynEnum} object created from the given |
1329 * <code>TypeCode</code> object |
1329 * {@code TypeCode} object |
1330 * @throws org.omg.CORBA.ORBPackage.InconsistentTypeCode if the given |
1330 * @throws org.omg.CORBA.ORBPackage.InconsistentTypeCode if the given |
1331 * <code>TypeCode</code> object is not consistent with the operation. |
1331 * {@code TypeCode} object is not consistent with the operation. |
1332 * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package |
1332 * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package |
1333 * comments for unimplemented features</a> |
1333 * comments for unimplemented features</a> |
1334 * @deprecated Use the new <a href="../DynamicAny/DynAnyFactory.html">DynAnyFactory</a> API instead |
1334 * @deprecated Use the new <a href="../DynamicAny/DynAnyFactory.html">DynAnyFactory</a> API instead |
1335 */ |
1335 */ |
1336 @Deprecated |
1336 @Deprecated |
1340 } |
1340 } |
1341 |
1341 |
1342 /** |
1342 /** |
1343 * Can be invoked to create new instances of policy objects |
1343 * Can be invoked to create new instances of policy objects |
1344 * of a specific type with specified initial state. If |
1344 * of a specific type with specified initial state. If |
1345 * <tt>create_policy</tt> fails to instantiate a new Policy |
1345 * {@code create_policy} fails to instantiate a new Policy |
1346 * object due to its inability to interpret the requested type |
1346 * object due to its inability to interpret the requested type |
1347 * and content of the policy, it raises the <tt>PolicyError</tt> |
1347 * and content of the policy, it raises the {@code PolicyError} |
1348 * exception with the appropriate reason. |
1348 * exception with the appropriate reason. |
1349 * @param type the <tt>PolicyType</tt> of the policy object to |
1349 * @param type the {@code PolicyType} of the policy object to |
1350 * be created |
1350 * be created |
1351 * @param val the value that will be used to set the initial |
1351 * @param val the value that will be used to set the initial |
1352 * state of the <tt>Policy</tt> object that is created |
1352 * state of the {@code Policy} object that is created |
1353 * @return Reference to a newly created <tt>Policy</tt> object |
1353 * @return Reference to a newly created {@code Policy} object |
1354 * of type specified by the <tt>type</tt> parameter and |
1354 * of type specified by the {@code type} parameter and |
1355 * initialized to a state specified by the <tt>val</tt> |
1355 * initialized to a state specified by the {@code val} |
1356 * parameter |
1356 * parameter |
1357 * @throws <tt>org.omg.CORBA.PolicyError</tt> when the requested |
1357 * @throws org.omg.CORBA.PolicyError when the requested |
1358 * policy is not supported or a requested initial state |
1358 * policy is not supported or a requested initial state |
1359 * for the policy is not supported. |
1359 * for the policy is not supported. |
1360 */ |
1360 */ |
1361 public org.omg.CORBA.Policy create_policy(int type, org.omg.CORBA.Any val) |
1361 public org.omg.CORBA.Policy create_policy(int type, org.omg.CORBA.Any val) |
1362 throws org.omg.CORBA.PolicyError |
1362 throws org.omg.CORBA.PolicyError |