Objets de la session

Il y a huit objets de niveau session :

Dans la session, il ne peut exister qu'un seul exemplaire de chaque objet (associé à une identité unique). Toutes les références pointent sur cet exemplaire unique. Pour chaque objet de la session, des méthodes sont disponibles afin de permettre l'extraction d'une instance par nom, par ID de base de données, par URI ou par recherche. Les objets de la session peuvent également être extraits en appelant des méthodes get qui y font référence depuis d'autres objets. Par exemple, soit un objet RAMAsset dont l'attribut ownerid (ID de propriétaire) est jsatriani. Un appel à la méthode getOwner() sur cet objet aura pour effet d'extraire l'objet RAMUser jsatriani dans la session si cela n'a pas déjà été fait.

Il existe deux manières de valider les changements opérés dans des objets de la session. La méthode RAMSession.putAssets(IProgressMonitor) valide tous les changements apportés localement aux objets d'actif en file d'attente. La méthode RAMSession.put(IRAMSessionObject, IProgressMonitor) permet quant à elle de valider les changements apportés dans un objet de la session (sessionObject) particulier.

La classe RAMSession fournit des méthodes pour créer de nouvelles instances de l'un quelconque des objets de session. Après avoir appelé une méthode create, peuplez l'objet et validez les changements que vous lui apportez afin de le créer sur le serveur. Voir Créer un nouvel actif, Créer une nouvelle communauté, Créer un nouveau type d'actif, Créer un nouveau schéma de catégories, Créer un nouvel attribut d'actif et Enregistrer un utilisateur.

Lorsque des objets de la session sont supprimés du serveur, la méthode RAMSessionObject.setAction(RAMAction.DELETE) les marque comme à supprimer, puis la méthode RAMSession.put() les supprime. Voir Supprimer un actif, Supprimer une communauté, Supprimer un type d'actif, Supprimer un schéma de catégories, Supprimer un type de relation, Supprimer un attribut d'actif. Les utilisateurs ne peuvent pas être supprimés du serveur.

Pour supprimer un objet du cache de la session et annuler tous les changements qui lui ont été apportés, utilisez la méthode RAMSession.remove(IRAMSessionObject).

Remarque : L'objet RAMSession n'autorise pas les unités d'exécution multiples. Vous devez assurer les unités d'exécution multiples par vous-même. Après l'appel de la méthode RAMSession.release(), l'objet RAMSession ne doit pas être réutilisé.

Commentaires