package jetbrains.mps.execution.configurations.implementation.plugin.plugin;
/*Generated by MPS */
import jetbrains.mps.execution.api.settings.IPersistentConfiguration;
import org.apache.log4j.Logger;
import org.apache.log4j.LogManager;
import org.jetbrains.annotations.NotNull;
import jetbrains.mps.execution.api.settings.PersistentConfigurationContext;
import com.intellij.execution.configurations.RuntimeConfigurationException;
import org.jdom.Element;
import com.intellij.openapi.util.WriteExternalException;
import com.intellij.util.xmlb.XmlSerializer;
import com.intellij.openapi.util.InvalidDataException;
import jetbrains.mps.execution.lib.ClonableList;
import java.util.List;
import org.jetbrains.mps.openapi.model.SNodeReference;
import jetbrains.mps.execution.lib.PointerUtils;
import org.apache.log4j.Level;
import com.intellij.openapi.project.Project;
public class DeployPluginsSettings_Configuration implements IPersistentConfiguration {
private static final Logger LOG = LogManager.getLogger(DeployPluginsSettings_Configuration.class);
@NotNull
private DeployPluginsSettings_Configuration.MyState myState = new DeployPluginsSettings_Configuration.MyState();
public void checkConfiguration(final PersistentConfigurationContext context) throws RuntimeConfigurationException {
}
@Override
public void writeExternal(Element element) throws WriteExternalException {
element.addContent(XmlSerializer.serialize(myState));
}
@Override
public void readExternal(Element element) throws InvalidDataException {
if (element == null) {
throw new InvalidDataException("Cant read " + this + ": element is null.");
}
XmlSerializer.deserializeInto(myState, (Element) element.getChildren().get(0));
}
public ClonableList<String> getPluginsToDeploy() {
return myState.myPluginsToDeploy;
}
public void setPluginsToDeploy(ClonableList<String> value) {
myState.myPluginsToDeploy = value;
}
public List<SNodeReference> getPluginsListToDeploy() {
return PointerUtils.clonableListToNodes(this.getPluginsToDeploy());
}
@Override
public DeployPluginsSettings_Configuration clone() {
DeployPluginsSettings_Configuration clone = null;
try {
clone = createCloneTemplate();
clone.myState = (DeployPluginsSettings_Configuration.MyState) myState.clone();
return clone;
} catch (CloneNotSupportedException ex) {
if (LOG.isEnabledFor(Level.ERROR)) {
LOG.error("", ex);
}
}
return clone;
}
public class MyState {
public ClonableList<String> myPluginsToDeploy = new ClonableList<String>();
public MyState() {
}
@Override
public Object clone() throws CloneNotSupportedException {
DeployPluginsSettings_Configuration.MyState state = new DeployPluginsSettings_Configuration.MyState();
if (myPluginsToDeploy != null) {
state.myPluginsToDeploy = myPluginsToDeploy.clone();
}
return state;
}
}
public DeployPluginsSettings_Configuration(Project p) {
myp = p;
}
private final Project myp;
public DeployPluginsSettings_Configuration createCloneTemplate() {
return new DeployPluginsSettings_Configuration(myp);
}
public DeployPluginsSettings_Configuration_Editor getEditor() {
return new DeployPluginsSettings_Configuration_Editor(myp);
}
}