view Main/jungle-main/store/impl/logger/DefaultOperationLog.cs @ 20:1f99e150f336

fix folder and add Object Mapper.
author Kazuma Takeda
date Thu, 15 Dec 2016 22:52:48 +0900
parents
children
line wrap: on
line source

using System.Collections.Generic;
using System.Collections;
using System;

namespace JungleDB {
	public class DefaultOperationLog : OperationLog {
		private List<NodeOperation> log;


		IEnumerator IEnumerable.GetEnumerator()
		{
			// call the generic version of the method
			return this.GetEnumerator();
		}

		public IEnumerator<NodeOperation> GetEnumerator()
		{
			return iterator ();
		}

		private static List<NodeOperation> EMPTY = new List<NodeOperation>();

		public DefaultOperationLog()
			: this(EMPTY)
		{
		}

		private DefaultOperationLog(List<NodeOperation> _log)
		{
			log = _log;
		}

		public IEnumerator<NodeOperation> iterator()
		{
			return log.iterator();
		}


		public OperationLog add(NodeOperation _op)
		{
			return new DefaultOperationLog(log.addLast(_op));
		}
			
		public int length()
		{
			return log.length();
		}

	}
}