/*****************************************************************************
* Copyright (c) 2010 Atos Origin.
*
*
* 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:
* Emilien Perico (Atos Origin) emilien.perico@atosorigin.com - Initial API and implementation
*
*****************************************************************************/
package org.eclipse.papyrus.infra.services.resourceloading;
import org.eclipse.emf.common.util.URI;
import org.eclipse.papyrus.infra.core.resource.ModelSet;
/**
* The Interface ILoadingStrategy that manages several strategies to load the model
*/
public interface ILoadingStrategy {
/**
* Check if the resource from the uri need to be loaded according to the strategy.
*
* @param modelSet
* @param uri
* @return true if resource must be loaded, return false otherwise
*/
boolean loadResource(ModelSet modelSet, URI uri);
// AR : additional resources (types, profiles ...)
// parents : set of elements containing the current selection
// currents : the resource opened
// children : the resources bellow the current selection
// strategy 1: all : AR U parents U currents U children -> done
// strategy 2: only one : AR U currents -> done
// strategy 3: bellow : AR U children U currents
// strategy 4: ask the user the needed resources he wants to load (need an UI)
}