Le 09/03/2011 17:42, Eric Chatellier a écrit :
Solution 1 ----------
Ajout d'un tagValue pour que les entités générées hérite de "TopiaEntityContextable" (qui elle même hérite de TopiaEntity).
Cette interface contient les méthodes : - getTopiaContext() - update() - delete()
Potentiellement un problème sur les l'utilisation de TopiaEntity ou TopiaEntityContextable dans les DAO, etc...
Après discussion ce soir, nous partirons sur cette solution (1). Elle consistera donc à ajouter le support d'un tagValue qui indique que l'entité sera "Contextable". Dans le code, cela se traduira par le fait que l'entité générée implantera une interface "TopiaEntityContextable". Cette interface contiendra les méthodes suivantes : - ... getTopiaContext() - setTopiaContext(...) - update() Le TopiaContext contenu dans l'entité (encore aujourd'hui), doit être transient afin d'éviter tout comportement intrusif. Au chargement de l'entité, le TopiaContextImpl devra s'enregistrer dans l'entité : entity.setTopiaContext(this) Cette solution est choisie car elle permet d'avoir d'aller vers un consensus : chacun peut y trouver son compte (approche pure POJO vs approche objet) Le cas où l'entité est "Contextable" est un cas particulier, le cas par défaut restant l'approche POJO. Nous avons convenu que si l'implémentation de cette solution introduisait trop de complexité/changements, elle serait revue. Une feature request a été créée pour suivre l'évolution de cette demande : http://nuiton.org/issues/show/1391 Arnaud. -- Société Code Lutin http://www.codelutin.com tel : 02 40 50 29 28 fax : 09 59 92 29 28