blob: facdfa526150a8af13912d554508631eb6123a80 [file] [log] [blame]
/*
* Copyright 2001-2013 the original author or authors.
*
* 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 org.jetbrains.generate.tostring.config;
/**
* The configuration is stored standard xmlb.XmlSerializer that automatically stores the
* state of this classes public fields.
*/
public class Config {
public boolean useFullyQualifiedName = false;
public InsertWhere insertNewMethodOption = InsertWhere.AT_CARET;
public DuplicationPolicy whenDuplicatesOption = DuplicationPolicy.ASK;
public boolean filterConstantField = true;
public boolean filterEnumField = false;
public boolean filterTransientModifier = false;
public boolean filterStaticModifier = true;
public String filterFieldName = null;
public String filterMethodName = null;
public String filterMethodType = null;
public String filterFieldType = null;
public boolean filterLoggers = true;
public boolean addImplementSerializable = false;
public boolean enableMethods = false;
public boolean jumpToMethod = true; // jump cursor to toString method
public int sortElements = 0; // 0 = none, 1 = asc, 2 = desc
private FilterPattern myPattern = null;
public boolean isUseFullyQualifiedName() {
return useFullyQualifiedName;
}
public void setUseFullyQualifiedName(boolean useFullyQualifiedName) {
this.useFullyQualifiedName = useFullyQualifiedName;
}
public DuplicationPolicy getReplaceDialogInitialOption() {
return whenDuplicatesOption;
}
public void setReplaceDialogInitialOption(DuplicationPolicy option) {
this.whenDuplicatesOption = option;
}
public InsertWhere getInsertNewMethodInitialOption() {
return this.insertNewMethodOption;
}
public void setInsertNewMethodInitialOption(InsertWhere where) {
this.insertNewMethodOption = where;
}
public boolean isFilterConstantField() {
return filterConstantField;
}
public void setFilterConstantField(boolean filterConstantField) {
this.filterConstantField = filterConstantField;
}
public boolean isFilterTransientModifier() {
return filterTransientModifier;
}
public void setFilterTransientModifier(boolean filterTransientModifier) {
this.filterTransientModifier = filterTransientModifier;
}
public boolean isFilterStaticModifier() {
return filterStaticModifier;
}
public void setFilterStaticModifier(boolean filterStaticModifier) {
this.filterStaticModifier = filterStaticModifier;
}
public String getFilterFieldName() {
if (filterFieldName == null) {
return "";
}
return filterFieldName;
}
public void setFilterFieldName(String filterFieldName) {
this.filterFieldName = filterFieldName;
}
public boolean isEnableMethods() {
return enableMethods;
}
public void setEnableMethods(boolean enableMethods) {
this.enableMethods = enableMethods;
}
public String getFilterMethodName() {
if (filterMethodName == null) {
return "";
}
return filterMethodName;
}
public void setFilterMethodName(String filterMethodName) {
this.filterMethodName = filterMethodName;
}
public boolean isJumpToMethod() {
return jumpToMethod;
}
public void setJumpToMethod(boolean jumpToMethod) {
this.jumpToMethod = jumpToMethod;
}
public boolean isFilterEnumField() {
return filterEnumField;
}
public void setFilterEnumField(boolean filterEnumField) {
this.filterEnumField = filterEnumField;
}
public int getSortElements() {
return sortElements;
}
public void setSortElements(int sortElements) {
this.sortElements = sortElements;
}
public String getFilterFieldType() {
if (filterFieldType == null) {
return "";
}
return filterFieldType;
}
public void setFilterFieldType(String filterFieldType) {
this.filterFieldType = filterFieldType;
}
public boolean isFilterLoggers() {
return filterLoggers;
}
public void setFilterLoggers(boolean filterLoggers) {
this.filterLoggers = filterLoggers;
}
public String getFilterMethodType() {
if (filterMethodType == null) {
return "";
}
return filterMethodType;
}
public void setFilterMethodType(String filterMethodType) {
this.filterMethodType = filterMethodType;
}
/**
* Gets the filter pattern that this configuration represents.
*
* @return the filter pattern.
*/
public FilterPattern getFilterPattern() {
FilterPattern pattern = myPattern;
if (pattern != null) {
return pattern;
}
pattern = new FilterPattern();
pattern.setConstantField(filterConstantField);
pattern.setTransientModifier(filterTransientModifier);
pattern.setStaticModifier(filterStaticModifier);
pattern.setFieldName(filterFieldName);
pattern.setFieldType(filterFieldType);
pattern.setMethodName(filterMethodName);
pattern.setMethodType(filterMethodType);
pattern.setEnumField(filterEnumField);
pattern.setLoggers(filterLoggers);
return myPattern = pattern;
}
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
final Config config = (Config) o;
if (addImplementSerializable != config.addImplementSerializable) return false;
if (enableMethods != config.enableMethods) return false;
if (filterConstantField != config.filterConstantField) return false;
if (filterEnumField != config.filterEnumField) return false;
if (filterStaticModifier != config.filterStaticModifier) return false;
if (filterTransientModifier != config.filterTransientModifier) return false;
if (jumpToMethod != config.jumpToMethod) return false;
if (sortElements != config.sortElements) return false;
if (useFullyQualifiedName != config.useFullyQualifiedName) return false;
if (filterFieldName != null ? !filterFieldName.equals(config.filterFieldName) : config.filterFieldName != null)
return false;
if (filterFieldType != null ? !filterFieldType.equals(config.filterFieldType) : config.filterFieldType != null)
return false;
if (filterMethodName != null ? !filterMethodName.equals(config.filterMethodName) : config.filterMethodName != null)
return false;
if (filterMethodType != null ? !filterMethodType.equals(config.filterMethodType) : config.filterMethodType != null)
return false;
if (!whenDuplicatesOption.equals(config.whenDuplicatesOption)) return false;
if (!insertNewMethodOption.equals(config.insertNewMethodOption)) return false;
return true;
}
public int hashCode() {
int result;
result = (useFullyQualifiedName ? 1 : 0);
result = 29 * result + whenDuplicatesOption.hashCode();
result = 29 * result + insertNewMethodOption.hashCode();
result = 29 * result + (filterConstantField ? 1 : 0);
result = 29 * result + (filterEnumField ? 1 : 0);
result = 29 * result + (filterTransientModifier ? 1 : 0);
result = 29 * result + (filterStaticModifier ? 1 : 0);
result = 29 * result + (filterFieldName != null ? filterFieldName.hashCode() : 0);
result = 29 * result + (filterFieldType != null ? filterFieldType.hashCode() : 0);
result = 29 * result + (filterMethodName != null ? filterMethodName.hashCode() : 0);
result = 29 * result + (filterMethodType != null ? filterMethodType.hashCode() : 0);
result = 29 * result + (addImplementSerializable ? 1 : 0);
result = 29 * result + (enableMethods ? 1 : 0);
result = 29 * result + (jumpToMethod ? 1 : 0);
result = 29 * result + sortElements;
return result;
}
public String toString() {
return "Config{" +
"useFullyQualifiedName=" + useFullyQualifiedName +
", replaceDialogOption=" + whenDuplicatesOption +
", insertNewMethodOption=" + insertNewMethodOption +
", filterConstantField=" + filterConstantField +
", filterEnumField=" + filterEnumField +
", filterTransientModifier=" + filterTransientModifier +
", filterStaticModifier=" + filterStaticModifier +
", filterFieldName='" + filterFieldName + "'" +
", filterFieldType='" + filterFieldType + "'" +
", filterMethodName='" + filterMethodName + "'" +
", filterMethodType='" + filterMethodType + "'" +
", addImplementSerializable=" + addImplementSerializable +
", enableMethods=" + enableMethods +
", jumpToMethod=" + jumpToMethod +
", sortElements=" + sortElements +
"}";
}
}