package jetbrains.mps.lang.smodel.generator.smodelAdapter;
/*Generated by MPS */
import java.util.AbstractList;
import org.jetbrains.annotations.NotNull;
import jetbrains.mps.logging.Logger;
import org.apache.log4j.LogManager;
/**
* The list that is always empty, and logs an error on attempt to add anything in there.
* Unlike new ArrayList(), doesn't tolerate modifications.
* Unlike Collections.emptyList(), doesn't fail with exception on modifications
*/
/*package*/ class EmptyList<T> extends AbstractList<T> {
private String myMessage;
/*package*/ EmptyList() {
myMessage = "%s";
}
/*package*/ EmptyList(@NotNull String message) {
myMessage = message;
}
@Override
public T get(int p0) {
throw new IndexOutOfBoundsException();
}
@Override
public int size() {
return 0;
}
@Override
public void add(int i, T e) {
final Logger l = Logger.wrap(LogManager.getLogger(EmptyList.class));
l.error(String.format(myMessage, e));
}
@Override
public boolean contains(Object object) {
return false;
}
}