src/com/jetbrains/php/tools/quality/phpstan/PhpStanOptionsConfiguration.java (60 lines of code) (raw):

package com.jetbrains.php.tools.quality.phpstan; import com.intellij.openapi.components.PersistentStateComponent; import com.intellij.openapi.components.State; import com.intellij.openapi.components.Storage; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.NlsSafe; import com.intellij.util.xmlb.XmlSerializerUtil; import com.jetbrains.php.tools.quality.QualityToolsOptionsConfiguration; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @State(name = "PhpStanOptionsConfiguration", storages = @Storage("php.xml")) public class PhpStanOptionsConfiguration extends QualityToolsOptionsConfiguration implements PersistentStateComponent<PhpStanOptionsConfiguration> { private boolean fullProject = false; private @NonNls String memoryLimit = "2G"; private int level = 4; private @NlsSafe String config = ""; private @NlsSafe String autoload = ""; public boolean isFullProject() { return fullProject; } public void setFullProject(boolean fullProject) { this.fullProject = fullProject; } public String getMemoryLimit() { return memoryLimit; } public void setMemoryLimit(String memoryLimit) { this.memoryLimit = memoryLimit; } public int getLevel() { return level; } public void setLevel(int level) { this.level = level; } public String getConfig() { return config; } public void setConfig(String config) { this.config = config; } public String getAutoload() { return autoload; } public void setAutoload(String autoload) { this.autoload = autoload; } @Override public @Nullable PhpStanOptionsConfiguration getState() { return this; } @Override public void loadState(@NotNull PhpStanOptionsConfiguration state) { XmlSerializerUtil.copyBean(state, this); } public static PhpStanOptionsConfiguration getInstance(Project project) { return project.getService(PhpStanOptionsConfiguration.class); } }