The Namespace interface contains specifications for namespace types and generic namespace traversal.
The namespace is a directed graph structure linking published objects within a distributed objects framework. Nodes in the graph are represented by contexts, and each context can contain any number of name bindings, which are the links to other distributed objects. Names are actually bound to object descriptors, which are string representations of an object's type and an opaque reference. Currently, since the distributed object system being used is ILU, object references are ILU String Binding Handles (SBHs). A descriptor is the minimum information necessary for a client to reconstitute the described surrogate object (e.g. by using ilu.ObjectOfSBH()).
Paths in the namespace are a string of non-empty component names separated by slashes ("/"). Paths do not start with a slash and unlike file names, there are no parent contexts so components such as "." and ".." are not treated specially. A component of a path cannot contain slashes and must be non-empty.
This interface defines the following non-OBJECT
types:
String
ilu.CString
Strings
SEQUENCE OF String
Descriptor
RECORD
representing a distributed object
linked into the namespace. Descriptor
s have
the following fields:
typename
String
containing the type of the
distributed object, the format
"Interface.Object" (or, in Python, read as:
"Module.Class").
reference
String
containing the opaque
reference to the object, currently an ILU SBH.
This interface defines the following exceptions:
These objects represent internal nodes which may be non-leaf nodes in the namespace graph.