001package systems.dmx.core.model; 002 003import systems.dmx.core.JSONEnabled; 004 005 006 007public interface RoleModel extends JSONEnabled, Cloneable { 008 009 long getPlayerId(); 010 011 String getRoleTypeUri(); 012 013 // --- 014 015 // ### TODO: to be dropped? 016 void setPlayerId(long playerId); 017 018 void setRoleTypeUri(String roleTypeUri); 019 020 // --- 021 022 /** 023 * Checks weather the given role model refers to the same object as this role model. 024 * In case of a topic role model the topic IDs resp. URIs are compared. 025 * In case of an association role model the association IDs are compared. 026 * Note: the role types are not compared. 027 * 028 * @return true if the given role model refers to the same object as this role model. 029 */ 030 boolean refsSameObject(RoleModel model); 031 032 // --- 033 034 RoleModel clone(); 035}