Package krasa.formatter.settings

Source Code of krasa.formatter.settings.Settings

/*
* External Code Formatter Copyright (c) 2007-2009 Esko Luontola, www.orfjackal.net Licensed under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the
* License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for
* the specific language governing permissions and limitations under the License.
*/

package krasa.formatter.settings;

import com.intellij.util.xmlb.annotations.Transient;
import krasa.formatter.settings.provider.JSPropertiesProvider;
import krasa.formatter.settings.provider.JavaPropertiesProvider;
import krasa.formatter.utils.StringUtils;
import org.jetbrains.annotations.NotNull;

import java.util.List;

/**
* @author Esko Luontola
* @author Vojtech Krasa
* @since 4.12.2007
*/
public class Settings {
  public static final String LINE_SEPARATOR = "\n";

  private String name = null;
  private Long id = null;

  private String pathToConfigFileJS = "";
  private boolean enableJavaFormatting = true;
  private boolean enableJSFormatting = false;

  @NotNull
  private Formatter formatter = Formatter.DEFAULT;
  @NotNull
  private String pathToConfigFileJava = "";
  private String disabledFileTypes = "";
  private boolean optimizeImports = true;
  private boolean importOrderFromFile = false;
  private boolean formatOtherFileTypesWithIntelliJ = true;
  private boolean formatSeletedTextInAllFileTypes = true;
  private Integer notifyFromTextLenght = 300;
  private String importOrder = "java;javax;org;com;";
  private String importOrderConfigFilePath = "";
  private String selectedJavaProfile = null;
  private boolean defaultSettings = false;
  private boolean enableGWT = false;
  @Transient
  protected transient JavaPropertiesProvider javaPropertiesProvider;
  @Transient
  protected transient JSPropertiesProvider jsPropertiesProvider;
  private boolean enableJSProcessor;
    private String selectedJavaScriptProfile;

    public Settings() {
  }

  public Settings(Long id, String name) {
    this.id = id;
    this.name = name;
  }

  public DisabledFileTypeSettings geDisabledFileTypeSettings() {
    return new DisabledFileTypeSettings(disabledFileTypes);
  }

  public String getSelectedJavaProfile() {
    return selectedJavaProfile;
  }

  public void setSelectedJavaProfile(String selectedJavaProfile) {
    javaPropertiesProvider = null;
    this.selectedJavaProfile = selectedJavaProfile;
  }

  public String getPathToConfigFileJS() {
    return pathToConfigFileJS;
  }

  public void setPathToConfigFileJS(final String pathToConfigFileJS) {
    jsPropertiesProvider = null;
    this.pathToConfigFileJS = pathToConfigFileJS;
  }

  public boolean isEnableJavaFormatting() {
    return enableJavaFormatting;
  }

  public void setEnableJavaFormatting(final boolean enableJavaFormatting) {
    this.enableJavaFormatting = enableJavaFormatting;
  }

  public boolean isEnableJSFormatting() {
    return enableJSFormatting;
  }

  public void setEnableJSFormatting(final boolean enableJSFormatting) {
    this.enableJSFormatting = enableJSFormatting;
  }

  public List<String> getImportOrderAsList() {
    return StringUtils.trimToList(importOrder);
  }

  public String getImportOrder() {
    return importOrder;
  }

  public void setImportOrder(final String importOrder) {
    this.importOrder = importOrder;
  }

  public String getImportOrderConfigFilePath() {
    return importOrderConfigFilePath;
  }

  public void setImportOrderConfigFilePath(final String importOrderConfigFilePath) {
    this.importOrderConfigFilePath = importOrderConfigFilePath;
  }

  public boolean isDefaultSettings() {
    return defaultSettings;
  }

  public boolean isEnableGWT() {
    return enableGWT;
  }

  public void setEnableGWT(final boolean enableGWT) {
    this.enableGWT = enableGWT;
  }

  public JSPropertiesProvider getJSProperties() {
    if (jsPropertiesProvider == null) {
      jsPropertiesProvider = new JSPropertiesProvider(this);
    }
    return jsPropertiesProvider;
  }

  public JavaPropertiesProvider getJavaProperties() {
    if (javaPropertiesProvider == null) {
      javaPropertiesProvider = new JavaPropertiesProvider(this);
    }
    return javaPropertiesProvider;
  }

  public boolean isEnableJSProcessor() {
    return enableJSProcessor;
  }

  public void setEnableJSProcessor(final boolean enableJSProcessor) {
    this.enableJSProcessor = enableJSProcessor;
  }

    public String getSelectedJavaScriptProfile() {
        return selectedJavaScriptProfile;
    }

    public void setSelectedJavaScriptProfile(String selectedJavaScriptProfile) {
        jsPropertiesProvider = null;
        this.selectedJavaScriptProfile = selectedJavaScriptProfile;
    }


    public static enum Formatter {
    DEFAULT,
    ECLIPSE
  }

  public static enum Location {
    PROJECT,
    APPLICATION
  }

  public boolean isFormatSeletedTextInAllFileTypes() {
    return formatSeletedTextInAllFileTypes;
  }

  public void setFormatSeletedTextInAllFileTypes(boolean formatSeletedTextInAllFileTypes) {
    this.formatSeletedTextInAllFileTypes = formatSeletedTextInAllFileTypes;
  }

  public boolean isFormatOtherFileTypesWithIntelliJ() {
    return formatOtherFileTypesWithIntelliJ;
  }

