FileDocCategorySizeDatePackage
CopyOnWriteList.javaAPI DocAzureus 3.0.3.42769Wed Sep 19 11:16:36 BST 2007com.aelitis.azureus.core.util

CopyOnWriteList

public class CopyOnWriteList extends Object

Fields Summary
private volatile List
list
Constructors Summary
Methods Summary
public voidadd(java.lang.Object obj)

	//private volatile int	version;
	
	 
	
			 
	
		synchronized( list ){
			
			List	new_list = new ArrayList( list );
			
			new_list.add( obj );
		
			list	= new_list;
			
			//version++;
		}
	
public voidclear()

		synchronized( list ){
								
			list	= new ArrayList();
			
			//version++;
		}
	
public booleancontains(java.lang.Object obj)

		return( list.contains( obj ));
	
public java.util.ListgetList()

			// TODO: we need to either make this a read-only-list or obey the copy-on-write semantics correctly...
		
		return( list );
	
public java.util.Iteratoriterator()

		return( new CopyOnWriteListIterator( list.iterator()));
	
public booleanremove(java.lang.Object obj)

		synchronized( list ){
			
			List	new_list = new ArrayList( list );
			
			boolean result = new_list.remove( obj );
		
			list	= new_list;
			
			//version++;
			
			return( result );
		}
	
public intsize()

		return( list.size());