view src/alice/datasegment/CommandType.java @ 202:7f47231ef509 working

add new flip API
author sugi
date Mon, 25 Mar 2013 17:46:07 +0900
parents 4475ba30238f
children a8255a831ade
line wrap: on
line source

package alice.datasegment;

import java.util.HashMap;

public enum CommandType {
	PUT,
	UPDATE, // remove a DataSegment value and put
	PEEK,
	TAKE,
	REMOVE,
	REPLY,
	CLOSE,
	FINISH;
	
	public int id;
	public static HashMap<Integer, CommandType> hash = new HashMap<Integer, CommandType>();
	private static int lastId = 0;
	
	private CommandType(int id) {
		this.id = id;
		setLastId(id);
	}
	
	private CommandType() {
		this.id = incrementLastId();
	}
	
	private void setLastId(int id) {
		lastId =id;
	}
	
	private int incrementLastId() {
		return ++lastId;
	}
	
	public static CommandType getCommandTypeFromId(int id) {
		return hash.get(id);
	}
	
	static {
		for (CommandType type : CommandType.values()) {
			hash.put(type.id, type);
		}
	}
	
}