Para um recurso baseado em arquivo, o local é expressão como um nome de caminho de arquivo. Para um recurso do lado do servidor, o local contém as informações necessárias para localizar o objeto (por exemplo, um ID de banco de dados em um VOB).
O local do recurso é necessário ao ler ou gravar o conteúdo do recurso ou ao ler ou gravar propriedades em um servidor.
O objeto StpLocation representa um endereço de recurso; como tal, ele pode ser utilizado para construir um proxy de recurso (utilizando um dos métodos de depósito de informações de proxy de recurso do Provedor). Como regra geral, o proxy Recurso construído a partir de um Local deve ser do mesmo tipo que o recurso endereçado pelo Local. Entretanto, o tipo de recurso endereçado por um Local não pode ser sempre determinado sozinho a partir da especificação de endereço. Como resultado, essa regra não pode ser sempre aplicada no momento em que o proxy é construído.
Todos os recursos possuem um formato estável de local que pode ser utilizado para armazenar identidades de recurso no cliente entre sessões do cliente. Esse local estável pode não ser o local utilizado para criar o recurso. O servidor cria esse local estável para o usuário no tempo de criação do recurso; esse local está sempre disponível como uma propriedade inalterável do recurso. O objeto StpLocation fornece métodos para obter a representação de cadeia de um local e para tornar a analisar essa cadeia em um local.
Uma instância StpLocation representa uma especificação de local que foi analisada em seus campos de componentes. Vários formatos, ou esquemas, diferentes são utilizados para expressar o local de diversos recursos como uma cadeia. Esses esquemas consistem em um ou mais dos seguintes campos: domínio, nome do repositório, espaço de nomes e nome do objeto. O campo de espaço de nomes determina qual esquema está sendo utilizado.
A interface StpLocation fornece métodos para analisar uma especificação de local em suas partes constituintes. Utilizando os métodos disponíveis, os clientes do Rational CM API podem examinar as especificações de locais fornecidas pelo usuário para determinar se elas são apropriadas para o contexto no qual estão sendo utilizadas. Com base nessa análise, um cliente pode fornecer as partes da especificação de local que o usuário omitirá se o contexto definir as partes ausentes sem ambigüidade.
O método StpProvider.stpLocation() facilita esse processo preenchendo um esquema de cadeia de local ausente a partir de seu parâmetro Namespace e preenchendo um repositório ausente a partir do repositório padrão identificado no Provedor pelo cliente. (Consulte o método StpProvider.setDefaultRepository nas informações de Javadoc.)
<domínio>.<espaço_de_nomes>:<nome_de_objeto>@<nome_do_repositório>No exemplo a seguir, o domínio padrão está implícito:
"fluxo:meufluxo@projetos"
A interface StpProvider inclui métodos para construir um StpLocation em formatos como, por exemplo, USER_FRIENDLY_LOCATION e STABLE_LOCATION com os métodos userFriendlySelector e stableSelector. A interface StpResource inclui os métodos getStableLocation e getUserFriendlyLocation que retornam os valores para as propriedades STABLE_LOCATION e USER_FRIENDLY_LOCATION definidas pelo proxy. Se o cliente precisar de um local em um formato específico, será necessário solicitar a propriedade de recurso que corresponda à do formato e não utilizar StpLocation.stpLocation().