Syntaxe de l'emplacement

Chaque ressource possède un emplacement, qui identifie de manière unique la ressource à un moment donné. Pour une ressource basée sur fichier, l'emplacement est exprimé sous forme de nom de chemin de fichier. Pour une ressource côté serveur, l'emplacement contient les informations nécessaires afin de trouver l'objet (par exemple un ID de base de données dans un VOB).

L'emplacement de la ressource est requis lors de la lecture ou de la modification du contenu d'une ressource ou de la modification des propriétés sur un serveur.

Objets emplacement :

L'objet StpLocation représente une adresse de ressource ; en tant que tel, il peut être utilisé pour créer un proxy de ressource (à l'aide d'une des méthode de fabrication de proxy de ressource du Fournisseur). En règle générale, le proxy de ressource créé à partir d'un emplacement doit être du même type que la ressource dont l'adresse est donnée par l'emplacement. Cependant, le type de ressource dont l'adresse est donnée par un emplacement ne peut pas toujours être déterminée uniquement à partir de la spécification de l'adresse. Par conséquent, cette règle ne peut pas toujours être appliquée au moment de la création du proxy.

Toutes les ressources ont une forme stable d'emplacement qui peut être utilisé afin de stocker les identités des ressources sur le client entre les sessions du client. Cet emplacement stable peut ne pas être l'emplacement utilisé pour créer la ressource. Le serveur crée cet emplacement stable pour l'utilisateur au moment de la création de la ressource ; cet emplacement est toujours disponible en tant que propriété permanente de la ressource. L'objet StpLocation fournit des méthodes pour obtenir la représentation de la chaîne d'un emplacement et pour analyser syntaxiquement cette chaîne dans un emplacement.

Une instance StpLocation représente une spécification d'emplacement qui a été syntaxiquement analysée dans des zones de composant. Un certain nombre de formats ou plans différents sont utilisés pour exprimer l'emplacement de plusieurs ressources en tant que chaîne. Ces plans consistent en une ou plusieurs des zones suivantes : domaine, nom de référentiel, espace de nom, et nom d'objet. La zone espace de nom détermine le plan qui doit être utilisé.

L'interface StpLocation propose des méthodes pour analyser syntaxiquement une spécification d'emplacement en ses parties constituantes. A l'aide des méthodes disponibles, les clients de l'APICM Rational peuvent examiner les spécifications d'emplacement fournies par l'utilisateur afin de déterminer si elles sont appropriées pour le contexte dans lequel elles sont utilisées. Sur la base de cette analyse, un client peut fournir les parties de la spécification d'emplacement que l'utilisateur omet si le contexte définit ces parties manquantes de manière non équivoque.

La méthode StpProvider.stpLocation() facilite ce processus en remplissant un plan de chaîne d'emplacement manquant à partir de son paramètre Espace de nom dans un référentiel manquant depuis le référentiel par défaut identifié auprès du Fournisseur par le client. (Voir la méthode StpProvider.setDefaultRepository dans les informations Javadoc.)

Pour les opérations qui exigent un artefact de système de fichier spécifié par l'utilisateur, un nom de chemin de système de fichier dans une zone de fichier d'espace de travail est suffisant. Pour les opérations qui exigent un autre type d'objet spécifié par l'utilisateur (tels qu'une activité, un projet ou un enregistrement), utilisez une syntaxe qui précise la forme générale, entièrement spécifiée, d'une chaîne d'emplacement qui identifie un objet par son nom :
<domaine>.<espace de nom>:<nom d'objet>@<nom de référentiel>
Dans l'exemple suivant, le domaine par défaut est implicite :
"stream:mystream@projects" 
Le logiciel qui comprend les spécifications d'emplacement peut autoriser l'omssion de plusieurs zones. Par exemple :

L'interface StpProvider comprend les méthodes de création d'un StpLocation dans des formats tels que USER_FRIENDLY_LOCATION et STABLE_LOCATION avec les méthodes userFriendlySelector et stableSelector. L'interface StpResource comprend les méthodes getStableLocation et getUserFriendlyLocation qui renvoient les valeurs pour les propriétés STABLE_LOCATION et USER_FRIENDLY_LOCATION définies par le proxy. Si le client a besoin d'un emplacement sous un format spécifique, il doit demander la propriété de ressource correspondant à ce format et ne pas utiliser StpLocation.stpLocation().


Commentaires