view src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/traverser/DefaultEvaluator.java @ 81:715a9fbf02fc

remove <T> many source
author one
date Sun, 31 Aug 2014 07:46:30 +0900
parents 240a385bf79d
children fb1dc448ac8c
line wrap: on
line source

package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser;

import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Pair;

public class DefaultEvaluator implements Evaluator
{
	private final NodePath path;
	
	public DefaultEvaluator(NodePath _path)
	{
		path = _path;
	}
	
	@Override
	public <T extends TreeNode> Evaluation evaluate(T _current,int _pos)
	{
		Pair<Integer,NodePath> pop = path.pop();
		int head = pop.left();
		
		if(path.size() == 1){
			if(head == _pos){
				return new DefaultEvaluation(Result.GOAL,null);
			}
		}
		
		DefaultEvaluator nextEvaluator;
		Result result;
		if(head == _pos){
			result = Result.ACCEPT;
			nextEvaluator = new DefaultEvaluator(pop.right());
		}else{
			result = Result.CONTINUE;
			nextEvaluator = null;
		}
		
		return new DefaultEvaluation(result,nextEvaluator);
	}
}