view src/main/java/alice/jungle/persistent/PersistentChangeList.java @ 193:89c15aa2bc6d

change transaction
author tatsuki
date Fri, 20 Mar 2015 16:18:42 +0900
parents f9e29a52efd3
children
line wrap: on
line source

package alice.jungle.persistent;

import java.util.Iterator;

import alice.jungle.operations.NetworkTreeOperationLog;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeList;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeContext;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.TreeOperationLog;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation;

public class PersistentChangeList implements ChangeList {

	public NetworkTreeOperationLog log;
	public String treeName;
	public String uuid;

	public PersistentChangeList(String _uuid, String _treeName, TreeOperationLog _log) {
		uuid = _uuid;
		treeName = _treeName;
		log = new NetworkTreeOperationLog(_log);
	}
	
	public PersistentChangeList(NetworkTreeOperationLog _log) {
		log = _log;
		treeName = _log.getTreeName();
		uuid = _log.getUUID();
	}
	
	public PersistentChangeList(TreeContext cs) {
		treeName = cs.getTreeName();
		uuid = cs.uuid();
		log = new NetworkTreeOperationLog(cs.getChangeList());
	}
	
	@Override
	public Iterator<TreeOperation> iterator() {
		return log.iterator();
	}

	public NetworkTreeOperationLog getTreeOperationLog() {
		return log;
	}
	
	public String getTreeName() {
		return treeName;
	}
	
	public String uuid() {
		return uuid;
	}

	
}