view src/main/java/jp/ac/u_ryukyu/ie/cr/jungle/store/impl/logger/DefaultOperationLog.java @ 0:44465893e8b8

first Commit
author Kazuma
date Wed, 30 Nov 2016 01:47:55 +0900
parents
children
line wrap: on
line source

package jp.ac.u_ryukyu.ie.cr.jungle.store.impl.logger;


import jp.ac.u_ryukyu.ie.cr.jungle.store.operations.NodeOperation;
import jp.ac.u_ryukyu.ie.cr.jungle.data.list.List;

import java.util.Iterator;

public class DefaultOperationLog implements OperationLog
{
	private final List<NodeOperation> log;
	
	private static final List<NodeOperation> EMPTY =new List<>();
	
	public DefaultOperationLog()
	{
		this(EMPTY);
	}
	
	private DefaultOperationLog(List<NodeOperation> _log)
	{
		log = _log;
	}

	@Override
	public Iterator<NodeOperation> iterator()
	{
		return log.iterator();
	}


	@Override
	public DefaultOperationLog add(NodeOperation _op)
	{
		return new DefaultOperationLog(log.addLast(_op));
	}

	@Override
	public int length()
	{
		return log.length();
	}
}