package org.swellrt.beta.model; import org.waveprotocol.wave.model.wave.InvalidParticipantAddress; import jsinterop.annotations.JsFunction; import jsinterop.annotations.JsType; @JsType(namespace = "swellrt", name = "Object") public interface SObject extends SMap { @JsFunction public interface StatusHandler { void exec(SStatusEvent e); } /** * @return the global id of this object. Null for local objects. */ public String getId(); /** * Adds a participant. * @param participantId * @throws InvalidParticipantAddress */ public void addParticipant(String participantId) throws InvalidParticipantAddress; /** * Removes a participant. * @param participantId * @throws InvalidParticipantAddress */ public void removeParticipant(String participantId) throws InvalidParticipantAddress; /** * @return static array of current participants of this object. */ public String[] getParticipants(); /** Make this object to be public to any user */ public void setPublic(boolean isPublic); /** @return root map of the user's private area */ public SMap getPrivateArea(); /** * GWT only * <p> * Returns a JavaScript proxy providing a pure JavaScript view * of the object */ public Object asNative(); /** * Register a status handler for this object. * * @param h */ public void setStatusHandler(StatusHandler h); /** * Debug only. Return list of blips. * * @return */ public String[] _debug_getBlipList(); /** * Debug only. Return blip content. * * @return */ public String _debug_getBlip(String blipId); }