view rep/EditorList.java @ 358:034acadc0cdc

*** empty log message ***
author kono
date Sun, 19 Oct 2008 16:54:37 +0900
parents b18c24dcc5d2
children 65c6d12a5835
line wrap: on
line source

package rep;

import java.util.HashMap;

public class EditorList extends HashMap<Integer,Editor> {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private int eid_root=0;
	private HashMap<Integer,Editor> waiting= new HashMap<Integer,Editor>();


	public void addWaitingEditor(Editor fw) {
		waiting.put(fw.getEID(),fw);
	}
	
	public void add(Editor fw) {
		put(fw.getEID(),fw);
	}

	public void assignSessionManagerIDtoWaitingSM(int eid) {
		// 待っていたEditorを登録する。
		// に登録する。この後、EditorのPUT/JOINに従って、ACKを送り、EID
		// を確定する。
		Editor waiter;
		if ((waiter=waiting.remove(eid))!=null) {
			put(eid,waiter);
			return;
		}
		assert false;
	}


	public int newEid() {
		return ++eid_root;
	}


	public boolean waiting(Editor editor) {
		return waiting.containsKey(editor.getEID());
	}


	public boolean hasEid(int eid) {
		return containsKey(eid);
	}


}