!--a11y-->
The Repository Framework Client
API 
The client API is a set of repository framework interfaces that offers access to the functions that are implemented for resources. The functions enable operations that range from basic handling like the retrieval and creation of resources to complex handling like the locking and ordering of resources.
For more information about the functions that the client API exposes, see Resources.
Applications that work with resources can use the client API to integrate the processing of unstructured information into their business logic. For example, with the help of the exposed functions, they can:
● Retrieve, create and manipulate documents and their content
● Handle metadata, locking, security and versioning of documents
● Order documents in collections
The client API is included in the packages:
●
com.sapportals.wcm.repository.*
●
com.sapportals.wcm.util.*
The UML diagram shows the main interfaces and classes of the API.

The resource, resource factory, resource context and RID are the central interfaces and classes of the API.
Interfaces and Classes |
Purpose |
IResourceFactory |
Represents the resource factory which is the main entry point to the repository framework. The static method getInstance() of IResourceFactory returns an instance of the IResourceFactory. |
IResource |
Represents a repository framework object (resource). It extends ITypeCast. |
ICollection |
Represents a collection (folder) and extends IResource. |
RID |
Represents a RID and offers the static method getRID(), to create a RID from a String. |
IResourceContext |
Represents a resource context and is implemented by the repository framework class ResourceContext. To create a ResourceContext, you specify a user on whose behalf the resource context is created. |

When you use the client API to work with resources, keep in mind that there may be restrictions for the paths and names of resources. For example, the length or the allowed characters may be limited. You can find out about the restrictions by calling the. getNameInfo() methods offered by the IRepositoryManager interface.