blob: c14c293552b86a4b3c48f5b4382f8a43f4a10710 [file] [log] [blame]
/*****************************************************************************
* Copyright (c) 2015 CEA LIST and others.
*
* 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:
* CEA LIST - Initial API and implementation
* Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - bug 496176
*****************************************************************************/
package org.eclipse.papyrus.interoperability.common.transformation;
import org.eclipse.emf.ecore.resource.ResourceSet;
/**
* A ResourceSet which can optionally be "frozen". In frozen state,
* it won't load any additional resource, until {@link #unfreeze()} is called
*
* Freezing the ResourceSet may violate the EMF Contract of getResource() and should be used carefully.
*
* Use this when using eGet(EStructuralFeature, resolve = false) is not sufficient (Bug 457341 / Comment 17)
*
* @author Camille Letavernier
*
*/
public interface MigrationResourceSet extends ResourceSet {
/**
* Freeze this resource set: resources will not be demand-loaded anymore
* Resources which are already present in the workspace will still be accessible
*
* Frozen ResourceSets may violate the API Contract for {@link #getResource(org.eclipse.emf.common.util.URI, boolean)} ; use with care
*/
public void freeze();
/**
* Unfreeze this resource set: come back to a normal state
*/
public void unfreeze();
}