Previous | Table of Contents | Next |
Information about the entities that are managed in an Interface Repository is maintained as a collection of interface repository
objects of the following types:
• Repository: the top-level module for the repository name space; it contains constants, typedefs, exceptions, interface , component, home, value or event type definitions, and modules.
• ModuleDef: a logical grouping of interfaces and value types; it contains constants, typedefs, exceptions, interface, component, home, value or event type definitions, and other modules.
• InterfaceDef: an interface definition; it contains lists of constants, types, exceptions, operations, and attributes.
• ExtInterfaceDef: an extended version of InterfaceDef that is capable of accommodating attributes with exceptions.
• AbstractInterfaceDef: an abstract interface definition; it contains lists of constants, types, exceptions, operations, and attributes.
• ExtAbstractInterfaceDef: an extended version of AbstractInterfaceDef that is capable of accommodating attributes with exceptions.
• LocalInterfaceDef: a local interface definition; it contains lists of constants, types, exceptions, operations, and attributes.
• ExtLocalInterfaceDef: an extended version of LocalInterfaceDef that is capable of accommodating attributes with exceptions.
• ValueDef: a value type definition that contains lists of constants, types, exceptions, operations, attributes and members
• ExtValueDef: an extended version of ValueDef that is capable of accommodating attributes and initializers with exceptions.
• EventDef: an event type definition that contains lists of constants, types, exceptions, operations, attributes and members.
• ValueBoxDef: the definition of a boxed value type.
• ValueMemberDef: the definition of a member of the value type.
• AttributeDef: the definition of an attribute of the interface or value type.
• ExtAttributeDef: an extended version of AttributeDef that is capable of accommodating attributes with exceptions.
• OperationDef: the definition of an operation of the interface, value or event type; it contains lists of parameters and exceptions raised by this operation.
• TypedefDef: base interface for definitions of named types that are not interfaces components, homes, or value and event types.
• ConstantDef: the definition of a named constant.
• ExceptionDef: the definition of an exception that can be raised by an operation.
• ComponentDef: a component definition; it contains lists of provides, uses, consumes, publishes, supports, emits and attributes.
• HomeDef: a home definition; it contains lists of constants, types, exceptions, operations, attributes, factories and finders.
• FactoryDef: the definition of a factory; it is an operation that is specifically used for creating new instances of components in a home.
• FinderDef: the definition of a finder; it is an operation that is specifically used to find components within a home.
• ProvidesDef: the definition of an interface that is provided by a component.
• UsesDef: the definition of an interface that is used by a component.
• EmitsDef: the definition of events that are emitted by a component.
• PublishesDef: the definition of events that are published by a component.
• ConsumesDef: the definition of events that are consumed by a component.
The interface specifications for each interface repository object lists the attributes
maintained by that object (see Section 10.5, “Interface Repository Interfaces,? on
page 10-11). Many of these attributes correspond directly to OMG IDL statements. An
implementation can choose to maintain additional attributes to facilitate managing the Repository or to record additional
(proprietary) information about an interface. Implementations that extend the IR interfaces shall do so by deriving new interfaces,
not by modifying the standard interfaces.
The CORBA specification defines a minimal set of operations for interface repository objects. Additional operations that an
implementation of the Interface Repository may provide could include operations that provide for the versioning of entities
and for the reverse compilation of specifications (i.e., the generation of a file containing an object’s OMG IDL specification).