Package com.intellij.javascript.karma.execution

Source Code of com.intellij.javascript.karma.execution.KarmaPackageDirSetting

package com.intellij.javascript.karma.execution;

import com.intellij.openapi.components.*;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.text.StringUtil;
import org.jdom.Element;
import org.jdom.Text;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

@State(
  name = "JsKarmaPackageDirSetting",
  storages = {
    @Storage(file = StoragePathMacros.WORKSPACE_FILE)
  }
)
public class KarmaPackageDirSetting implements PersistentStateComponent<Element> {

  private String myPackageDir;

  @Nullable
  @Override
  public Element getState() {
    if (StringUtil.isEmpty(myPackageDir)) {
      return null;
    }
    Element element = new Element("karma-settings");
    Element child = new Element("data");
    child.addContent(new Text(myPackageDir));
    element.addContent(child);
    return element;
  }

  @Override
  public void loadState(Element state) {
    if (state != null) {
      Element child = state.getChild("data");
      if (child != null) {
        myPackageDir = child.getText();
      }
    }
  }

  @NotNull
  public static KarmaPackageDirSetting getInstance(@NotNull Project project) {
    return ServiceManager.getService(project, KarmaPackageDirSetting.class);
  }

  @Nullable
  public String getPackageDir() {
    return myPackageDir;
  }

  public void setPackageDir(@NotNull String packageDir) {
    myPackageDir = packageDir;
  }

}
TOP

Related Classes of com.intellij.javascript.karma.execution.KarmaPackageDirSetting

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.