⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 freezablelist.java

📁 java1.6众多例子参考
💻 JAVA
字号:
/* * @(#)FreezableList.java	1.14 05/11/17 * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package com.sun.corba.se.impl.ior ;import java.util.Collection ;import java.util.List ;import java.util.AbstractList ;import java.util.ListIterator ;import java.util.Iterator ;import com.sun.corba.se.spi.ior.MakeImmutable ;/** Simple class that delegates all List operations to * another list.  It also can be frozen, which means that* a number of operations can be performed on the list,* and then the list can be made immutable, so that no* further changes are possible.  A FreezableList is frozen* using the makeImmutable method.*/public class FreezableList extends AbstractList {    private List delegate = null ;    private boolean immutable = false ;    public boolean equals( Object obj )    {	if (obj == null)	    return false ;	if (!(obj instanceof FreezableList))	    return false ;	FreezableList other = (FreezableList)obj ;	return delegate.equals( other.delegate ) &&	    (immutable == other.immutable) ;    }    public int hashCode()    {	return delegate.hashCode() ;    }    public FreezableList( List delegate, boolean immutable  )    {	this.delegate = delegate ;	this.immutable = immutable ;    }    public FreezableList( List delegate )    {	this( delegate, false ) ;    }    public void makeImmutable()    {	immutable = true ;    }    public boolean isImmutable()    {	return immutable ;    }    public void makeElementsImmutable()    {	Iterator iter = iterator() ;	while (iter.hasNext()) {	    Object obj = iter.next() ;	    if (obj instanceof MakeImmutable) {		MakeImmutable element = (MakeImmutable)obj ;		element.makeImmutable() ;	    }	}    }    // Methods overridden from AbstractList    public int size()    {	return delegate.size() ;    }    public Object get(int index)    {	return delegate.get(index) ;    }    public Object set(int index, Object element)    {	if (immutable)	    throw new UnsupportedOperationException() ;	return delegate.set(index, element) ;    }    public void add(int index, Object element)    {	if (immutable)	    throw new UnsupportedOperationException() ;	delegate.add(index, element) ;    }    public Object remove(int index)    {	if (immutable)	    throw new UnsupportedOperationException() ;	return delegate.remove(index) ;    }    // We also override subList so that the result is a FreezableList.    public List subList(int fromIndex, int toIndex)    {	List list = delegate.subList(fromIndex, toIndex) ;	List result = new FreezableList( list, immutable ) ;	return result ;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -