view src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/util/IterableWrapper.java @ 10:a2c019a77c27

commit
author Shoshi TAMAKI
date Mon, 10 Dec 2012 18:50:53 +0900
parents
children 3ef2a66a8c5d
line wrap: on
line source

package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util;

import java.util.Iterator;

public class IterableWrapper<T> implements Iterable<T>
{
	private final Iterable<? extends T> iterable;
	
	public IterableWrapper(Iterable<? extends T> _iterable)
	{
		iterable = _iterable;
	}

	@Override
	public Iterator<T> iterator()
	{
		return new IteratorWrapper();
	}

	public class IteratorWrapper implements Iterator<T>
	{
		private final Iterator<? extends T> iterator;
		
		public IteratorWrapper()
		{
			iterator = iterable.iterator();
		}

		@Override
		public boolean hasNext()
		{
			return iterator.hasNext();
		}

		@Override
		public T next()
		{
			return iterator.next();
		}

		@Override
		public void remove()
		{
			iterator.remove();
		}
	}
}