Previous Table of Contents Next


10.7 RepositoryId

   ComponentIR::Repository. A BAD_PARAM exception with minor code 3 is raised if the specified name already exists within this HomeDef and multiple versions are not supported.

   The inherited create_ext_attribute operation returns a new ExtAttributeDef contained in the HomeDef on which it is invoked. The id, name, version, type_def, mode, get_exceptions, and set_exceptions attributes are set as specified. The type attribute is also set.

   The inherited create_operation operation returns a new OperationDef contained in the HomeDef on which it is invoked. The id, name, version, result_def, mode, params, exceptions, and contexts attributes are set as specified. The result attribute is also set.

   The create_factory operation returns a new FactoryDef contained in the HomeDef on which it is invoked. The id, name, version, params, and exceptions attributes are set as specified. The parameters in the params attribute must all be of PARAM_IN type.

   The create_finder operation returns a new FinderDef contained in the HomeDef on which it is invoked. The id, name, versions, params, and exceptions attributes are set as specified. The parameters in the params attribute must all be of PARAM_IN type.

   A HomeDef used as a Container may only contain TypedefDef (including definitions derived from TypedefDef), ConstantDef, and ExceptionDef definitions.

   RepositoryIds are values that can be used to establish the identity of information in the repository. A RepositoryId is represented as a string, allowing programs to store, copy, and compare them without regard to the structure of the value. It does not matter what format is used for any particular RepositoryId. However, conventions are used to manage the name space created by these IDs.

   RepositoryIds may be associated with OMG IDL definitions in a variety of ways. Installation tools might generate them, they might be defined with pragmas in OMG IDL source, or they might be supplied with the package to be installed. Ensuring consistency of RepositoryIds with the IDL source or the IR contents is the responsibility of the programmer allocating Repositoryids.

   The format of the id is a short format name followed by a colon (“:?) followed by characters according to the format. This specification defines four formats:

   Since new repository ID formats may be added from time to time, compliant IDL compilers must accept any string value of the form

   “<format>:<string>?

   provided as the argument to the id pragma and use it as the repository ID. The OMG maintains a registry of allocated format identifiers. The <format> part of the ID may not contain a colon (:) character.

   The version and prefix pragmas only affect default repository IDs that are generated by the IDL compiler using the IDL format.