package de.ovgu.cide.features; import org.eclipse.core.resources.IProject; /** * one feature model is required for every project. the provider creates such a * feature model for a given project. CIDE selects the appropriate provider for * each project. * * @author ckaestne * */ public interface IFeatureModelProvider { /** * returns the feature model for a given project. if a feature model does * not exist it should usually be generated on the fly. * * @param project * for which the feature model should be created. project must * exist. * @return the feature model, not null * @throws FeatureModelNotFoundException * if there is no feature model from this provider for the given * project (e.g., project does not have the correct nature). */ IFeatureModel getFeatureModel(IProject project) throws FeatureModelNotFoundException; }