Les ressources ont des propriétés. Chaque propriété possède un nom, un type, et une valeur ; d'autres méta-propriétés peuvent lui être associées (telles que sa valeur, sa taille ou une indication de sa validité). La valeur d'une propriété est d'un type spécifique, tel qu'un nombre entier, une chaîne, une date, une heure, ou une référence à la ressource. Le type de propriété dépend du nom de la propriété et de la classe de la ressource. Le nom d'une propriété est représenté dans l'API CM Rational par un objet PropertyNameList.PropertyName. PropertyNameList.PropertyName est un type paramétré, dans lequel le paramètre spécifie le type de valeur de la propriété. Certaines propriétés sont définies par WVCM, d'autres sont définies par l'API CM Rational en tant qu'extensions de WVCM, et d'autres encore peuvent être définies par le serveur et l'application client.
Dans l'API CM Rational, les méta-propriétés sont identifiées par un objet MetaPropertyName. Le MetaPropertyName peut être utilisé pour accéder à une méta-propriété d'une propriété après qu'elle a été lue sur le serveur. Les MetaPropertyNames sont définis dans la classe StpProperty et ses sous-classes. Elles sont également paramétrées avec le type de valeur de la méta-propriété.
Les méta-propriétés PROPERTY_NAME et VALUE d'une propriété sont des méta-propriétés distinctives. La valeur PROPERTY_NAME est utilisée pour demander et accéder à la propriété et l'une quelconque de ses méta-propriétés. La VALUE est la méta-propriété demandée si seul le nom de propriété est utilisé dans la requête.
L'ensemble des noms de propriété compris par chaque type de ressource défini par chaque interface de proxy de l'API CM est une série de zones du type PropertyName. Ces objets PropertyName sont utilisés pour demander les propriétés auprès du serveur et pour accéder aux valeurs de propriété dès qu'elles ont été obtenues du serveur. Le nom de chaque zone PropertyName définie dans l'API CM Rational est un identifiant en majuscules dans lequel les mots sont séparés par des traits de soulignement (par exemple, CONTENT_LENGTH).
Resource.COMMENT, Resource.DISPLAY_NAME, Resource.CREATION_DATE, et Resource.CONTENT_LENGTH sont des exemples de noms de propriété. Les noms de propriété sont définis dans la classe Resource et ses sous-classes. Les propriétés définies dans une classe sont adaptées à la classe et à la totalité de ses sous-classes. Par exemple, la classe CqQuery a les noms de propriété CqQuery.DISPLAY_FIELDS, CqQuery.DYNAMIC_FILTERS, CqQuery.USER_FRIENDLY_LOCATION, et CqQuery.STABLE_LOCATION, les deux dernières propriétés ayant été héritées de la classe StpResource. Chaque sous-classe du proxy Ressource définit les zones PropertyName qui nomment et identifient les propriétés associées aux ressources du type représenté par le proxy.
Pour plus d'informations, consultez Propriétés de ressource supplémentaires.