//(c): Tuomas J. Lukka and Matti Katila package org.fenfire.modules.pp; //import java.util.*; import java.io.IOException; import java.rmi.RemoteException; import java.rmi.Remote; /** The interface which is able to perform the actions required * by the PP client. This is used over RMI in the multiple-screens * scenario. */ public interface PPActions extends Remote { /** Create a new paper. */ String newPaper() throws RemoteException; void deletePaper(String paperURI) throws RemoteException; /** Create a new note and optionally place some text into it. * @param text (Optional, may be null) The text to be placed * in the new note. This parameter is given so that * creating a note and placing the first character * may be done atomically. */ String newNote(String paperURI, int x, int y, String text) throws RemoteException; void moveNote(String noteURI, int x, int y) throws RemoteException; void deleteNote(String noteURI) throws RemoteException; /** Create an association between two notes. * When creating an association, the text in the main note * is erased. * @param noteURI The id of the main note * @param side -1 or 1; the side to make the association on * @param assocURI The id of the note to be associated. */ void assocNotes(String noteURI, int side, String assocURI) throws RemoteException; void detachNotes(String noteURI, int side, String assocURI) throws RemoteException; void insertText(String noteURI, int offs, String text) throws RemoteException; void deleteText(String noteURI, int begin, int end) throws RemoteException; }