001package systems.dmx.core.model; 002 003import systems.dmx.core.Identifiable; 004import systems.dmx.core.JSONEnabled; 005 006 007 008public interface DMXObjectModel extends Identifiable, JSONEnabled, Cloneable { 009 010 // --- ID --- 011 012 long getId(); 013 014 void setId(long id); 015 016 // --- URI --- 017 018 String getUri(); 019 020 void setUri(String uri); 021 022 // --- Type URI --- 023 024 String getTypeUri(); 025 026 void setTypeUri(String typeUri); 027 028 // --- Simple Value --- 029 030 SimpleValue getSimpleValue(); 031 032 // --- 033 034 void setSimpleValue(String value); 035 036 void setSimpleValue(int value); 037 038 void setSimpleValue(long value); 039 040 void setSimpleValue(boolean value); 041 042 void setSimpleValue(SimpleValue value); 043 044 // --- Child Topics --- 045 046 ChildTopicsModel getChildTopicsModel(); 047 048 void setChildTopicsModel(ChildTopicsModel childTopics); 049 050 // --- misc --- 051 052 void set(DMXObjectModel object); 053 054 // --- 055 056 RoleModel createRoleModel(String roleTypeUri); 057 058 059 060 // === Java API === 061 062 DMXObjectModel clone(); 063}