view src/alice/test/dpp/model/Fork.java @ 9:247105822f8e

modified Fork.java
author one
date Sun, 25 Nov 2012 17:45:43 +0900
parents f7af6388adbb
children 60539f5d514e
line wrap: on
line source

package alice.test.dpp.model;

import org.msgpack.annotation.Message;

@Message
public class Fork {

	private final String forkName;
	private String owner;
	private State state;

	@Message
	public enum State {
		ON_THE_TABLE,
		IN_THE_HAND;
	}

	
	public Fork(String n) {
		forkName = n;
		owner = Table.TABLE;
		state = State.ON_THE_TABLE;
	}

	public State getState() {
		return state;
	}
	
	public String getForkName() {
		return forkName;
	}
	
	public boolean getFork(Philosophy phil) {
		if (state == State.ON_THE_TABLE){
			state = State.IN_THE_HAND;
			owner = phil.getName();
			return true;
		} else {
			return false;
		}
	}
	
	public boolean onTheTable(Philosophy phil) {
		if (owner.equals(phil.getName())) {
			state = State.ON_THE_TABLE;
			owner = Table.TABLE;
			return true;
		} else {
			return false;
		}
	}
	
	public String getOwner() {
		return owner;
	}

	
}