view src/main/java/jungle/core/table/simple/SimplePropertySequence.java @ 3:9eb9fabd9f29

added Table framework
author shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
date Wed, 13 Jun 2012 01:29:02 +0900
parents
children 761d04aecfcb
line wrap: on
line source

package jungle.core.table.simple;

import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.concurrent.CopyOnWriteArrayList;
import javax.annotation.concurrent.ThreadSafe;

import jungle.core.table.PropertySequence;

@ThreadSafe
public class SimplePropertySequence implements PropertySequence
{
	private final CopyOnWriteArrayList<String> sequence;
	private final Collection<String> readonlyWrapper;
	
	public SimplePropertySequence()
	{
		sequence = new CopyOnWriteArrayList<String>();
		readonlyWrapper = Collections.unmodifiableCollection(sequence);
	}

	@Override
	public Iterator<String> iterator()
	{
		return readonlyWrapper.iterator();
	}

	@Override
	public void add(String _value)
	{
		sequence.add(_value);
	}

	@Override
	public String get(int _pos)
	{
		return sequence.get(_pos);
	}

	@Override
	public String remove(int _pos)
	{
		return sequence.remove(_pos);
	}

	@Override
	public int size()
	{
		return sequence.size();
	}

}