view src/alice/test/dpp/codesegment/ThinkCodeSegment.java @ 18:f0a2e2d2094e

add PutLeftForkCodeSegment, PutRightCodeSegment
author one
date Sun, 09 Dec 2012 23:00:34 +0900
parents 92cde6277018
children 6018e62cb198
line wrap: on
line source

package alice.test.dpp.codesegment;

import alice.codesegment.CodeSegment;
import alice.datasegment.CommandType;
import alice.datasegment.Receiver;
import alice.test.dpp.model.Philosophy;

public class ThinkCodeSegment extends CodeSegment {

	Receiver arg1 = ids.create(CommandType.TAKE);

	public ThinkCodeSegment(String pName) {
		arg1.setKey(pName);
	}

	@Override
	public void run() {
		Philosophy phil = arg1.asClass(Philosophy.class);		
		System.out.println(phil.getName() + " is thinking");
		phil.setState(Philosophy.State.TAKERIGHTFORK);
		new TakeRightForkCodeSegment(phil.getName(), phil.getRightFork());
		ods.update("local", phil.getName(), phil);
	}
	
}