以下の 8 つのセッション・レベル・オブジェクトがあります。
セッション内のどのオブジェクトについても (固有 の ID に基づいて) コピーが 1 つのみ存在します。 すべての参照は、この単一コピーをポイントします。セッション・オブジェクトごとに、名前、データベース ID、URI、または検索によってセッション・オブジェクトを取り出すメソッドが存在します。 また、他のオブジェクトからセッション・オブジェクトを参照する getter を呼び出すことによっても、セッション・オブジェクトを取り出すことができます。 例えば、kjones という所有者 ID を持つ RAMAsset がある場合、オブジェクト で getOwner() を呼び出すことにより、まだ取り出されていない場合、kjones RAMUser オブジェクトがセッションに取り出されます。
セッション・オブジェクトに行われた変更をコミットする方法は、2 とおりあります。 RAMSession.putAssets(IProgressMonitor) API は、キューに入れられたアセット・オブジェクトに対してローカルで行われたすべての変更をコミットします。 RAMSession.put(IRAMSessionObject, IProgressMonitor) では、単一のセッション・オブジェクトに対する変更をコミットできます。
RAMSession には、任意のセッション・オブジェクトの新規インスタンスを作成するためのメソッドがあります。 create メソッドを呼び出した後、サーバー上でオブジェクトを作成するために、オブジェクトを取り込んで、それに対して行った変更をコミットします。 『アセットの新規作成』、 『コミュニティーの新規作成』、 『アセット・タイプの新規作成』、『カテゴリー・スキーマの新規作成』、『アセット属性の新規作成』、および 『ユーザーの登録』を参照してください。
セッション・オブジェクトがサーバーから削除される際は、RAMSessionObject.setAction(RAMAction.DELETE) メソッドによってセッション・オブジェクトに削除用のマークが付けられ、RAMSession.put() メソッドによってそのオブジェクトが削除されます。 『アセットの削除』、『コミュニティーの削除』 、『アセット・タイプの削除』、『カテゴリー・スキーマの削除』、『関係タイプの削除』、および『アセット属性の削除』を参照してください。ユーザーをサーバーから削除することはできません。
オブジェクトをセッションのキャッシュから削除し、そのオブジェクトに対するすべての変更を破棄するには 、RAMSession.remove(IRAMSessionObject) API を使用します。