blob: ffcd77f12dfb1ec10df08b451408c9939b173360 [file] [log] [blame]
/**
* Copyright (c) 2010 Henning Heitkoetter.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Henning Heitkoetter - initial API and implementation
*/
package org.eclipse.bpmn2.util;
import org.eclipse.bpmn2.Bpmn2Package;
import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.xmi.XMLSave;
import org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl;
import org.eclipse.emf.ecore.xmi.impl.XMISaveImpl;
/**
* <!-- begin-user-doc -->
* The <b>Resource </b> associated with the package.
* <!-- end-user-doc -->
* @see org.eclipse.bpmn2.util.Bpmn2ResourceFactoryImpl
* @generated
*/
public class Bpmn2XMIResourceImpl extends XMIResourceImpl implements Bpmn2Resource {
protected Bpmn2OppositeReferenceAdapter oppositeReferenceAdapter = new Bpmn2OppositeReferenceAdapter();
public Bpmn2OppositeReferenceAdapter getOppositeReferenceAdapter() {
return oppositeReferenceAdapter;
}
/**
* Creates an instance of the resource.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param uri the URI of the new resource.
* @generated
*/
public Bpmn2XMIResourceImpl(URI uri) {
super(uri);
this.eAdapters().add(oppositeReferenceAdapter);
}
@Override
public NotificationChain basicSetResourceSet(ResourceSet resourceSet,
NotificationChain notifications) {
if (resourceSet != null)
resourceSet.eAdapters().add(oppositeReferenceAdapter);
return super.basicSetResourceSet(resourceSet, notifications);
}
@Override
protected XMLSave createXMLSave() {
return new XMISaveImpl(createXMLHelper()) {
@Override
protected boolean shouldSaveFeature(EObject o, EStructuralFeature f) {
if (Bpmn2Package.eINSTANCE.getDocumentation_Mixed().equals(f))
return false;
return super.shouldSaveFeature(o, f);
}
};
}
} //Bpmn2XMIResourceImpl