/*******************************************************************************
* Copyright (c) 2005, 2007 committers of openArchitectureWare 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:
* committers of openArchitectureWare - initial API and implementation
*******************************************************************************/
package org.eclipse.emf.mwe.core.config;
import org.eclipse.emf.mwe.core.issues.Issues;
public class GlobalConfigurationHolder {
private static ConfigurationModel configModel = null;
/**
* Sets the configuration model. This method won't allow to overwrite the existing configuration.
* @param cm The configuration
* @param issues The Issues object to report errors to
*/
public static void setConfigurationModel( ConfigurationModel cm, Issues issues ) {
setConfigurationModel(cm, issues, false);
}
/**
* Sets the configuration model
* @param cm The configuration
* @param issues The Issues object to report errors to
* @param overwrite Allow replacement of the configuration model when it was already set
*/
public static void setConfigurationModel( ConfigurationModel cm, Issues issues, boolean overwrite ) {
if ( configModel != null ) {
if ( !configModel.equals(cm) && !overwrite) {
issues.addError("configuration model already set!");
}
} else {
configModel = cm;
}
}
public static ConfigurationModel getConfiguration() {
return configModel;
}
}