Ressourcen haben Eigenschaften. Jede Eigenschaft hat einen Namen, einen Typ und einen Wert. Darüber hinaus können ihr Metaeigenschaften zugeordnet sein (z. B. ein Wert, eine Größe oder eine Angabe zu ihrer Gültigkeit). Der Wert einer Eigenschaft hat einen bestimmten Typ. Er kann beispielsweise eine ganze Zahl, eine Zeichenfolge, ein Datum, eine Uhrzeit oder eine Ressourcenreferenz sein. Der Eigenschaftstyp hängt vom Eigenschaftsnamen und von der Ressourcenklasse ab. Der Name einer Eigenschaft wird in der Rational CM API von einem PropertyNameList.PropertyName-Objekt repräsentiert. PropertyNameList.PropertyName ist ein Typ mit Parameterangabe, und der Parameter gibt den Typ des Wertes der Eigenschaft an. Einige Eigenschaften werden vom WVCM definiert, andere von der Rational CM API als einer Erweiterung zum WVCM. Es gibt auch vom Server und von der Clientanwendung definierte Eigenschaften.
Metaeigenschaften sind in der Rational CM API durch ein MetaPropertyName-Objekt gekennzeichnet. Mit MetaPropertyName kann auf eine Metaeigenschaft einer Eigenschaft zugegriffen werden, nachdem die Eigenschaft vom Server gelesen wurde. MetaPropertyNames sind in der Klasse StpProperty und ihren Unterklassen definiert. Metaeigenschaften haben ebenfalls eine Parameterangabe, und der Parameter gibt den Typ des Wertes der Metaeigenschaft an.
Die Metaeigenschaften PROPERTY_NAME und VALUE einer Eigenschaft werden klar unterschieden. Der Wert PROPERTY_NAME wird verwendet, um die Eigenschaft anzufordern und um auf die Eigenschaft und ihre Metaeigenschaften zuzugreifen. Der Wert VALUE ist die angeforderte Metaeigenschaft, wenn in der Anforderung nur der Eigenschaftsname verwendet wird.
Eigenschaftsnamen werden von jedem Ressourcentyp, der von den einzelnen CM-API-Proxyinterfaces definiert ist, als eine Reihe von Feldern des Typs PropertyName verstanden. Diese PropertyName-Objekte werden verwendet, um Eigenschaften vom Server anzufordern und anschließend auf die Eigenschaftswerte zuzugreifen. Der Name jedes PropertyName-Feldes in der Rational CM API ist ein aus Großbuchstaben bestehender Bezeichner, dessen Worte durch Unterstreichungszeichen voneinander getrennt sind (z. B. CONTENT_LENGTH).
Beispiele für Eigenschaftsnamen sind Resource.COMMENT, Resource.DISPLAY_NAME, Resource.CREATION_DATE und Resource.CONTENT_LENGTH. Eigenschaftsnamen sind in der Klasse Resource und ihren Unterklassen definiert. In einer Klasse definierte Eigenschaften sind für die Klasse und alle ihre Unterklassen adäquat. Die Klasse CqQuery enthält beispielsweise die Eigenschaftsnamen CqQuery.DISPLAY_FIELDS, CqQuery.DYNAMIC_FILTERS, CqQuery.USER_FRIENDLY_LOCATION und CqQuery.STABLE_LOCATION, wobei die beiden letzten Eigenschaften von der Klasse StpResource übernommen sind. Jede Ressourcenproxyunterklasse definiert PropertyName-Felder, die die Eigenschaften, die Ressourcen des vom Proxy repräsentierten Typs zugeordnet sind, benennen und identifizieren.
Weitere Informationen hierzu finden Sie im Artikel Zusätzliche Ressourceneigenschaften.