blob: a20be86aa40d7e76f375728c85a596332f984e55 [file] [log] [blame]
/*
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package macromedia.asc.util;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
/**
* @author Clement Wong
*/
public class ObjectList<E> extends ArrayList<E>
{
/**
*
*/
private static final long serialVersionUID = -1316638550648554823L;
public ObjectList()
{
super(0);
}
public ObjectList(int size)
{
super(size);
}
public ObjectList(Collection<E> list)
{
super(list);
}
final public E first()
{
return (size() == 0) ? null : (E) get(0);
}
final public E last()
{
return (size() == 0) ? null : (E) get(size() - 1);
}
final public E removeLast()
{
return (size() == 0) ? null : (E) remove(size() - 1);
}
final public void push_back(E e)
{
add(e);
}
final public E back()
{
return last();
}
final public void resize(int s)
{
if (s > size())
{
for (int i = 0, n = s - size(); i < n; i++)
{
add(null);
}
}
}
final public void pop_back()
{
if (!isEmpty()) {
remove(size()-1);
}
}
final public E at(int i)
{
return get(i);
}
public boolean equals(Object o)
{
if (this == o)
{
return true;
}
if (!(o instanceof List))
{
return false;
}
List list = (List) o;
if (list.size() != size())
{
return false;
}
for (int i = 0, size = size(); i < size; i++)
{
if (!get(i).equals(list.get(i)))
{
return false;
}
}
return true;
}
}