view src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/util/IterableWrapper.java @ 23:3ef2a66a8c5d

commit
author Shoshi TAMAKI
date Thu, 10 Jan 2013 23:22:42 +0900
parents a2c019a77c27
children 715a9fbf02fc
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();
		}
	}
}