Index: topia/doc/Fonctionnement.rst diff -u topia/doc/Fonctionnement.rst:1.4 topia/doc/Fonctionnement.rst:1.5 --- topia/doc/Fonctionnement.rst:1.4 Thu Aug 4 20:59:30 2005 +++ topia/doc/Fonctionnement.rst Thu Aug 11 16:35:41 2005 @@ -295,11 +295,26 @@ ========== Il y a 3 types d'event, ajout, modification, suppression. Un objet voulant -recevoir ses events doit implanter **TopiaEntityListener**. Il peut alors s'enregistrer soit sur un **TopiaPersistenceService**, soit sur un **TopiaContext** dans ce cas, il sera prevenu de toutes les modifications de tous les **TopiaPersistenceService**. +recevoir ses events doit implanter **TopiaEntityListener**. Il peut alors +s'enregistrer soit sur un **TopiaPersistenceService**, soit sur un +**TopiaContext** dans ce cas, il sera prevenu de toutes les modifications de +tous les **TopiaPersistenceService**. -Un **CategorisedListenerSet** est utilisé dans les contexts pour garder la trace des listeners, chaque **TopiaPersistenceService** est enregistre comme categorie avec la classe de l'objet gere par le **TopiaPersistenceService**. De cette facon durant toutes une transaction le context peut conserver tous les events et si l'on commit les faire suivre à son context pere en conservant bien la categorie a prevenir, ce qui est possible car la categorie est une classe et non pas une instance de **TopiaPersistenceService**, ce qui fait que tous les **CategorisedListenerSet** de tous les contexts ont les memes categories. Pour homogénéisé, le context qui est pere des autres categorie est lui aussi enregistrer avec sa classe. +Un **CategorisedListenerSet** est utilisé dans les contexts pour garder la +trace des listeners, chaque **TopiaPersistenceService** est enregistre comme +categorie avec la classe de l'objet gere par le **TopiaPersistenceService**. De +cette facon durant toutes une transaction le context peut conserver tous les +events et si l'on commit les faire suivre à son context pere en conservant bien +la categorie a prevenir, ce qui est possible car la categorie est une classe et +non pas une instance de **TopiaPersistenceService**, ce qui fait que tous les +**CategorisedListenerSet** de tous les contexts ont les memes categories. Pour +homogénéisé, le context qui est pere des autres categorie est lui aussi +enregistrer avec sa classe. -On utilise la classe du **TopiaEntity** et non pas du **TopiaPersistenceService**, car sinon la propagation a plus d'un niveau de transaction n'est pas possible, car on perdrait la categorie, alors que la il suffit de prendre une des entités de l'event pour retrouver la bonne catégorie. +On utilise la classe du **TopiaEntity** et non pas du +**TopiaPersistenceService**, car sinon la propagation a plus d'un niveau de +transaction n'est pas possible, car on perdrait la categorie, alors que la il +suffit de prendre une des entités de l'event pour retrouver la bonne catégorie. Distribution ============