Objetos de Sessão

Existem oito objetos de nível de sessão:

Haverá apenas uma cópia de qualquer objeto especificado (com base na identidade exclusiva) na sessão. Todas as referências apontarão para a cópia exclusiva. Para cada objeto de sessão, existem métodos para buscar um objeto de sessão por nome, ID do banco de dados, URI ou procura. Objetos de sessão também podem ser buscados chamando getters que fazem referência a eles a partir de outros objetos. Por exemplo, dado um RAMAsset que tem um ID do proprietário kjones, chamar getOwner() no objeto buscará o objeto RAMUser de kjones na sessão se ainda não foi feito isso.

Existem duas maneiras de confirmar alterações feitas em objetos de sessão. A API RAMSession.putAssets(IProgressMonitor) confirmará todas as alterações feitas localmente em seus objetos de recurso enfileirados. RAMSession.put(IRAMSessionObject, IProgressMonitor) permite confirmar as alterações em um único sessionObject.

Existem métodos na RAMSession para criar novas instâncias de qualquer objeto de sessão. Após chamar um método de criação, preencha o objeto e confirme as alterações para ele a fim de criar o objeto no servidor. Consulte Criar um Novo Recurso, Criar uma Nova Comunidade, Criar um Novo Tipo de Recurso, Criar Novo Esquema de Categoria, Criar um Novo Atributo de Recurso e Registrar um Usuário.

Quando os objetos de sessão forem excluídos do servidor, o método RAMSessionObject.setAction(RAMAction.DELETE) marca o objeto de sessão para exclusão e o método RAMSession.put() o exclui. Consulte Excluir um Recurso, Excluir uma Comunidade, Excluir um Tipo de Recurso, Excluir um Esquema de Categoria, Excluir um Tipo de Relacionamento, Excluir um Atributo de Recurso. Usuários não podem ser excluídos a partir do servidor.

Para remover um objeto a partir do cache de sessão e descartar qualquer alteração para ele, utilize a API do RAMSession.remove(IRAMSessionObject).

Nota: O objeto RAMSession não é thread-safe e você deve assegurar a segurança do encadeamento. Após chamar o método RAMSession.release() o objeto RAMSession não deve ser reutilizado.

Feedback