Propriétés dérivées utilisant des scripts

La classe de dérivée Script permet aux propriétés dérivées d'utiliser des scripts dynamiques. Les propriétés dérivées utilisant des scripts sont disponibles pour les versions, les hiérarchies et les noeuds.

Tableau 12-1 Descriptions des niveaux de propriété

Niveau de propriété Paramètre Objet

Version

version

VersionObject

Hiérarchie

hiérarchie

HierarchyObject

Noeud global

noeud

NodeObject

Noeud local

noeud

LocalNodeObject

Pour plus d'informations, reportez-vous à :

Propriétés dérivées du noeud

Dans ce contexte, un paramètre appelé noeud vous est transmis. Pour les propriétés globales, le noeud est un objet NodeObject. Pour les propriétés locales, il s'agit d'un objet LocalNodeObject. Un script pour une propriété dérivée doit renvoyer une valeur et la valeur doit être appropriée au type de données de la propriété en cours d'évaluation ou d'exécution. Si la valeur renvoyée par un script ne correspond pas au type de données de la propriété, elle sera convertie de manière forcée : par exemple, une valeur NULL renvoyée pour une propriété de type Boolean sera traitée comme False.

Remarque :

Les types de données de propriété Oracle Data Relationship Management n'ont pas toutes une représentation JavaScript. Reportez-vous à Conversions de type de données.

Propriétés de version et de hiérarchie

Dans ce contexte, vous utilisez un paramètre de version faisant référence à un objet VersionObject ou un paramètre de hiérarchie faisant référence à un objet HierObject. Lorsque vous définissez vos scripts, une version peut ne pas être chargée lorsque le script est évalué ou exécuté. Si une propriété dérivée de version ou de hiérarchie n'accède qu'à d'autres propriétés de niveau version et hiérarchie, la propriété est calculée quel que soit le statut de chargement de la version. Si une propriété dérivée de version ou de hiérarchie tente d'accéder aux informations de niveau noeud, la version doit être chargée ou le calcul de la propriété produira une valeur d'erreur. Par exemple, si une propriété de niveau version tente d'obtenir la liste des orphelins, elle produira une valeur d'erreur si la version n'est pas chargée ; une fois la version chargée, cette même propriété produira la valeur correcte.