RepositoryObject Class

Meta Data Services Programming

Meta Data Services Programming

RepositoryObject Class

A repository object is an object that is stored in a repository database and is managed by the repository engine.

In this release of the repository engine, objects can be versioned. A repository object version is a particular edition of a repository object. Each version of an object can differ from other versions of that object in its property values and collections. When you obtain a reference to a repository object, you are actually manipulating a particular version of that object. That is, you manipulate a RepositoryObjectVersion object. Because you manipulate particular versions of objects, you can declare any object with the following line of Microsoft® Visual Basic® code:

Dim myVersionedReposObject As RepositoryObjectVersion

In earlier releases of the repository engine, the object model included the RepositoryObject class, but not the RepositoryObjectVersion class. If you have Visual Basic programs written against earlier releases, those programs might include declarations like the following:

Dim oldReposObject As RepositoryObject

These programs will work because the repository object model still includes the RepositoryObject object. Visual Basic recognizes the preceding declaration as valid. But whenever you manipulate an object, you actually manipulate a specific version of that object. So the object oldReposObject, even though it is declared as a RepositoryObject, must conform to the RepositoryObjectVersion class.

To ensure that objects declared as RepositoryObject conform to the RepositoryobjectVersion class, the repository engine uses the same Class Factory for both classes. In this way, any object that you declare as a Relationship implements the exact same methods as any object you declare as a VersionedRelationship. In effect, the following two lines of Visual Basic code are identical:

Dim myVersionedReposObject As RepositoryObjectVersion
Dim oldReposObject As RepositoryObject
Interfaces
Interface Description
IRepositoryDispatch Provides enhanced dispatch support
IRepositoryItem Manages repository objects and relationships
IRepositoryObject Retrieves repository object identifiers
IRepositoryObject2 Provides binary large object (BLOB) and large text file support, and exposes additional meta data about an object
IRepositoryObjectStorage Creates and loads repository objects

See Also

IRepositoryDispatch Interface

IRepositoryItem Interface

IRepositoryObject Interface

IRepositoryObjectStorage Interface

Repository Engine Classes

RepositoryObjectVersion