com.sun.corba.se.spi.ior |
Provides access to the components and profiles in an IOR without the overhead
of CDR encoding.
The abstract model of IORs works as follows:
- An IOR has a type ID string, and contains TaggedProfile instances.
- An IIOPProfile isA TaggedProfile.
- An IIOPProfile is composed of an IIOPProfileTemplate and an object ID.
- An IIOPProfileTemplate has an ObjectKeyTemplate, and contains TaggedComponents.
- A TaggedComponent has an ID, and can be written to an OuputStream.
-
- A TaggedComponentFactory reads a TaggedComponent from an InputStream.
-
In all cases, containment is represented by having the appropriate interface (IOR and
IIOPProfileTemplate above) extend java.util.List. This makes it easy to use all of the
facilities in the Java collections framework with IORs. However, note that all
objects available through these APIs are immutable. Thus all list update operations
through UnsupportedOperationException, and list iterators cannot modify the underlying
list.
Templates are used because the basic object adapter model for object creation is to
establish all properties of an IOR (except for type and object ID) when the object
adapter is created. This has been present for the POA essentially from the beginning,
since policies can only be passed to create_POA, and cannot be changed on an existing
POA. The Portable Interceptors work has also made this clear, since the IOR interceptor
runs only when an object adapter is created, which is the only time that user code
can add tagged components to an IOR.
|
Java Source File Name | Type | Comment |
EncapsulationFactoryBase.java | Class | |
Identifiable.java | Interface | This interface represents an entity that can be written to an
OutputStream and has an identity that is represented by an integer. |
IdentifiableBase.java | Class | Provide support for properly reading and writing Identifiable objects
that are also encapsulations (tagged profiles and components). |
IdentifiableContainerBase.java | Class | Convenience class for defining objects that contain lists of Identifiables.
Mainly implements iteratorById. |
IdentifiableFactory.java | Interface | Factory interface for creating Identifiables. |
IdentifiableFactoryFinder.java | Interface | Interface used to manage a group of related IdentifiableFactory instances. |
IOR.java | Interface | An IOR is represented as a list of profiles. |
IORFactories.java | Class | This class provides a number of factory methods for creating
various IOR SPI classes which are not subclassed for specific protocols. |
IORFactory.java | Interface | An IORFactory provides the capability of creating IORs. |
IORTemplate.java | Interface | An IORTemplate provides all of the data necessary to create an IOR except
for the typeId and ObjectId. |
IORTemplateList.java | Interface | An IORTemplateList is a list of IORTemplate instances. |
MakeImmutable.java | Interface | |
ObjectAdapterId.java | Interface | This is the object adapter ID for an object adapter. |
ObjectId.java | Interface | |
ObjectKey.java | Interface | The full object key, which is contained in an IIOPProfile.
The object identifier corresponds to the information passed into
POA::create_reference_with_id and POA::create_reference
(in the POA case). |
ObjectKeyFactory.java | Interface | Construct ObjectKey and ObjectKeyTemplate instances from their
CDR-marshalled representation. |
ObjectKeyTemplate.java | Interface | An ObjectKeyTemplate represents the part of an Object Key
that corresponds to the object adapter used to create an
object reference. |
TaggedComponent.java | Interface | Generic interface for all tagged components. |
TaggedComponentBase.java | Class | Base class to use for implementing TaggedComponents. |
TaggedComponentFactoryFinder.java | Interface | |
TaggedProfile.java | Interface | TaggedProfile represents a tagged profile in an IOR.
A profile contains all of the information necessary for an invocation.
It contains one or more endpoints that may be used for an invocation.
A TaggedProfile conceptually has three parts: A TaggedProfileTemplate,
an ObjectKeyTemplate, and an ObjectId. |
TaggedProfileTemplate.java | Interface | Base template for creating TaggedProfiles. |
TaggedProfileTemplateBase.java | Class | |
Writeable.java | Interface | This interface represents an entity that can be written to an OutputStream. |
WriteContents.java | Interface | |