Mercurial > hg > Database > jungle-network
view src/alice/jungle/operations/NetworkTreeOperationLog.java @ 31:190f6a3bdab2
rename some packages
author | one |
---|---|
date | Mon, 01 Jul 2013 20:34:03 +0900 |
parents | src/jungle/test/operations/NetworkTreeOperationLog.java@20498c88a70d |
children | 5b9708d9febc |
line wrap: on
line source
package alice.jungle.operations; import java.util.Iterator; import java.util.LinkedList; import org.msgpack.annotation.Message; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.TreeOperationLog; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.NodeOperation; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation; @Message public class NetworkTreeOperationLog implements TreeOperationLog { public Iterable<TreeOperation> list; public int size; public NetworkTreeOperationLog() { list = new LinkedList<TreeOperation>(); size = 0; } public NetworkTreeOperationLog(Iterable<TreeOperation> _list, int _size) { list = _list; size = _size; } public Iterable<TreeOperation> getOperationLogList() { return list; } @Override public Iterator<TreeOperation> iterator() { return list.iterator(); } @Override public NetworkTreeOperationLog add(NodePath _p, NodeOperation _op) { TreeOperation op = new NetworkTreeOperation(_p, _op); LinkedList<TreeOperation> newList = new LinkedList<TreeOperation>(); for (Iterator<TreeOperation> iter = list.iterator(); iter.hasNext();) { TreeOperation o = iter.next(); newList.add(o); } newList.add(op); return new NetworkTreeOperationLog(newList, size+1); } @Override public NetworkTreeOperationLog append(TreeOperationLog _log) { LinkedList<TreeOperation> newList = new LinkedList<TreeOperation>(); for (Iterator<TreeOperation> iter = list.iterator(); iter.hasNext();) { TreeOperation o = iter.next(); newList.add(o); } for (TreeOperation o : _log) { newList.add(o); } return new NetworkTreeOperationLog(newList, size+_log.length()); } @Override public int length() { return size; } }