135 lines
6.0 KiB
Java
135 lines
6.0 KiB
Java
package lombok.delombok;
|
|
|
|
import java.util.Arrays;
|
|
import java.util.Collections;
|
|
import java.util.LinkedHashMap;
|
|
import java.util.Map;
|
|
/* loaded from: com.discord-118107.apk:lombok/delombok/FormatPreferences.SCL.lombok */
|
|
public final class FormatPreferences {
|
|
private final String indent;
|
|
private final Boolean filledEmpties;
|
|
private final boolean generateFinalParams;
|
|
private final boolean generateConstructorProperties;
|
|
private final boolean generateSuppressWarnings;
|
|
private final boolean danceAroundIdeChecks;
|
|
private final boolean generateDelombokComment;
|
|
private final boolean javaLangAsFqn;
|
|
final Map<String, String> rawMap;
|
|
private final boolean generateGenerated;
|
|
static final Map<String, String> KEYS;
|
|
|
|
static {
|
|
LinkedHashMap linkedHashMap = new LinkedHashMap();
|
|
linkedHashMap.put("indent", "The indent to use. 'tab' can be used to represent 1 tab. A number means that many spaces. Default: 'tab'");
|
|
linkedHashMap.put("emptyLines", "Either 'indent' or 'blank'. indent means: Indent an empty line to the right level. Default: 'blank'");
|
|
linkedHashMap.put("finalParams", "Either 'generate' or 'skip'. generate means: All lombok-generated methods set all parameters to final. Default: 'generate'");
|
|
linkedHashMap.put("constructorProperties", "Either 'generate' or 'skip'. generate means: All lombok-generated constructors with 1 or more arguments get an @ConstructorProperties annotation. Default: 'generate'");
|
|
linkedHashMap.put("suppressWarnings", "Either 'generate' or 'skip'. generate means: All lombok-generated methods, types, and fields get a @SuppressWarnings annotation. Default: 'generate'");
|
|
linkedHashMap.put("generated", "Either 'generate' or 'skip'. generate means: All lombok-generated methods, types, and fields get a @javax.annotation.Generated(\"lombok\") annotation. Default: 'generate'");
|
|
linkedHashMap.put("danceAroundIdeChecks", "Either 'generate' or 'skip'. generate means: Lombok will intentionally obfuscate some generated code to avoid IDE warnings. Default: 'generate'");
|
|
linkedHashMap.put("generateDelombokComment", "Either 'generate' or 'skip'. generate means: Any file modified by delombok will have a comment stating this at the top. Default: 'generate'");
|
|
linkedHashMap.put("javaLangAsFQN", "Either 'generate' or 'skip'. generate means: Any generated reference to java.lang classes are prefixed with `java.lang.`. Default: 'generate'");
|
|
KEYS = Collections.unmodifiableMap(linkedHashMap);
|
|
}
|
|
|
|
public FormatPreferences(Map<String, String> map) {
|
|
this(map, null, null);
|
|
}
|
|
|
|
public FormatPreferences(Map<String, String> map, String str, Boolean bool) {
|
|
this.rawMap = map;
|
|
map = map == null ? Collections.emptyMap() : map;
|
|
String str2 = map.get("indent");
|
|
if (str2 != null && !"scan".equalsIgnoreCase(str2)) {
|
|
try {
|
|
int parseInt = Integer.parseInt(str2);
|
|
if (parseInt > 0 && parseInt < 32) {
|
|
char[] cArr = new char[parseInt];
|
|
Arrays.fill(cArr, ' ');
|
|
str2 = new String(cArr);
|
|
}
|
|
} catch (NumberFormatException unused) {
|
|
}
|
|
str = str2.replace("\\t", "\t").replace("tab", "\t");
|
|
}
|
|
String str3 = map.get("emptyLines".toLowerCase());
|
|
if ("indent".equalsIgnoreCase(str3)) {
|
|
bool = true;
|
|
} else if ("blank".equalsIgnoreCase(str3)) {
|
|
bool = false;
|
|
} else if (str3 != null && !"scan".equalsIgnoreCase(str3)) {
|
|
throw new IllegalArgumentException("Legal values for 'emptyLines' are 'scan', 'indent', or 'blank'.");
|
|
}
|
|
this.indent = str;
|
|
this.filledEmpties = bool;
|
|
this.generateFinalParams = unrollBoolean(map, "finalParams", "generate", "skip", true);
|
|
this.generateConstructorProperties = unrollBoolean(map, "constructorProperties", "generate", "skip", true);
|
|
this.generateSuppressWarnings = unrollBoolean(map, "suppressWarnings", "generate", "skip", true);
|
|
this.generateGenerated = unrollBoolean(map, "generated", "generate", "skip", true);
|
|
this.danceAroundIdeChecks = unrollBoolean(map, "danceAroundIdeChecks", "generate", "skip", true);
|
|
this.generateDelombokComment = unrollBoolean(map, "generateDelombokComment", "generate", "skip", true);
|
|
this.javaLangAsFqn = unrollBoolean(map, "javaLangAsFQN", "generate", "skip", true);
|
|
}
|
|
|
|
private static boolean unrollBoolean(Map<String, String> map, String str, String str2, String str3, boolean z2) {
|
|
String str4 = map.get(str.toLowerCase());
|
|
if (str4 == null) {
|
|
return z2;
|
|
}
|
|
if (str2.equalsIgnoreCase(str4)) {
|
|
return true;
|
|
}
|
|
if (str3.equalsIgnoreCase(str4)) {
|
|
return false;
|
|
}
|
|
throw new IllegalArgumentException("Legal values for '" + str + "' are '" + str2 + "', or '" + str3 + "'.");
|
|
}
|
|
|
|
public static Map<String, String> getKeysAndDescriptions() {
|
|
return KEYS;
|
|
}
|
|
|
|
public boolean fillEmpties() {
|
|
if (this.filledEmpties == null) {
|
|
return false;
|
|
}
|
|
return this.filledEmpties.booleanValue();
|
|
}
|
|
|
|
public String indent() {
|
|
return this.indent == null ? "\t" : this.indent;
|
|
}
|
|
|
|
public boolean generateSuppressWarnings() {
|
|
return this.generateSuppressWarnings;
|
|
}
|
|
|
|
public boolean generateGenerated() {
|
|
return this.generateGenerated;
|
|
}
|
|
|
|
public boolean generateFinalParams() {
|
|
return this.generateFinalParams;
|
|
}
|
|
|
|
public boolean danceAroundIdeChecks() {
|
|
return this.danceAroundIdeChecks;
|
|
}
|
|
|
|
public boolean generateDelombokComment() {
|
|
return this.generateDelombokComment;
|
|
}
|
|
|
|
public boolean javaLangAsFqn() {
|
|
return this.javaLangAsFqn;
|
|
}
|
|
|
|
public boolean generateConstructorProperties() {
|
|
return this.generateConstructorProperties;
|
|
}
|
|
|
|
public String toString() {
|
|
return this.rawMap.toString();
|
|
}
|
|
}
|