Syntaxe des objets complexes ou "lourds"
Essai 1
Syntaxe de map complétée (version actuelle partiellement fonctionnelle) :
{(Class):args:args...}
Essai 2
Syntaxe par parenthèses et | intermédiaire.
Constructeur vide, sans paramétrage secondaire :
(className)
Constructeur vide, paramétrage secondaire :
(className|field1:val1, field2:val2, field3:val3, ... fieldn:valn)
Constructuer avec arguments, paramétrages secondaire :
(className:arg1,arg2,arg3,...argn|field1:val1, field2:val2, field3:val3, ... fieldn:valn)
Arguments
- les arguments sont des nodes xio
- le nombre d'arguments est indéfini et peut être nul
Paramètrage secondaire
Le paramétrage secondaire consiste à définir la valeur des champs de l'objet après son instanciation.
- les paramètres sont des nodes xio
- le nombre de paramètres est indéfini et peut être nul
Nom de classe
className
Il détermine la classe de l'objet utilisée pour son instanciation. Le package de l'objet n'est pas nécessaire si on l'a enregistrer auparavant :
XIO.registerClass(class) ou XIO.registerClass(className, class)
Il peut cependant être intégré dans le nom de la classe ou alors dans le header h_Pwx.xvoe.maps.grid.Grid.
A noter que la classe d'origine n'est pas forcément celle utilisée lors de la désérialisation.