  public void setFormatOtherFileTypesWithIntelliJ(boolean formatOtherFileTypesWithIntelliJ) {
    this.formatOtherFileTypesWithIntelliJ = formatOtherFileTypesWithIntelliJ;
  }

  public Integer getNotifyFromTextLenght() {
    return notifyFromTextLenght;
  }

  public void setNotifyFromTextLenght(Integer notifyFromTextLenght) {
    this.notifyFromTextLenght = notifyFromTextLenght;
  }

  public boolean isOptimizeImports() {
    return optimizeImports;
  }

  public String getDisabledFileTypes() {
    return disabledFileTypes;
  }

  public void setDisabledFileTypes(String disabledFileTypes) {
    this.disabledFileTypes = disabledFileTypes;
  }

  public void setOptimizeImports(boolean optimizeImports) {
    this.optimizeImports = optimizeImports;
  }

  @NotNull
  public Formatter getFormatter() {
    return formatter;
  }

  public void setFormatter(@NotNull Formatter formatter) {
    this.formatter = formatter;
  }

  @NotNull
  public String getPathToConfigFileJava() {
    return pathToConfigFileJava;
  }

  public void setPathToConfigFileJava(@NotNull String pathToConfigFileJava) {
    javaPropertiesProvider = null;
    this.pathToConfigFileJava = pathToConfigFileJava;
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public Long getId() {
    return id;
  }

  public void setId(Long id) {
    this.id = id;
  }

  public boolean equalsContent(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }

    Settings settings = (Settings) o;

    if (enableJSFormatting != settings.enableJSFormatting) {
      return false;
    }
    if (enableJavaFormatting != settings.enableJavaFormatting) {
      return false;
    }
    if (formatOtherFileTypesWithIntelliJ != settings.formatOtherFileTypesWithIntelliJ) {
      return false;
    }
    if (formatSeletedTextInAllFileTypes != settings.formatSeletedTextInAllFileTypes) {
      return false;
    }
    if (importOrderFromFile != settings.importOrderFromFile) {
      return false;
    }
    if (optimizeImports != settings.optimizeImports) {
      return false;
    }
    if (disabledFileTypes != null ? !disabledFileTypes.equals(settings.disabledFileTypes)
        : settings.disabledFileTypes != null) {
      return false;
    }
    if (formatter != settings.formatter) {
      return false;
    }
    if (importOrder != null ? !importOrder.equals(settings.importOrder) : settings.importOrder != null) {
      return false;
    }
    if (importOrderConfigFilePath != null ? !importOrderConfigFilePath.equals(settings.importOrderConfigFilePath)
        : settings.importOrderConfigFilePath != null) {
      return false;
    }
    if (notifyFromTextLenght != null ? !notifyFromTextLenght.equals(settings.notifyFromTextLenght)
        : settings.notifyFromTextLenght != null) {
      return false;
    }
    if (pathToConfigFileJS != null ? !pathToConfigFileJS.equals(settings.pathToConfigFileJS)
        : settings.pathToConfigFileJS != null) {
      return false;
    }
    if (!pathToConfigFileJava.equals(settings.pathToConfigFileJava)) {
      return false;
    }

    return true;
  }

  public boolean isImportOrderFromFile() {
    return importOrderFromFile;
  }

  public void setDefaultSettings(boolean defaultSettings) {
    this.defaultSettings = defaultSettings;
  }

  public void setImportOrderFromFile(boolean importOrderFromFile) {
    this.importOrderFromFile = importOrderFromFile;
  }

    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder();
        sb.append("Settings");
        sb.append("{name='").append(name).append('\'');
        sb.append(", id=").append(id);
        sb.append(", pathToConfigFileJS='").append(pathToConfigFileJS).append('\'');
        sb.append(", enableJavaFormatting=").append(enableJavaFormatting);
        sb.append(", enableJSFormatting=").append(enableJSFormatting);
        sb.append(", formatter=").append(formatter);
        sb.append(", pathToConfigFileJava='").append(pathToConfigFileJava).append('\'');
        sb.append(", disabledFileTypes='").append(disabledFileTypes).append('\'');
        sb.append(", optimizeImports=").append(optimizeImports);
        sb.append(", importOrderFromFile=").append(importOrderFromFile);
        sb.append(", formatOtherFileTypesWithIntelliJ=").append(formatOtherFileTypesWithIntelliJ);
        sb.append(", formatSeletedTextInAllFileTypes=").append(formatSeletedTextInAllFileTypes);
        sb.append(", notifyFromTextLenght=").append(notifyFromTextLenght);
        sb.append(", importOrder='").append(importOrder).append('\'');
        sb.append(", importOrderConfigFilePath='").append(importOrderConfigFilePath).append('\'');
        sb.append(", selectedJavaProfile='").append(selectedJavaProfile).append('\'');
        sb.append(", selectedJavaScriptProfile='").append(selectedJavaScriptProfile).append('\'');
        sb.append(", defaultSettings=").append(defaultSettings);
        sb.append(", enableGWT=").append(enableGWT);
        sb.append(", javaPropertiesProvider=").append(javaPropertiesProvider);
        sb.append(", jsPropertiesProvider=").append(jsPropertiesProvider);
        sb.append(", enableJSProcessor=").append(enableJSProcessor);
        sb.append('}');
        return sb.toString();
    }
}
TOP

Related Classes of krasa.formatter.settings.Settings

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.