세션 오브젝트

다음과 같은 8개의 세션 레벨 오브젝트가 있습니다.

세션에서는 오브젝트의 사본을 한 부만 제공합니다(고유 ID 기준). 모든 참조는 단일 사본을 지칭합니다. 각 세션 오브젝트에 대해 이름, 데이터베이스 ID, URI 또는 검색별로 세션 오브젝트를 페치하는 방법이 있습니다. 다른 오브젝트에서 세션 오브젝트를 참조하는 Getter를 호출하여 세션 오브젝트를 페치할 수도 있습니다. 예를 들어, 오브젝트에서 getOwner()를 호출하는, 소유자 ID가 kjones인 RAMAsset는 아직 페치하지 않은 경우 세션에 kjones RAMUser 오브젝트를 페치합니다.

세션 오브젝트에 대한 변경사항을 커미트하는 메소드는 두 가지입니다. RAMSession.putAssets(IProgressMonitor) API는 큐에 있는 자산 오브젝트에 대해 로컬로 수행된 모든 변경사항을 커미트합니다. RAMSession.put(IRAMSessionObject, IProgressMonitor)을 사용하면 단일 세션 오브젝트에 대한 변경사항을 커미트할 수 있습니다.

세션 오브젝트의 새 인스턴스를 작성하는 RAMSession에 대한 메소드가 있습니다. create 메소드를 호출한 후, 오브젝트를 채우고 해당 변경사항을 커미트하여 서버에서 오브젝트를 작성하십시오. 새 자산 작성, 새 커뮤니티 작성, 새 자산 유형 작성, 새 카테고리 스키마 작성, 새 자산 속성 작성사용자 등록의 내용을 참조하십시오.

서버에서 세션 오브젝트가 삭제되면 RAMSessionObject.setAction(RAMAction.DELETE) 메소드가 세션 오브젝트를 삭제로 표시하고 RAMSession.put() 메소드가 삭제합니다. 자산 삭제, 커뮤니티 삭제, 자산 유형 삭제, 카테고리 스키마 삭제, 관계 유형 삭제, 자산 속성 삭제의 내용을 참조하십시오. 서버에서 사용자를 삭제할 수 없습니다.

세션 캐시에서 오브젝트를 제거하고 변경사항을 버리려면 RAMSession.remove(IRAMSessionObject) API를 사용하십시오.

참고: RAMSession 오브젝트는 스레드 안전이 아니므로 스레드 안전을 확인해야 합니다. RAMSession.release() 메소드를 호출한 후에는 RAMSession 오브젝트를 재사용하지 않아야 합니다.

피드백