view src/alice/test/dpp/codesegment/philosophy/EatCodeSegment.java @ 25:f77f0bb99f35

modify each CodeSegment
author one
date Tue, 15 Jan 2013 16:41:57 +0900
parents da62aa1f4d87
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.Philosophy;

public class EatCodeSegment extends CodeSegment {

	Receiver arg1 = ids.create(CommandType.TAKE);
	
	public EatCodeSegment(String pName) {
		arg1.setKey(pName);
	}
	
	@Override
	public void run() {
		Philosophy phil = arg1.asClass(Philosophy.class);
		System.out.println(phil.getName() + " is eating.");
		phil.setState(Philosophy.State.PUTFORK);
		new PutForkCodeSegment(phil.getName(), phil.getRightFork(), phil.getLeftFork());
		ods.update("local", phil.getName(), phil);
	}
}