view src/alice/test/dpp/codesegment/philosophy/PutRightForkCodeSegment.java @ 23:da62aa1f4d87

hg rename codesegment package
author one
date Mon, 10 Dec 2012 00:22:41 +0900
parents src/alice/test/dpp/codesegment/PutRightForkCodeSegment.java@6018e62cb198
children
line wrap: on
line source

package alice.test.dpp.codesegment.philosophy;
import alice.codesegment.CodeSegment;
import alice.datasegment.CommandType;
import alice.datasegment.Receiver;
import alice.test.dpp.datasegment.Fork;
import alice.test.dpp.datasegment.Philosophy;


public class PutRightForkCodeSegment extends CodeSegment {
	
	Receiver arg1 = ids.create(CommandType.TAKE);
	Receiver arg2 = ids.create(CommandType.TAKE);
	
	public PutRightForkCodeSegment(String pName, String fork) {
		arg1.setKey(pName);
		arg2.setKey(fork);
	}
	
	@Override
	public void run() {
		Philosophy phil = arg1.asClass(Philosophy.class);
		Fork fork = arg2.asClass(Fork.class);
		System.out.println(phil.getName() +" put right fork.");
		fork.onTheTable(phil.getName());
		phil.setState(Philosophy.State.PUTLEFTFORK);
		new PutLeftForkCodeSegment(phil.getName(), phil.getLeftFork());
		ods.update("local", phil.getName(), phil);
		ods.update("local", fork.getForkName(), fork);
	}
}