@SuppressWarnings("unchecked") @Override protected E resolve(E object) {
return isEObject() ? (E) resolveProxy((EObject) object): object;
}
protected EObject resolveProxy(EObject eObject) {
return eObject.eIsProxy() ? owner.eResolveProxy((InternalEObject) eObject): eObject;
}
@Override public Object[] toArray() {
if (hasProxies()) {
for (int i = [[#variable1496c120]] - 1; i >= 0; --i) {
get(i);
}
}
return super.toArray();
}
@Override public <T>T[] toArray(T[] array) {
if (hasProxies()) {
for (int i = [[#variable1496c120]] - 1; i >= 0; --i) {
get(i);
}
}
return super.toArray(array);
}
@Override protected NotificationImpl createNotification(int eventType, Object oldObject, Object newObject, int index, boolean wasSet) {
return new ENotificationImpl(owner, eventType, getFeatureID(), oldObject, newObject, index, wasSet);
}
protected NotificationImpl createNotification(int eventType, boolean oldValue, boolean newValue) {
return new ENotificationImpl(owner, eventType, getFeatureID(), oldValue, newValue);
}
@Override protected void dispatchNotification(Notification notification) {
owner.eNotify(notification);
}
@Override protected boolean isNotificationRequired() {
return owner.eNotificationRequired();
}
@Override public NotificationChain inverseAdd(E object, NotificationChain notifications) {
InternalEObject internalEObject = (InternalEObject) object;
if (hasNavigableInverse()) {
if ( !hasInstanceClass()) {
return internalEObject.eInverseAdd(owner, internalEObject.eClass().getFeatureID(getInverseEReference()), null, notifications);
}
else {
return internalEObject.eInverseAdd(owner, getInverseFeatureID(), getInverseFeatureClass(), notifications);
}
}
else {
return internalEObject.eInverseAdd(owner, InternalEObject.EOPPOSITE_FEATURE_BASE - getFeatureID(), null, notifications);
}
}
@Override public NotificationChain inverseRemove(E object, NotificationChain notifications) {
InternalEObject internalEObject = (InternalEObject) object;
if (hasNavigableInverse()) {
if ( !hasInstanceClass()) {
return internalEObject.eInverseRemove(owner, internalEObject.eClass().getFeatureID(getInverseEReference()), null, notifications);
}
else {
return internalEObject.eInverseRemove(owner, getInverseFeatureID(), getInverseFeatureClass(), notifications);
}
}
else {
return internalEObject.eInverseRemove(owner, InternalEObject.EOPPOSITE_FEATURE_BASE - getFeatureID(), null, notifications);
}
}
|