JavaTM 2 Platform Std. Ed. v1.4.2
org.omg.IOP
Class IORHolder
java.lang.Object
org.omg.IOP.IORHolder
- All Implemented Interfaces:
- Streamable
- public final class IORHolder
- extends Object
- implements Streamable
Captures information about a object references, such as whether the
object is null, what type it is, what protocols are supported, and what
ORB services are available.
This data structure need not be used internally to any given ORB,
and is not intended to be visible to application-level ORB programmers.
It should be used only when crossing object reference domain
boundaries, within bridges.
This data structure is designed to be efficient in typical
single-protocol configurations, while not penalizing multiprotocol ones.
Object references have at least one tagged profile. Each profile
supports one or more protocols and encapsulates all the basic
information the protocols it supports need to identify an object.
Any single profile holds enough information to drive a complete
invocation using any of the protocols it supports; the content
and structure of those profile entries are wholly specified by
these protocols. A bridge between two domains may need to know the
detailed content of the profile for those domains' profiles,
depending on the technique it uses to bridge the domains.
Each profile has a unique numeric tag, assigned by the OMG.
Profile tags in the range 0x80000000 through 0xffffffff are reserved
for future use, and are not currently available for assignment.
Null object references are indicated by an empty set of profiles,
and by a "Null" type ID (a string which contains only a single
terminating character). A Null TypeID is the only
mechanism that can be used to represent the type
CORBA.Object . Type IDs may only be "Null" in any message,
requiring the client to use existing knowledge or to consult the
object, to determine interface types supported. The type ID
is a Repository ID identifying the interface type, and is provided
to allow ORBs to preserve strong typing. This identifier is agreed
on within the bridge and, for reasons outside the scope of the
interoperability specification, needs to have a much broader scope to
address various problems in system evolution and maintenance.
Type IDs support detection of type equivalence, and in conjunction
with an Interface Repository, allow processes to reason about the
relationship of the type of the object referred to and any other type.
The type ID, if provided by the server, indicates the most derived
type that the server wishes to publish, at the time the reference
is generated. The object's actual most derived type may later change
to a more derived type. Therefore, the type ID in the IOR can only
be interpreted by the client as a hint that the object supports at
least the indicated interface. The client can succeed in narrowing
the reference to the indicated interface, or to one of its base
interfaces, based solely on the type ID in the IOR, but must not fail
to narrow the reference without consulting the object via the
"_is_a" or "_get_interface" pseudo-operations.
Method Summary |
void |
_read(InputStream i)
Reads data from istream and initalizes the
value field of the Holder with the unmarshalled data. |
TypeCode |
_type()
Retrieves the TypeCode object corresponding to the value
in the value field of the Holder. |
void |
_write(OutputStream o)
Marshals to ostream the value in the
value field of the Holder. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
value
public IOR value
IORHolder
public IORHolder()
IORHolder
public IORHolder(IOR initialValue)
_read
public void _read(InputStream i)
- Description copied from interface:
Streamable
- Reads data from
istream and initalizes the
value field of the Holder with the unmarshalled data.
- Specified by:
_read in interface Streamable
- Parameters:
i - the InputStream that represents the CDR data from the wire.
_write
public void _write(OutputStream o)
- Description copied from interface:
Streamable
- Marshals to
ostream the value in the
value field of the Holder.
- Specified by:
_write in interface Streamable
- Parameters:
o - the CDR OutputStream
_type
public TypeCode _type()
- Description copied from interface:
Streamable
- Retrieves the
TypeCode object corresponding to the value
in the value field of the Holder.
- Specified by:
_type in interface Streamable
- Returns:
- the
TypeCode object for the value held in the holder
Copyright 2003 Sun Microsystems, Inc. All rights reserved
|