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); } }