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; } }