public boolean eIsProxy() { return instance.eIsProxy(); }
public boolean eIsProxy() { return instance.eIsProxy(); }
private static void getURI(EObject parent, EObject target, Appendable buf) throws Exception { Resource r = target.eResource(); buf.append(target.eClass().getName()); buf.append("@"); if (r == null) { if (((InternalEObject)target).eIsProxy()) { buf.append("(unresolved proxy "+((InternalEObject)target).eProxyURI()+")"); } else { buf.append("(resource null)"); } } else if (parent.eResource() == r) buf.append(r.getURIFragment(target)); else buf.append(r.getURI().toString()).append("#").append(r.getURIFragment(target)); }
private static void getURI(EObject parent, EObject target, Appendable buf) throws Exception { Resource r = target.eResource(); buf.append(target.eClass().getName()); buf.append("@"); if (r == null) { if (((InternalEObject)target).eIsProxy()) { buf.append("(unresolved proxy "+((InternalEObject)target).eProxyURI()+")"); } else { buf.append("(resource null)"); } } else if (parent.eResource() == r) buf.append(r.getURIFragment(target)); else buf.append(r.getURI().toString()).append("#").append(r.getURIFragment(target)); }
protected static void gatherProxies(InternalEObject refObject, EStructuralFeature sf, List proxies) { Object value = null; InternalEObject proxy = null; if (sf.isMany() || refObject.eIsSet(sf)) { value = refObject.eGet(sf, false); if (value != null) { if (sf.isMany()) { Iterator j = ((InternalEList) value).basicIterator(); while (j.hasNext()) { proxy = (InternalEObject) j.next(); if (proxy.eIsProxy()) proxies.add(proxy); } } else if (((InternalEObject) value).eIsProxy()) proxies.add(value); } } }
protected void saveElement(InternalEObject o, EStructuralFeature f) { if (o.eDirectResource() != null || o.eIsProxy()) { saveHref(o, f); } else { saveElement((EObject)o, f); } }
protected void saveElement(InternalEObject o, EStructuralFeature f) { if (o.eDirectResource() != null || o.eIsProxy()) { saveHref(o, f); } else { saveElement((EObject)o, f); } }
/** * Called when the object is unloaded. * This implementation * {@link InternalEObject#eSetProxyURI sets} the object to be a proxy * and clears the {@link #eAdapters adapters}. */ protected void unloaded(InternalEObject internalEObject) { // Ensure that an unresolved containment proxy's URI isn't reset. // if (!internalEObject.eIsProxy()) { internalEObject.eSetProxyURI(uri.appendFragment(getURIFragment(internalEObject))); } internalEObject.eAdapters().clear(); }
/** * Called when the object is unloaded. * This implementation * {@link InternalEObject#eSetProxyURI sets} the object to be a proxy * and clears the {@link #eAdapters adapters}. */ protected void unloaded(InternalEObject internalEObject) { // Ensure that an unresolved containment proxy's URI isn't reset. // if (!internalEObject.eIsProxy()) { internalEObject.eSetProxyURI(uri.appendFragment(getURIFragment(internalEObject))); } internalEObject.eAdapters().clear(); }
protected int sameDocSingle(EObject o, EStructuralFeature f) { InternalEObject value = (InternalEObject)helper.getValue(o, f); if (value == null) { return SKIP; } else if (value.eIsProxy()) { return CROSS_DOC; } else { Resource res = value.eResource(); return res == helper.getResource() || res == null ? SAME_DOC : CROSS_DOC; } }
protected int sameDocSingle(EObject o, EStructuralFeature f) { InternalEObject value = (InternalEObject)helper.getValue(o, f); if (value == null) { return SKIP; } else if (value.eIsProxy()) { return CROSS_DOC; } else { Resource res = value.eResource(); return res == helper.getResource() || res == null ? SAME_DOC : CROSS_DOC; } }
protected void adjustEProxy() { // Setting eProxyURI is necessary to prevent content adapters from // loading the whole content tree. // TODO Does not have the desired effect ;-( see CDOEditor.createModel() if (state == CDOState.PROXY) { if (!instance.eIsProxy()) { URI uri = URI.createURI(CDOProtocolConstants.PROTOCOL_NAME + ":proxy#" + id); //$NON-NLS-1$ if (TRACER.isEnabled()) { TRACER.format("Setting proxyURI {0} for {1}", uri, instance); //$NON-NLS-1$ } instance.eSetProxyURI(uri); } } else { if (instance.eIsProxy()) { if (TRACER.isEnabled()) { TRACER.format("Unsetting proxyURI for {0}", instance); //$NON-NLS-1$ } instance.eSetProxyURI(null); } } }
protected int sameDocMany(EObject o, EStructuralFeature f) { @SuppressWarnings("unchecked") InternalEList<? extends InternalEObject> values = (InternalEList<? extends InternalEObject>)helper.getValue(o, f); if (values.isEmpty()) { return SKIP; } for (Iterator<? extends InternalEObject> i = values.basicIterator(); i.hasNext(); ) { InternalEObject value = i.next(); if (value.eIsProxy()) { return CROSS_DOC; } else { Resource resource = value.eResource(); if (resource != helper.getResource() && resource != null) { return CROSS_DOC; } } } return SAME_DOC; }
protected InternalEObject handleProxy(InternalEObject internalEObject) { if (internalEObject != null && internalEObject.eIsProxy()) { URI eProxyURI = internalEObject.eProxyURI(); URI uri = UML22UMLExtendedMetaData.getURIMap().get( eProxyURI.trimFragment()); if (uri != null) { String fragment = UML22UMLExtendedMetaData.getFragmentMap() .get(eProxyURI.fragment()); if (fragment != null) { internalEObject.eSetProxyURI(uri.appendFragment(fragment)); } } } return internalEObject; }
protected int sameDocMany(EObject o, EStructuralFeature f) { @SuppressWarnings("unchecked") InternalEList<? extends InternalEObject> values = (InternalEList<? extends InternalEObject>)helper.getValue(o, f); if (values.isEmpty()) { return SKIP; } for (Iterator<? extends InternalEObject> i = values.basicIterator(); i.hasNext(); ) { InternalEObject value = i.next(); if (value.eIsProxy()) { return CROSS_DOC; } else { Resource resource = value.eResource(); if (resource != helper.getResource() && resource != null) { return CROSS_DOC; } } } return SAME_DOC; }
protected void adjustEProxy() { // Setting eProxyURI is necessary to prevent content adapters from // loading the whole content tree. // TODO Does not have the desired effect ;-( see CDOEditor.createModel() if (viewAndState.state == CDOState.PROXY) { if (!instance.eIsProxy()) { URI uri = URI.createURI(CDOProtocolConstants.PROTOCOL_NAME + ":proxy#" + cdoID()); //$NON-NLS-1$ if (TRACER.isEnabled()) { TRACER.format("Setting proxyURI {0} for {1}", uri, instance); //$NON-NLS-1$ } instance.eSetProxyURI(uri); } } else { if (instance.eIsProxy()) { if (TRACER.isEnabled()) { TRACER.format("Unsetting proxyURI for {0}", instance); //$NON-NLS-1$ } instance.eSetProxyURI(null); } } }
return target.eClass(); case EcorePackage.EOBJECT___EIS_PROXY: return target.eIsProxy(); case EcorePackage.EOBJECT___ERESOURCE: return target.eResource();
return target.eClass(); case EcorePackage.EOBJECT___EIS_PROXY: return target.eIsProxy(); case EcorePackage.EOBJECT___ERESOURCE: return target.eResource();
public EObject eContainer() { InternalEObject result = eInternalContainer(); if (result != null) { if (result.eIsProxy()) { EObject resolved = eResolveProxy(result); if (resolved != result) { int eContainerFeatureID = eContainerFeatureID(); NotificationChain notificationChain = eBasicRemoveFromContainer(null); eBasicSetContainer((InternalEObject)resolved, eContainerFeatureID); if (notificationChain != null) { notificationChain.dispatch(); } if (eNotificationRequired() && eContainerFeatureID > EOPPOSITE_FEATURE_BASE) { eNotify(new ENotificationImpl(this, Notification.RESOLVE, eContainerFeatureID, result, resolved)); } return resolved; } } } return result; }
public EObject eContainer() { InternalEObject result = eInternalContainer(); if (result != null) { if (result.eIsProxy()) { EObject resolved = eResolveProxy(result); if (resolved != result) { int eContainerFeatureID = eContainerFeatureID(); NotificationChain notificationChain = eBasicRemoveFromContainer(null); eBasicSetContainer((InternalEObject)resolved, eContainerFeatureID); if (notificationChain != null) { notificationChain.dispatch(); } if (eNotificationRequired() && eContainerFeatureID > EOPPOSITE_FEATURE_BASE) { eNotify(new ENotificationImpl(this, Notification.RESOLVE, eContainerFeatureID, result, resolved)); } return resolved; } } } return result; }