view rep/Translator.java @ 382:4b87f89b3afd

REP Session Manager (Java version) new structure
author one@firefly.cr.ie.u-ryukyu.ac.jp
date Mon, 10 Nov 2008 22:07:45 +0900
parents
children
line wrap: on
line source

package rep;

import rep.handler.REPNode;

public interface Translator {

	/*
	 * Interface で分離する意味が良くわからない。Application毎に
	 * Transltorを換えるつもりなのか?
	 */
	/**
	 * Translate command When the editor send REPCommand to remote editor.
	 * @param command which the editor want to send.
	 * @return translated command which should be sent by the editor.
	 */
	public REPCommand transSendCmd(REPCommand cmd);

	/**
	 * Inform translater about that the editor receive own command which it sent.
	 * but in this case, you can use also transReceiveCmd()
	 * @param command which the editor sent.
	 */
	public boolean catchOwnCommand(REPNode editor);
	
	/**
	 * Translate Command cmd that was received from SeMa.
	 * @param cmd the command to be translated.
	 * @return translated command.
	 */
	public void transReceiveCmd(REPNode next,REPCommand cmd);

	/**
	 * set the editor's id.
	 * @param editor's id.
	 */
	public void setEid(int _eid);

	boolean checkMergeConflict(REPCommand command);

	public void getMergeAgain(REPNode editor);

	public void startMerge(REPCommand cmd);

	public boolean isMerging();

	public void mergeAck();
}