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 |