package org.rr.commons.collection;
import java.util.ArrayList;
import java.util.Collection;
/**
* ArrayList implementation which takes sure that all strings added
* be the {@link String#intern()} ones.
*/
public class InternalStringList extends ArrayList<String>{
private static final long serialVersionUID = 5633330906727403357L;
@Override
public void add(int index, String element) {
super.add(index, element.intern());
}
@Override
public boolean add(String e) {
return super.add(e.intern());
}
@Override
public boolean addAll(Collection<? extends String> c) {
for (String string : c) {
add(string);
}
return !c.isEmpty();
}
@Override
public boolean addAll(int index, Collection<? extends String> c) {
for (String string : c) {
add(index, string);
}
return !c.isEmpty();
}
}