Mercurial > hg > Members > tatsuki > bench > jungle-core
comparison src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/EditableNodeWrapper.java @ 74:3a3622cf2eef
remove error but have a error test program
and LoggingChildren.iterator is bad
author | one |
---|---|
date | Wed, 27 Aug 2014 05:07:50 +0900 |
parents | 650fe2a0dccc |
children | 2fc0b0313dc0 |
comparison
equal
deleted
inserted
replaced
72:5969848b1bb8 | 74:3a3622cf2eef |
---|---|
1 package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl; | 1 package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl; |
2 | 2 |
3 import java.nio.ByteBuffer; | 3 import java.nio.ByteBuffer; |
4 import java.util.Iterator; | 4 import java.util.Iterator; |
5 | 5 |
6 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node; | 6 |
7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.EditableAttributes; | 7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.EditableAttributes; |
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.EditableChildren; | 8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.EditableChildren; |
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.EditableNode; | 9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.EditableNode; |
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultEither; | 10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultEither; |
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; | 11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; |
88 { | 88 { |
89 children = _wrap.getChildren(); | 89 children = _wrap.getChildren(); |
90 } | 90 } |
91 | 91 |
92 @Override | 92 @Override |
93 public Either<Error,Node> at(int _pos) | 93 public Either<Error, EditableNodeWrapper<T>> at(int _pos) |
94 { | 94 { |
95 Either<Error,T> either = children.at(_pos); | 95 Either<Error,T> either = children.at(_pos); |
96 if(either.isA()){ | 96 if(either.isA()){ |
97 return DefaultEither.newA(either.a()); | 97 return DefaultEither.newA(either.a()); |
98 } | 98 } |
99 | 99 |
100 T target = either.b(); | 100 T target = either.b(); |
101 Node newWrapper = new NodeWrapper<T>(target); | 101 EditableNodeWrapper<T> newWrapper = new EditableNodeWrapper<T>(target); |
102 return DefaultEither.newB(newWrapper); | 102 return DefaultEither.newB(newWrapper); |
103 } | 103 } |
104 | 104 |
105 @Override | 105 @Override |
106 public int size() | 106 public int size() |
107 { | 107 { |
108 return children.size(); | 108 return children.size(); |
109 } | 109 } |
110 | 110 |
111 @Override | 111 @Override |
112 public Iterator<Node> iterator() | 112 public Iterator<EditableNodeWrapper<T>> iterator() |
113 { | 113 { |
114 IterableConverter.Converter<Node,T> converter = new IterableConverter.Converter<Node,T>(){ | 114 IterableConverter.Converter<EditableNodeWrapper<T>,T> converter = new IterableConverter.Converter<EditableNodeWrapper<T>,T>(){ |
115 @Override | 115 @Override |
116 public Node conv(T _b){ | 116 public EditableNodeWrapper<T> conv(T _b){ |
117 return new NodeWrapper<T>(_b); | 117 return new EditableNodeWrapper<T>(_b); |
118 } | 118 } |
119 }; | 119 }; |
120 | 120 |
121 | 121 |
122 return new IterableConverter<Node,T>(children,converter).iterator(); | 122 return new IterableConverter<EditableNodeWrapper<T>,T>(children,converter).iterator(); |
123 } | 123 } |
124 | 124 |
125 @Override | 125 @Override |
126 public Either<Error,EditableNodeWrapper<T>> addNewChildAt(int _pos) | 126 public Either<Error,EditableNodeWrapper<T>> addNewChildAt(int _pos) |
127 { | 127 { |