5.5. C-types et Valeurs

Les différents C-types du module de types acceptent chacun des valeurs bien spécifiques. En effet, pour qu'un objet soit considéré comme valide pour un C-type, voire un δ-type, donné il doit répondre à certaines règles. Les couples (C-types,Valeurs) sont donnés dans le tabeau qui suit:

Tableau 5-1. Valeurs admises pour les C-types de base

C-TypeType Java des Valeurs
integerjava.lang.Long
booleanjava.lang.Boolean
stringjava.lang.String
floatjava.lang.Double
ListCTjava.util.List
SetCTjava.util.Set
RecordCTarom.kr.util.Record

Avertissement

Pour les valeurs des C-types ListCT et SetCT, il est à noter que deux comportements sont possibles. Si l'on prend l'exemple d'une variable typée par ListCT

  • Lors de l'attribution d'une valeur à cette variable, l'utilisateur passe au système n'importe quelle valeur de type List. Une copie de cette liste est sauvegardée par le système. Ceci signifie que TOUTES modifications ultérieures ne seront PAS VISIBLES au niveau de la variable.

  • Par contre, lorsque l'utilisateur demande la valeur de cette variable au système celui-ci renvoie la liste elle-même. Par conséquent, TOUTES les modifications ultérieures réalisées sur cette liste seront VISIBLES au niveau de la variable.

Ces comportement sont également vrais pour les valeurs des types SetCT.