package jetbrains.mps.internal.collections.runtime.impl; /*Generated by MPS */ import jetbrains.mps.internal.collections.runtime.Sequence; import jetbrains.mps.internal.collections.runtime.IMapping; import jetbrains.mps.internal.collections.runtime.IMapSequence; import java.util.Map; import jetbrains.mps.internal.collections.runtime.ISequence; import java.util.Set; import java.util.Collections; import java.util.Collection; import java.util.Iterator; import jetbrains.mps.internal.collections.runtime.ISetSequence; import jetbrains.mps.internal.collections.runtime.SetSequence; public class NullMapSequence<U, V> extends Sequence<IMapping<U, V>> implements IMapSequence<U, V>, Map<U, V> { public static final NullMapSequence<Object, Object> INSTANCE = new NullMapSequence<Object, Object>(); protected NullMapSequence() { } @Override public IMapping<U, V> first() { return null; } @Override public IMapping<U, V> last() { return null; } @Override public ISequence<IMapping<U, V>> cut(int length) { return this; } @Override public ISequence<IMapping<U, V>> skip(int length) { return this; } @Override public ISequence<IMapping<U, V>> tail(int length) { return this; } @Override public ISequence<IMapping<U, V>> take(int length) { return this; } @Override public ISequence<IMapping<U, V>> page(int skip, int skipplustake) { return this; } @Override public void clear() { } @Override public boolean containsKey(Object key) { return false; } @Override public boolean containsValue(Object value) { return false; } @Override public Set<Map.Entry<U, V>> entrySet() { return Collections.emptySet(); } @Override public V get(Object key) { return null; } @Override public Set<U> keySet() { return Collections.emptySet(); } @Override public V put(U key, V value) { return null; } @Override public void putAll(Map<? extends U, ? extends V> m) { } @Override public V remove(Object key) { return null; } @Override public int size() { return 0; } @Override public Collection<V> values() { return Collections.emptySet(); } @Override public IMapSequence<U, V> putAll(IMapSequence<? extends U, ? extends V> map) { return this; } @Override public V putValue(U key, V value) { return null; } @Override public V removeKey(U u) { return null; } @Override public Map<U, V> toMap() { return this; } @Override public Iterator<IMapping<U, V>> iterator() { return new NullSequence.EmptyIterator<IMapping<U, V>>(); } @Override public ISetSequence<IMapping<U, V>> mappingsSet() { return SetSequence.fromSet(Collections.<IMapping<U, V>>emptySet()); } @SuppressWarnings(value = "unchecked") public static <P, Q> NullMapSequence<P, Q> instance() { return (NullMapSequence<P, Q>) INSTANCE; } }