// Copyright (C) 2010 The Android Open Source Project
//
// 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 com.google.gerrit.prettify.common;

/** Settings to configure a {@link PrettyFormatter}. */
public class PrettySettings {
  protected String fileName;
  protected boolean showWhiteSpaceErrors;
  protected int lineLength;
  protected int tabSize;
  protected boolean showTabs;
  protected boolean syntaxHighlighting;
  protected boolean intralineDifference;

  public PrettySettings() {
    showWhiteSpaceErrors = true;
    lineLength = 100;
    tabSize = 2;
    showTabs = true;
    syntaxHighlighting = true;
    intralineDifference = true;
  }

  public PrettySettings(PrettySettings pretty) {
    fileName = pretty.fileName;
    showWhiteSpaceErrors = pretty.showWhiteSpaceErrors;
    lineLength = pretty.lineLength;
    tabSize = pretty.tabSize;
    showTabs = pretty.showTabs;
    syntaxHighlighting = pretty.syntaxHighlighting;
    intralineDifference = pretty.intralineDifference;
  }

  public String getFilename() {
    return fileName;
  }

  public PrettySettings setFileName(final String name) {
    fileName = name;
    return this;
  }

  public boolean isShowWhiteSpaceErrors() {
    return showWhiteSpaceErrors;
  }

  public PrettySettings setShowWhiteSpaceErrors(final boolean show) {
    showWhiteSpaceErrors = show;
    return this;
  }

  public int getLineLength() {
    return lineLength;
  }

  public PrettySettings setLineLength(final int len) {
    lineLength = len;
    return this;
  }

  public int getTabSize() {
    return tabSize;
  }

  public PrettySettings setTabSize(final int len) {
    tabSize = len;
    return this;
  }

  public boolean isShowTabs() {
    return showTabs;
  }

  public PrettySettings setShowTabs(final boolean show) {
    showTabs = show;
    return this;
  }

  public boolean isSyntaxHighlighting() {
    return syntaxHighlighting;
  }

  public void setSyntaxHighlighting(final boolean on) {
    syntaxHighlighting = on;
  }

  public boolean isIntralineDifference() {
    return intralineDifference;
  }

  public void setIntralineDifference(final boolean on) {
    intralineDifference = on;
  }
}

// Copyright (C) 2010 The Android Open Source Project
//
// 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 com.google.gerrit.prettify.common;

/** Settings to configure a {@link PrettyFormatter}. */
public class PrettySettings {
  protected String fileName;
  protected boolean showWhiteSpaceErrors;
  protected int lineLength;
  protected int tabSize;
  protected boolean showTabs;
  protected boolean syntaxHighlighting;
  protected boolean intralineDifference;

  public PrettySettings() {
    showWhiteSpaceErrors = true;
    lineLength = 100;
    tabSize = 8;
    showTabs = true;
    syntaxHighlighting = true;
    intralineDifference = true;
  }

  public PrettySettings(PrettySettings pretty) {
    fileName = pretty.fileName;
    showWhiteSpaceErrors = pretty.showWhiteSpaceErrors;
    lineLength = pretty.lineLength;
    tabSize = pretty.tabSize;
    showTabs = pretty.showTabs;
    syntaxHighlighting = pretty.syntaxHighlighting;
    intralineDifference = pretty.intralineDifference;
  }

  public String getFilename() {
    return fileName;
  }

  public PrettySettings setFileName(final String name) {
    fileName = name;
    return this;
  }

  public boolean isShowWhiteSpaceErrors() {
    return showWhiteSpaceErrors;
  }

  public PrettySettings setShowWhiteSpaceErrors(final boolean show) {
    showWhiteSpaceErrors = show;
    return this;
  }

  public int getLineLength() {
    return lineLength;
  }

  public PrettySettings setLineLength(final int len) {
    lineLength = len;
    return this;
  }

  public int getTabSize() {
    return tabSize;
  }

  public PrettySettings setTabSize(final int len) {
    tabSize = len;
    return this;
  }

  public boolean isShowTabs() {
    return showTabs;
  }

  public PrettySettings setShowTabs(final boolean show) {
    showTabs = show;
    return this;
  }

  public boolean isSyntaxHighlighting() {
    return syntaxHighlighting;
  }

  public void setSyntaxHighlighting(final boolean on) {
    syntaxHighlighting = on;
  }

  public boolean isIntralineDifference() {
    return intralineDifference;
  }

  public void setIntralineDifference(final boolean on) {
    intralineDifference = on;
  }
}

Change default tab width to 8