Mercurial > hg > Members > tatsuki > bench > jungle-core
view src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/TraversableNodeWrapper.java @ 68:240a385bf79d
delete traversalNodewrapper but not change test source(error)
author | one |
---|---|
date | Wed, 20 Aug 2014 14:49:51 +0900 |
parents | 8c6ff361b68a |
children |
line wrap: on
line source
/*package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl; import java.util.Iterator; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Children; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Parent; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.TraversableNode; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultEither; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.IterableConverter; public class TraversableNodeWrapper<T extends Parent<T>> implements TraversableNode<TraversableNodeWrapper<T>> { private final T wrap; public TraversableNodeWrapper(T _wrap) { wrap = _wrap; } public T getWrapped() { return wrap; } @Override public Children<TraversableNodeWrapper<T>> getChildren() { final Children<T> ch = wrap.getChildren(); return new Children<TraversableNodeWrapper<T>>(){ final IterableConverter.Converter<TraversableNodeWrapper<T>,T> converter = new IterableConverter.Converter<TraversableNodeWrapper<T>,T>(){ @Override public TraversableNodeWrapper<T> conv(T _b) { return new TraversableNodeWrapper<T>(_b); } }; final IterableConverter<TraversableNodeWrapper<T>,T> iterable = new IterableConverter<TraversableNodeWrapper<T>,T>(ch,converter); @Override public Iterator<TraversableNodeWrapper<T>> iterator() { return iterable.iterator(); } @Override public int size() { return ch.size(); } @Override public Either<Error, TraversableNodeWrapper<T>> at(int _pos) { Either<Error,T> either = ch.at(_pos); if(either.isA()){ return DefaultEither.newA(either.a()); } T newWrap = either.b(); return DefaultEither.newB(new TraversableNodeWrapper<T>(newWrap)); } }; } }*/