view src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/traverser/DefaultTraverseEvaluator.java @ 16:35c661de095d

added Parameter ... etc..
author Shoshi TAMAKI
date Wed, 19 Dec 2012 23:20:00 +0900
parents 5f763f32940e
children
line wrap: on
line source

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

import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Pair;

public class DefaultTraverseEvaluator implements TraverseEvaluator
{
	private final NodePath path;
	
	public DefaultTraverseEvaluator(NodePath _path)
	{
		path = _path;
	}
	
	@Override
	public Evaluation eval(Iterable<Node> _currentPosition,Node _child,int _pos)
	{
		Pair<Integer,NodePath> pop = path.pop();
		DefaultTraverseEvaluator nextEvaluator = new DefaultTraverseEvaluator(pop.right());
		int head = pop.left();
		
		Evaluation.Result result = Evaluation.Result.DENY_CONTINUE;
		if(head == _pos){
			result = Evaluation.Result.ACCEPT_BREAK;
		}
		
		return new DefaultEvaluation(result,nextEvaluator);
	}
}