1. package org.omg.IOP;
  2. /**
  3. * org/omg/IOP/IOR.java .
  4. * Generated by the IDL-to-Java compiler (portable), version "3.1"
  5. * from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
  6. * Monday, February 23, 2004 7:03:03 AM GMT
  7. */
  8. /**
  9. * Captures information about a object references, such as whether the
  10. * object is null, what type it is, what protocols are supported, and what
  11. * ORB services are available.
  12. * <p>
  13. * This data structure need not be used internally to any given ORB,
  14. * and is not intended to be visible to application-level ORB programmers.
  15. * It should be used only when crossing object reference domain
  16. * boundaries, within bridges.
  17. * <p>
  18. * This data structure is designed to be efficient in typical
  19. * single-protocol configurations, while not penalizing multiprotocol ones.
  20. * <p>
  21. * Object references have at least one tagged profile. Each profile
  22. * supports one or more protocols and encapsulates all the basic
  23. * information the protocols it supports need to identify an object.
  24. * Any single profile holds enough information to drive a complete
  25. * invocation using any of the protocols it supports; the content
  26. * and structure of those profile entries are wholly specified by
  27. * these protocols. A bridge between two domains may need to know the
  28. * detailed content of the profile for those domains' profiles,
  29. * depending on the technique it uses to bridge the domains.
  30. * <p>
  31. * Each profile has a unique numeric tag, assigned by the OMG.
  32. * Profile tags in the range 0x80000000 through 0xffffffff are reserved
  33. * for future use, and are not currently available for assignment.
  34. * <p>
  35. * Null object references are indicated by an empty set of profiles,
  36. * and by a "Null" type ID (a string which contains only a single
  37. * terminating character). A Null <code>TypeID</code> is the only
  38. * mechanism that can be used to represent the type
  39. * <code>CORBA.Object</code>. Type IDs may only be "Null" in any message,
  40. * requiring the client to use existing knowledge or to consult the
  41. * object, to determine interface types supported. The type ID
  42. * is a Repository ID identifying the interface type, and is provided
  43. * to allow ORBs to preserve strong typing. This identifier is agreed
  44. * on within the bridge and, for reasons outside the scope of the
  45. * interoperability specification, needs to have a much broader scope to
  46. * address various problems in system evolution and maintenance.
  47. * Type IDs support detection of type equivalence, and in conjunction
  48. * with an Interface Repository, allow processes to reason about the
  49. * relationship of the type of the object referred to and any other type.
  50. * <p>
  51. * The type ID, if provided by the server, indicates the most derived
  52. * type that the server wishes to publish, at the time the reference
  53. * is generated. The object's actual most derived type may later change
  54. * to a more derived type. Therefore, the type ID in the IOR can only
  55. * be interpreted by the client as a hint that the object supports at
  56. * least the indicated interface. The client can succeed in narrowing
  57. * the reference to the indicated interface, or to one of its base
  58. * interfaces, based solely on the type ID in the IOR, but must not fail
  59. * to narrow the reference without consulting the object via the
  60. * "_is_a" or "_get_interface" pseudo-operations.
  61. */
  62. public final class IOR implements org.omg.CORBA.portable.IDLEntity
  63. {
  64. /** The type id, represented as a String. */
  65. public String type_id = null;
  66. /**
  67. * An array of tagged profiles associated with this
  68. * object reference.
  69. */
  70. public org.omg.IOP.TaggedProfile profiles[] = null;
  71. public IOR ()
  72. {
  73. } // ctor
  74. public IOR (String _type_id, org.omg.IOP.TaggedProfile[] _profiles)
  75. {
  76. type_id = _type_id;
  77. profiles = _profiles;
  78. } // ctor
  79. } // class IOR