Les ressources peuvent avoir des propriétés qui détiennent des informations d'état définies par votre outil. Ces propriétés sont déclarées, accédées et gérées par divers plug-ins et ne sont pas interprétées par la plateforme. Lorsqu'une ressource est supprimée de l'espace de travail, ses propriétés le sont également.
Il existe deux types de propriétés de ressources :
Les propriétés de session permettent aux plug-ins de mettre en cache les informations sous forme de paires clé-valeur. Les valeurs sont des objets arbitraires. Ces propriétés sont gérées en mémoire et perdues lorsqu'une ressource est supprimée de l'espace de travail ou lorsque le projet ou l'espace de travail est fermé.
Les propriétés persistantes sont utilisées pour stocker sur le disque des informations spécifiques aux ressources. La valeur d'une telle propriété est une chaîne arbitraire. Votre plug-in décide comment interpréter la chaîne. Les chaînes doivent être courtes (moins de 2 Ko). Les propriétés persistantes sont stockées sur le disque avec les méta-données de la plateforme et gérées selon les arrêts et les redémarrages de la plateforme.
Remarque : Si vous disposez de grandes propriétés persistantes, vous devez les exposer comme ressources seules plutôt qu'avec leur API.
Remarque : Si vous respectez les conventions de qualification des noms clés de propriétés avec l'ID unique de votre plug-in, vous n'avez pas à vous soucier du risque de collision des noms de propriétés avec ceux des autres plug-ins.
IResource fournit un protocole (getSessionProperty, setSessionProperty, getPersistentProperty, setPersistentProperty) pour l'utilisation des propriétés.