1. package org.omg.PortableInterceptor;
  2. /**
  3. * org/omg/PortableInterceptor/ORBInitInfoOperations.java .
  4. * Generated by the IDL-to-Java compiler (portable), version "3.1"
  5. * from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
  6. * Monday, February 23, 2004 7:03:06 AM GMT
  7. */
  8. /**
  9. * Passed to each <code>ORBInitializer</code>, allowing it to
  10. * to register interceptors and perform other duties while the ORB is
  11. * initializing.
  12. * <p>
  13. * The <code>ORBInitInfo</code> object is only valid during
  14. * <code>ORB.init</code>. If a service keeps a reference to its
  15. * <code>ORBInitInfo</code> object and tries to use it after
  16. * <code>ORB.init</code> returns, the object no longer exists and an
  17. * <code>OBJECT_NOT_EXIST</code> exception shall be thrown.
  18. *
  19. * @see ORBInitializer
  20. */
  21. public interface ORBInitInfoOperations
  22. {
  23. /**
  24. * Returns the arguments passed to <code>ORB.init</code>. They may or
  25. * may not contain the ORB's arguments.
  26. */
  27. String[] arguments ();
  28. /**
  29. * Returns the ID of the ORB being initialized.
  30. */
  31. String orb_id ();
  32. /**
  33. * Returns the <code>IOP.CodecFactory</code>. The
  34. * <code>CodecFactory</code> is normally obtained via a call to
  35. * <code>ORB.resolve_initial_references( "CodecFactory" )</code>, but
  36. * since the ORB is not yet available and Interceptors, particularly when
  37. * processing service contexts, will require a <code>Codec</code>, a
  38. * means of obtaining a <code>Codec</code> is necessary during ORB
  39. * initialization.
  40. */
  41. org.omg.IOP.CodecFactory codec_factory ();
  42. /**
  43. * Identical to <code>ORB.register_initial_reference</code>. This same
  44. * functionality exists here because the ORB, not yet fully initialized,
  45. * is not yet available but initial references may need to be
  46. * registered as part of Interceptor registration. The only difference
  47. * is that the version of this operation on the ORB uses PIDL
  48. * (<code>CORBA.ORB.ObjectId</code>) and
  49. * (<code>CORBA.ORB.InvalidName</code>) whereas the version in this
  50. * interface uses IDL defined in this interface; the semantics are
  51. * identical.
  52. */
  53. void register_initial_reference (String id, org.omg.CORBA.Object obj) throws org.omg.PortableInterceptor.ORBInitInfoPackage.InvalidName;
  54. /**
  55. * Identical to <code>ORB.resolve_initial_references</code>. This same
  56. * functionality exists here because the ORB, not yet fully initialized,
  57. * is not yet available but initial references may be required from the
  58. * ORB as part of Interceptor registration. The only difference is that
  59. * the version of this operation on the ORB uses PIDL
  60. * (<code>CORBA::ORB::ObjectId</code> and
  61. * <code>CORBA::ORB::InvalidName</code>) whereas the version in this
  62. * interface uses IDL defined in this interface; the semantics
  63. * are identical.
  64. * <p>
  65. * This operation is only valid during post_init.
  66. */
  67. org.omg.CORBA.Object resolve_initial_references (String id) throws org.omg.PortableInterceptor.ORBInitInfoPackage.InvalidName;
  68. /**
  69. * Used to add a client-side request Interceptor to the list of
  70. * client-side request Interceptors.
  71. *
  72. * @param interceptor The <code>ClientRequestInterceptor</code> to be
  73. * added.
  74. * @exception DuplicateName thrown if a client-side request Interceptor
  75. * has already been registered with this Interceptor's name.
  76. */
  77. void add_client_request_interceptor (org.omg.PortableInterceptor.ClientRequestInterceptor interceptor) throws org.omg.PortableInterceptor.ORBInitInfoPackage.DuplicateName;
  78. /**
  79. * Used to add a server-side request Interceptor to the list of
  80. * server-side request Interceptors.
  81. *
  82. * @param interceptor The ServerRequestInterceptor to be added.
  83. * @exception DuplicateName thrown if a server-side request Interceptor
  84. * has already been registered with this Interceptor's name
  85. */
  86. void add_server_request_interceptor (org.omg.PortableInterceptor.ServerRequestInterceptor interceptor) throws org.omg.PortableInterceptor.ORBInitInfoPackage.DuplicateName;
  87. /**
  88. * Used to add an IOR Interceptor to the list of IOR Interceptors.
  89. *
  90. * @param interceptor The IORInterceptor to be added.
  91. * @exception DuplicateName thrown if an IOR Interceptor has already
  92. * been registered with this Interceptor's name.
  93. */
  94. void add_ior_interceptor (org.omg.PortableInterceptor.IORInterceptor interceptor) throws org.omg.PortableInterceptor.ORBInitInfoPackage.DuplicateName;
  95. /**
  96. * Called to allocate a slot on <code>PortableInterceptor.Current</code>.
  97. * <p>
  98. * Note that while slot id's can be allocated within an ORB initializer,
  99. * the slots themselves cannot be initialized.
  100. *
  101. * @return The index to the slot which has been allocated.
  102. * @exception BAD_INV_ORDER thrown, with a standard minor code of 14, if
  103. * <code>set_slot</code> or <code>get_slot</code> is called on the
  104. * <code>PICurrent</code> within an ORB initializer.
  105. * @see Current
  106. */
  107. int allocate_slot_id ();
  108. /**
  109. * Registers a <code>PolicyFactory</code> for the given
  110. * <code>PolicyType</code>.
  111. *
  112. * @param type The policy type that the given <code>PolicyFactory</code>
  113. * serves.
  114. * @param policy_factory The factory for the given policy type.
  115. * @exception BAD_INV_ORDER thrown, with a standard minor code of 16, if
  116. * a <code>PolicyFactory</code> already exists for the given
  117. * <code>PolicyType</code>.
  118. */
  119. void register_policy_factory (int type, org.omg.PortableInterceptor.PolicyFactory policy_factory);
  120. } // interface ORBInitInfoOperations