@Override public boolean contains(Object object) { return size <= 4 ? super.contains(object) : object instanceof Resource && ((Resource)object).getResourceSet() == ResourceSetImpl.this; } }
@Override protected void didClear(int oldSize, Object [] oldData) { if (oldSize == 0) { loaded(); } else { super.didClear(oldSize, oldData); } }
@Override protected void didRemove(int index, E object) { super.didRemove(index, object); modified(); }
@Override public Object[] toArray() { if (hasProxies()) { for (int i = size - 1; i >= 0; --i) { get(i); } } return super.toArray(); }
@Override protected void didSet(int index, E newObject, E oldObject) { super.didSet(index, newObject, oldObject); modified(); }
@Override protected E validate(int index, E object) { super.validate(index, object); if (!hasInstanceClass() && object != null && !isInstance(object)) { throw new ArrayStoreException(); } return object; }
@Override protected void didAdd(int index, E object) { super.didAdd(index, object); if (index == size - 1) { loaded(); } modified(); }
@Override public int lastIndexOf(Object object) { int result = super.lastIndexOf(object); if (isEObject () && result == -1) { for (int i = size - 1; i >= 0; --i) { EObject eObject = resolveProxy((EObject)data[i]); if (eObject == object) { return i; } } } return result; }
@Override public int indexOf(Object object) { int index = super.indexOf(object); if (index >= 0) return index; if (isEObject()) { for (int i = 0; i < size; ++i) { EObject eObject = resolveProxy((EObject)data[i]); if (eObject == object) { return i; } } } return -1; }
@Override public <T> T [] toArray(T [] array) { if (hasProxies()) { for (int i = size - 1; i >= 0; --i) { get(i); } } return super.toArray(array); }
@Override protected void didSet(int index, E newObject, E oldObject) { super.didSet(index, newObject, oldObject); modified(); }
@Override protected E validate(int index, E object) { super.validate(index, object); if (!hasInstanceClass() && object != null && !isInstance(object)) { throw new ArrayStoreException(); } return object; }
@Override protected void didAdd(int index, E object) { super.didAdd(index, object); if (index == size - 1) { loaded(); } modified(); }
@Override public int lastIndexOf(Object object) { int result = super.lastIndexOf(object); if (isEObject () && result == -1) { for (int i = size - 1; i >= 0; --i) { EObject eObject = resolveProxy((EObject)data[i]); if (eObject == object) { return i; } } } return result; }
@Override public int indexOf(Object object) { int index = super.indexOf(object); if (index >= 0) return index; if (isEObject()) { for (int i = 0; i < size; ++i) { EObject eObject = resolveProxy((EObject)data[i]); if (eObject == object) { return i; } } } return -1; }
@Override public boolean contains(Object object) { return size <= 4 ? super.contains(object) : object instanceof Resource && ((Resource)object).getResourceSet() == ResourceSetImpl.this; } }
@Override public Object[] toArray() { if (hasProxies()) { for (int i = size - 1; i >= 0; --i) { get(i); } } return super.toArray(); }
@Override protected void didClear(int oldSize, Object [] oldData) { if (oldSize == 0) { loaded(); } else { super.didClear(oldSize, oldData); } }
@Override protected void didRemove(int index, E object) { super.didRemove(index, object); modified(); }
@Override public boolean contains(Object object) { return size <= 4 ? super.contains(object) : object instanceof InternalEObject && ((InternalEObject)object).eDirectResource() == ResourceImpl.this; } }