package org.insightech.er.editor.model.settings;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
//import org.insightech.er.Activator;
public class EnvironmentSetting implements Serializable, Cloneable {
private static final long serialVersionUID = 4937234635221817893L;
private List<Environment> environments;
private Environment currentEnvironment;
public EnvironmentSetting() {
this.environments = new ArrayList<Environment>();
// this.environments.add(new Environment(Activator
// .getResourceString("label.default")));
}
/**
* environments ���擾���܂�.
*
* @return environments
*/
public List<Environment> getEnvironments() {
return environments;
}
/**
* environments ��ݒ肵�܂�.
*
* @param environments
* environments
*/
public void setEnvironments(List<Environment> environments) {
this.environments = environments;
}
/**
* currentEnvironment ���擾���܂�.
*
* @return currentEnvironment
*/
public Environment getCurrentEnvironment() {
return currentEnvironment;
}
/**
* currentEnvironment ��ݒ肵�܂�.
*
* @param currentEnvironment
* currentEnvironment
*/
public void setCurrentEnvironment(Environment currentEnvironment) {
this.currentEnvironment = currentEnvironment;
}
/**
* {@inheritDoc}
*/
@Override
public Object clone() {
try {
EnvironmentSetting setting = (EnvironmentSetting) super.clone();
setting.environments = new ArrayList<Environment>();
Map<Environment, Environment> oldNewMap = new HashMap<Environment, Environment>();
for (Environment environment : this.environments) {
Environment newEnvironment = environment.clone();
setting.environments.add(newEnvironment);
oldNewMap.put(environment, newEnvironment);
}
setting.currentEnvironment = oldNewMap.get(this.currentEnvironment);
return setting;
} catch (CloneNotSupportedException e) {
return null;
}
}
}