Um recurso é uma coleta nomeada
de propriedades que existe em um repositório. Alguns recursos, tais como arquivos,
possuem conteúdo e também propriedades. Alguns recursos estão localizados apenas em um servidor.
Alguns estão localizados unicamente em uma área de arquivo de cliente. Um recurso não pode existir em
dois locais diferentes, porém dois recursos podem estar tão vinculados que
eles dão essa impressão. Por exemplo, um arquivo em uma área de arquivo e o arquivo
correspondente no servidor são dois recursos diferentes. Eles estão relacionados, mas cada
um possui seu próprio local, conteúdo e propriedades.
Um objeto proxy pode ser utilizado para criar, modificar e, no final, destruir os recursos.
Depois que um recurso é criado, e até que seja destruído, ele persiste em seu repositório entre as chamadas do provedor que o modifica.
No Rational CM
API, a interface Recurso é a interface base para todos os tipos de Recursos do Rational CM
API. Estes são exemplos de recursos:
- Arquivos em uma visualização do Rational ClearCase
- Versões em um VOB (Versioned Object Base)
- Defeitos em um banco de dados do usuário do Rational ClearQuest
As interfaces do proxy do CM API formam uma hierarquia. A
raiz da hierarquia é
javax.wvcm.Resource. Por exemplo, estas são algumas das interfaces que estendem a interface Recurso:
- O StpResource estende o Recurso.
- CqResource e CcResource estendem o StpResource.
- O pacote stp inclui as interfaces StpActivity, StpFolder e
StpRepository.
- O pacote cc inclui as interfaces CcActivity, CcAttributeType,
CcBaseline, CcBranchType, CcComponent, CcControllableFolder, CcControllableResource,
CcElement, CcElementType, CcFolder, CcFolderVersion, CcProject, CcProjectFolder,
CcVersion, CcView, CcVob e CcVobResource.
- O pacote cq inclui as interfaces CqAction, CqAttachment, CqAttachmentFolder,
CqDbSet, CqFieldDefinition, CqForm, CqGroup, CqHook, CqProjectMember, CqQuery,
CqQueryFolder, CqQueryFolderItem, CqRecord, CqRecordType, CqReport e
CqUserDb.
Um recurso possui um tipo
exclusivo, um local exclusivo (no formato de uma cadeia de seletor de Local) e um
nome de exibição.
Cada tipo de recurso possui uma interface exclusiva pela qual ele
é acessado.