|
What this is
Other links
The source code/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is NetBeans. The Initial Developer of the Original * Code is Sun Microsystems, Inc. Portions Copyright 1997-2004 Sun * Microsystems, Inc. All Rights Reserved. */ package org.netbeans.modules.javacore.jmiimpl.javamodel; import java.util.ArrayList; import java.util.AbstractList; import java.util.List; import org.netbeans.jmi.javamodel.TypeClass; import org.netbeans.jmi.javamodel.Type; import org.netbeans.modules.javacore.parser.TypeRef; /** * @author Martin Matula */ public class TypeList extends AbstractList { protected final List innerList; protected final SemiPersistentElement parent; public TypeList(SemiPersistentElement parent) { this(parent, new ArrayList()); } public TypeList(SemiPersistentElement parent, ArrayList innerList) { this.parent = parent; this.innerList = innerList; } public Object get(int index) { return wrap(innerList.get(index)); } public Object remove(int index) { try { return wrap(innerList.remove(index)); } finally { updateParent(); } } public void add(int index, Object element) { try { innerList.add(index, unwrap(element)); } finally { updateParent(); } } public Object set(int index, Object element) { try { return wrap(innerList.set(index, unwrap(element))); } finally { updateParent(); } } public int size() { return innerList.size(); } private Object unwrap(Object element) { return parent.typeToTypeRef((Type) element); } private Object wrap(Object o) { return parent.resolveType((TypeRef) o); } void addTypeRef(TypeRef typeRef) { innerList.add(typeRef); } protected void updateParent() { } } |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.