The base definition of any repository implementation, this interface provides methods to access RepositoryItems, RepositoryViews and ItemDescriptors.

Given a unique ID or set of IDs, you can retrieve repository items with the following methods:

RepositoryItem getItem(String pId, String pDescriptorName)
RepositoryItem[] getItems(String[] pIds, String pDescriptorName)

Depending on the repository implementation, item IDs can take different forms. In SQL repositories, a repository item ID by default is numeric and is auto-generated through the IdGenerator service, which is described the Core Dynamo Services chapter of the ATG Platform Programming Guide. The SQL repository also supports composite repository item IDs. In that case, you can retrieve items from the repository with these methods:

RepositoryItem getItem(CompositeKey pId, String pDescriptorName)
RepositoryItem [] getItems(CompositeKey [] pIds, String pDescriptorName)

In other cases, an item ID might be the path of the document, as in some of the file-system based repositories.

The Repository API includes the RepositoryItemDescriptor interface, a subinterface of atg.beans.DynamicBeanInfo (see the ATG Platform Programming Guide chapter Nucleus: Organizing JavaBean Components). This lets you access the “dynamic bean info” of the available repository items, such as the property descriptors and property names, with this method:

RepositoryItemDescriptor getItemDescriptor(String pName)

You can also get a list of all available ItemDescriptors from the itemDescriptorNames property.