comparison src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/traverser/DefaultTraverser.java @ 175:e26462a38ce0

add push pop
author tatsuki
date Fri, 06 Mar 2015 10:44:50 +0900
parents fb1dc448ac8c
children
comparison
equal deleted inserted replaced
173:f26535302c96 175:e26462a38ce0
19 @Override 19 @Override
20 public Iterator<TreeNode> iterator(){ 20 public Iterator<TreeNode> iterator(){
21 List<TreeNode> list = List.nil(); 21 List<TreeNode> list = List.nil();
22 return list.cons(_root).iterator(); 22 return list.cons(_root).iterator();
23 } 23 }
24
24 @Override 25 @Override
25 public int size(){ 26 public int size(){
26 return 1; 27 return 1;
27 } 28 }
29
28 @Override 30 @Override
29 public Either<Error,TreeNode> at(int _pos){ 31 public Either<Error,TreeNode> at(int _pos){
30 if(_pos != 0){ 32 if(_pos != 0){
31 return DefaultEither.newA(NodeEditorError.INDEX_OUT_OF_BOUNDS); 33 return DefaultEither.newA(NodeEditorError.INDEX_OUT_OF_BOUNDS);
32 } 34 }
36 38
37 //Children<T> chs = _root.getChildren(); 39 //Children<T> chs = _root.getChildren();
38 Children chs = wrapper; 40 Children chs = wrapper;
39 41
40 Either<Error,List<Direction<TreeNode>>> ret = _traverse(chs,_evaluator,-1); 42 Either<Error,List<Direction<TreeNode>>> ret = _traverse(chs,_evaluator,-1);
43
41 if(ret.isA()){ 44 if(ret.isA()){
42 return DefaultEither.newA(ret.a()); 45 return DefaultEither.newA(ret.a());
43 } 46 }
44 47
45 List<Direction<TreeNode>> list = ret.b(); 48 List<Direction<TreeNode>> list = ret.b();