nom C++ symbole de classe nom de classe classe des éléments classes des composants StateAvailabilityConstraint STATE_AVAILABILITY_CONSTRAINT stateAvailabilityConstraint Descripteurs :
type classe, symbole, nom v. par défaut C DescValueSpecTab* StateDomain STATE_DOMAIN stateDomain tableau vide conjonction de domaines de valeurs Méthodes :
- StateRelatedPredicate renvoie vrai dans toutes les situations dans lesquelles la contrainte est jugée satisfaite.
type classe, symbole, nom corps par défaut classes des arguments Entity* StateRelatedPredicate STATE_RELATED_PREDICATE stateRelatedPredicate gAlwaysTrue Une telle contrainte est une des valeurs du descripteur StateAvailabilityAttribute de la ressource. Elle est spécifiée de deux manières complémentaires :
- en surchargeant le corps de sa méthode StateRelatedPredicate, avec une fonction qui fait une partition entre les situations nécessaires de satisfaction et de non-satisfaction ;
- par une liste d'instances de DescValueSpec (plus exactement par des instances d'une de ses spécialisations liées au type de descripteur en jeu : INT, FLOAT, ). En effet, l'état de la ressource est vu ici au travers de certains de ses descripteurs, et la disponibilité requiert que leurs valeurs soient, chacune, dans un certain domaine.
Cette liste d'instances est placée comme valeur du descripteur StateDomain de la contrainte.En l'absence de valeur pour StateDomain, le prédicat StateRelatedPredicate décide seul de la satisfaction. Si le prédicat n'est pas surchargé, la contrainte est vérifiée par la ressource si toutes les invocations du service IsInDomain sur les différentes instances de DescValueSpec renvoient vrai. En présence des deux spécifications, la conjonction de leur satisfaction est nécessaire.