BooleanOrSchema class
Пакет: com.hypixel.hytale.codec.schema.config
Файл: com/hypixel/hytale/codec/schema/config/Schema.java
implements: Codec<Object>
Методы (3)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
public Object |
decodepublic Object decode(@Nonnull BsonValue var1, ExtraInfo var2) |
|
public BsonValue |
encodepublic BsonValue encode(Object var1, ExtraInfo var2) |
|
public Schema |
toSchemapublic Schema toSchema(@Nonnull SchemaContext var1) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.codec.schema.config;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.ExtraInfo;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.codec.codecs.EnumCodec;
class="kw">import com.hypixel.hytale.codec.codecs.array.ArrayCodec;
class="kw">import com.hypixel.hytale.codec.codecs.map.MapCodec;
class="kw">import com.hypixel.hytale.codec.lookup.ObjectCodecMapCodec;
class="kw">import com.hypixel.hytale.codec.lookup.Priority;
class="kw">import com.hypixel.hytale.codec.schema.SchemaContext;
class="kw">import com.hypixel.hytale.codec.schema.metadata.ui.UIButton;
class="kw">import com.hypixel.hytale.codec.schema.metadata.ui.UIDisplayMode;
class="kw">import com.hypixel.hytale.codec.schema.metadata.ui.UIEditor;
class="kw">import com.hypixel.hytale.codec.schema.metadata.ui.UIEditorFeatures;
class="kw">import com.hypixel.hytale.codec.schema.metadata.ui.UIEditorPreview;
class="kw">import com.hypixel.hytale.codec.schema.metadata.ui.UIRebuildCaches;
class="kw">import com.hypixel.hytale.codec.util.Documentation;
class="kw">import java.util.Arrays;
class="kw">import java.util.HashMap;
class="kw">import java.util.Map;
class="kw">import java.util.Objects;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.bson.BsonArray;
class="kw">import org.bson.BsonDocument;
class="kw">import org.bson.BsonNull;
class="kw">import org.bson.BsonValue;
class="kw">public class Schema {
class="kw">public class="kw">static class="kw">final ObjectCodecMapCodec<String, Schema> CODEC = new ObjectCodecMapCodec<>("type", new Schema.StringOrBlank(), true, false);
class="kw">public class="kw">static class="kw">final ArrayCodec<Schema> ARRAY_CODEC = new ArrayCodec<>(CODEC, Schema[]::new);
class="kw">public class="kw">static class="kw">final BuilderCodec<Schema> BASE_CODEC = BuilderCodec.builder(Schema.class, Schema::new)
.append(new KeyedCodec<>("$id", Codec.STRING, false, true), (var0, var1) -> var0.id = var1, var0 -> var0.id)
.add()
.append(new KeyedCodec<>("type", new Schema.ArrayOrNull(), false, true), (var0, var1) -> var0.types = var1, var0 -> var0.types)
.add()
.append(new KeyedCodec<>("title", Codec.STRING, false, true), (var0, var1) -> var0.title = var1, var0 -> var0.title)
.add()
.append(
new KeyedCodec<>("description", Codec.STRING, false, true),
(var0, var1) -> var0.description = var1,
var0 -> var0.description == null && var0.markdownDescription != null ? Documentation.stripMarkdown(var0.markdownDescription) : var0.description
)
.add()
.append(
new KeyedCodec<>("markdownDescription", Codec.STRING, false, true), (var0, var1) -> var0.markdownDescription = var1, var0 -> var0.markdownDescription
)
.add()
.append(new KeyedCodec<>("enumDescriptions", Codec.STRING_ARRAY, false, true), (var0, var1) -> var0.enumDescriptions = var1, var0 -> {
if (var0.enumDescriptions == null && var0.markdownEnumDescriptions != null) {
String[] var1 = new String[var0.markdownEnumDescriptions.length];
for (int var2 = 0; var2 < var1.length; var2++) {
var1[var2] = Documentation.stripMarkdown(var0.markdownEnumDescriptions[var2]);
}
class="kw">return var1;
} else {
class="kw">return var0.enumDescriptions;
}
})
.add()
.append(
new KeyedCodec<>("markdownEnumDescriptions", Codec.STRING_ARRAY, false, true),
(var0, var1) -> var0.markdownEnumDescriptions = var1,
var0 -> var0.markdownEnumDescriptions
)
.add()
.append(new KeyedCodec<>("anyOf", ARRAY_CODEC, false, true), (var0, var1) -> var0.anyOf = var1, var0 -> var0.anyOf)
.add()
.append(new KeyedCodec<>("oneOf", ARRAY_CODEC, false, true), (var0, var1) -> var0.oneOf = var1, var0 -> var0.oneOf)
.add()
.append(new KeyedCodec<>("allOf", ARRAY_CODEC, false, true), (var0, var1) -> var0.allOf = var1, var0 -> var0.allOf)
.add()
.append(new KeyedCodec<>("not", CODEC, false, true), (var0, var1) -> var0.not = var1, var0 -> var0.not)
.add()
.append(new KeyedCodec<>("if", CODEC, false, true), (var0, var1) -> var0.if_ = var1, var0 -> var0.if_)
.add()
.append(new KeyedCodec<>("then", CODEC, false, true), (var0, var1) -> var0.then = var1, var0 -> var0.then)
.add()
.append(new KeyedCodec<>("else", new Schema.BooleanOrSchema(), false, true), (var0, var1) -> var0.else_ = var1, var0 -> var0.else_)
.add()
.append(new KeyedCodec<>("required", Codec.STRING_ARRAY, false, true), (var0, var1) -> var0.required = var1, var0 -> var0.required)
.add()
.append(new KeyedCodec<>("class="kw">default", Codec.BSON_DOCUMENT, false, true), (var0, var1) -> var0.default_ = var1, var0 -> var0.default_)
.add()
.append(
new KeyedCodec<>("definitions", new MapCodec<>(CODEC, HashMap::new), false, true), (var0, var1) -> var0.definitions = var1, var0 -> var0.definitions
)
.add()
.append(new KeyedCodec<>("$ref", Codec.STRING, false, true), (var0, var1) -> var0.ref = var1, var0 -> var0.ref)
.add()
.append(new KeyedCodec<>("$data", Codec.STRING, false, true), (var0, var1) -> var0.data = var1, var0 -> var0.data)
.add()
.append(new KeyedCodec<>("doNotSuggest", Codec.BOOLEAN, false, true), (var0, var1) -> var0.doNotSuggest = var1, var0 -> var0.doNotSuggest)
.add()
.append(new KeyedCodec<>("hytaleAssetRef", Codec.STRING, false, true), (var0, var1) -> var0.hytaleAssetRef = var1, var0 -> var0.hytaleAssetRef)
.add()
.append(
new KeyedCodec<>("hytaleCustomAssetRef", Codec.STRING, false, true),
(var0, var1) -> var0.hytaleCustomAssetRef = var1,
var0 -> var0.hytaleCustomAssetRef
)
.add()
.append(new KeyedCodec<>("hytaleParent", Schema.InheritSettings.CODEC, false, true), (var0, var1) -> var0.hytaleParent = var1, var0 -> var0.hytaleParent)
.add()
.append(
new KeyedCodec<>("hytaleSchemaTypeField", Schema.SchemaTypeField.CODEC, false, true),
(var0, var1) -> var0.hytaleSchemaTypeField = var1,
var0 -> var0.hytaleSchemaTypeField
)
.add()
.append(new KeyedCodec<>("hytale", Schema.HytaleMetadata.CODEC, false, true), (var0, var1) -> {
if (var1.type == null) {
var1.type = CODEC.getIdFor((Class<? class="kw">extends Schema>)var0.getClass());
}
var0.hytale = var1;
}, var0 -> var0.hytale)
.add()
.build();
class="kw">private String id;
class="kw">private String[] types;
class="kw">private String title;
class="kw">private String description;
class="kw">private String markdownDescription;
class="kw">private Schema[] anyOf;
class="kw">private Schema[] oneOf;
class="kw">private Schema[] allOf;
class="kw">private Schema not;
class="kw">private String[] required;
class="kw">private String[] enumDescriptions;
class="kw">private String[] markdownEnumDescriptions;
class="kw">private Map<String, Schema> definitions;
class="kw">private String ref;
class="kw">private String data;
class="kw">private BsonDocument default_;
class="kw">private Schema if_;
class="kw">private Schema then;
class="kw">private Object else_;
class="kw">private Schema.HytaleMetadata hytale;
class="kw">private Schema.InheritSettings hytaleParent;
class="kw">private Schema.SchemaTypeField hytaleSchemaTypeField;
class="kw">private String hytaleAssetRef;
class="kw">private String hytaleCustomAssetRef;
class="kw">private Boolean doNotSuggest;
class="kw">public Schema() {
String var1 = CODEC.getIdFor((Class<? class="kw">extends Schema>)this.getClass());
if (var1 != null && !var1.isBlank()) {
this.hytale = new Schema.HytaleMetadata(var1);
}
}
class="kw">public String getId() {
class="kw">return this.id;
}
class="kw">public void setId(String var1) {
this.id = var1;
}
class="kw">public String[] getTypes() {
class="kw">return this.types;
}
class="kw">public void setTypes(String[] var1) {
this.types = var1;
}
class="kw">public String getTitle() {
class="kw">return this.title;
}
class="kw">public void setTitle(String var1) {
this.title = var1;
}
class="kw">public String getDescription() {
class="kw">return this.description;
}
class="kw">public void setDescription(String var1) {
this.description = var1;
}
class="kw">public String getMarkdownDescription() {
class="kw">return this.markdownDescription;
}
class="kw">public void setMarkdownDescription(String var1) {
this.markdownDescription = var1;
}
class="kw">public String[] getEnumDescriptions() {
class="kw">return this.enumDescriptions;
}
class="kw">public void setEnumDescriptions(String[] var1) {
this.enumDescriptions = var1;
}
class="kw">public String[] getMarkdownEnumDescriptions() {
class="kw">return this.markdownEnumDescriptions;
}
class="kw">public void setMarkdownEnumDescriptions(String[] var1) {
this.markdownEnumDescriptions = var1;
}
class="kw">public Schema[] getAnyOf() {
class="kw">return this.anyOf;
}
class="kw">public void setAnyOf(Schema... var1) {
this.anyOf = var1;
}
class="kw">public Schema[] getOneOf() {
class="kw">return this.oneOf;
}
class="kw">public void setOneOf(Schema... var1) {
this.oneOf = var1;
}
class="kw">public Schema[] getAllOf() {
class="kw">return this.allOf;
}
class="kw">public void setAllOf(Schema... var1) {
this.allOf = var1;
}
class="kw">public String[] getRequired() {
class="kw">return this.required;
}
class="kw">public void setRequired(String... var1) {
this.required = var1;
}
class="kw">public BsonDocument getDefaultRaw() {
class="kw">return this.default_;
}
class="kw">public void setDefaultRaw(BsonDocument var1) {
this.default_ = var1;
}
class="kw">public Map<String, Schema> getDefinitions() {
class="kw">return this.definitions;
}
class="kw">public void setDefinitions(Map<String, Schema> var1) {
this.definitions = var1;
}
class="kw">public String getRef() {
class="kw">return this.ref;
}
class="kw">public void setRef(String var1) {
this.ref = var1;
}
class="kw">public String getData() {
class="kw">return this.data;
}
class="kw">public void setData(String var1) {
this.data = var1;
}
class="kw">public Schema getIf() {
class="kw">return this.if_;
}
class="kw">public void setIf(Schema var1) {
this.if_ = var1;
}
class="kw">public Schema getThen() {
class="kw">return this.then;
}
class="kw">public void setThen(Schema var1) {
this.then = var1;
}
class="kw">public Schema getElse() {
class="kw">return (Schema)this.else_;
}
class="kw">public void setElse(Schema var1) {
this.else_ = var1;
}
class="kw">public void setElse(boolean var1) {
this.else_ = var1;
}
class="kw">public Boolean isDoNotSuggest() {
class="kw">return this.doNotSuggest;
}
class="kw">public void setDoNotSuggest(boolean var1) {
this.doNotSuggest = var1;
}
@Nullable
class="kw">public Schema.HytaleMetadata getHytale() {
class="kw">return this.getHytale(true);
}
@Nullable
class="kw">public Schema.HytaleMetadata getHytale(boolean var1) {
if (var1 && this.hytale == null) {
this.hytale = new Schema.HytaleMetadata();
this.hytale.type = CODEC.getIdFor((Class<? class="kw">extends Schema>)this.getClass());
}
class="kw">return this.hytale;
}
class="kw">public String getHytaleAssetRef() {
class="kw">return this.hytaleAssetRef;
}
class="kw">public void setHytaleAssetRef(String var1) {
this.hytaleAssetRef = var1;
}
class="kw">public Schema.InheritSettings getHytaleParent() {
class="kw">return this.hytaleParent;
}
class="kw">public void setHytaleParent(Schema.InheritSettings var1) {
this.hytaleParent = var1;
}
class="kw">public Schema.SchemaTypeField getHytaleSchemaTypeField() {
class="kw">return this.hytaleSchemaTypeField;
}
class="kw">public void setHytaleSchemaTypeField(Schema.SchemaTypeField var1) {
this.hytaleSchemaTypeField = var1;
}
class="kw">public String getHytaleCustomAssetRef() {
class="kw">return this.hytaleCustomAssetRef;
}
class="kw">public void setHytaleCustomAssetRef(String var1) {
this.hytaleCustomAssetRef = var1;
}
@Nonnull
class="kw">public class="kw">static Schema ref(String var0) {
Schema var1 = new Schema();
var1.setRef(var0);
class="kw">return var1;
}
@Nonnull
class="kw">public class="kw">static Schema data(String var0) {
Schema var1 = new Schema();
var1.setData(var0);
class="kw">return var1;
}
@Nonnull
class="kw">public class="kw">static Schema anyOf(Schema... var0) {
Schema var1 = new Schema();
var1.anyOf = var0;
class="kw">return var1;
}
@Nonnull
class="kw">public class="kw">static Schema not(Schema var0) {
Schema var1 = new Schema();
var1.not = var0;
class="kw">return var1;
}
@Override
class="kw">public boolean equals(@Nullable Object var1) {
if (this == var1) {
class="kw">return true;
}
if (var1 != null && this.getClass() == var1.getClass()) {
Schema var2 = (Schema)var1;
if (this.id != null ? this.id.equals(var2.id) : var2.id == null) {
if (!Arrays.equals(this.types, var2.types)) {
class="kw">return false;
}
if (this.title != null ? this.title.equals(var2.title) : var2.title == null) {
if (this.description != null ? this.description.equals(var2.description) : var2.description == null) {
if (this.markdownDescription != null ? this.markdownDescription.equals(var2.markdownDescription) : var2.markdownDescription == null) {
if (!Arrays.equals(this.anyOf, var2.anyOf)) {
class="kw">return false;
}
if (!Arrays.equals(this.oneOf, var2.oneOf)) {
class="kw">return false;
}
if (!Arrays.equals(this.allOf, var2.allOf)) {
class="kw">return false;
}
if (this.not != null ? this.not.equals(var2.not) : var2.not == null) {
if (!Arrays.equals(this.required, var2.required)) {
class="kw">return false;
}
if (!Arrays.equals(this.enumDescriptions, var2.enumDescriptions)) {
class="kw">return false;
}
if (!Arrays.equals(this.markdownEnumDescriptions, var2.markdownEnumDescriptions)) {
class="kw">return false;
}
if (this.definitions != null ? this.definitions.equals(var2.definitions) : var2.definitions == null) {
if (this.ref != null ? this.ref.equals(var2.ref) : var2.ref == null) {
if (this.data != null ? this.data.equals(var2.data) : var2.data == null) {
if (this.default_ != null ? this.default_.equals(var2.default_) : var2.default_ == null) {
if (this.hytale != null ? this.hytale.equals(var2.hytale) : var2.hytale == null) {
if (this.hytaleParent != null ? this.hytaleParent.equals(var2.hytaleParent) : var2.hytaleParent == null) {
if (this.hytaleSchemaTypeField != null
? this.hytaleSchemaTypeField.equals(var2.hytaleSchemaTypeField)
: var2.hytaleSchemaTypeField == null) {
if (this.hytaleAssetRef != null ? this.hytaleAssetRef.equals(var2.hytaleAssetRef) : var2.hytaleAssetRef == null) {
if (this.if_ != null ? this.if_.equals(var2.if_) : var2.if_ == null) {
if (this.then != null ? this.then.equals(var2.then) : var2.then == null) {
if (this.else_ != null ? this.else_.equals(var2.else_) : var2.else_ == null) {
if (this.doNotSuggest != null
? this.doNotSuggest.equals(var2.doNotSuggest)
: var2.doNotSuggest == null) {
class="kw">return this.hytaleCustomAssetRef != null
? this.hytaleCustomAssetRef.equals(var2.hytaleCustomAssetRef)
: var2.hytaleCustomAssetRef == null;
} else {
class="kw">return false;
}
} else {
class="kw">return false;
}
} else {
class="kw">return false;
}
} else {
class="kw">return false;
}
} else {
class="kw">return false;
}
} else {
class="kw">return false;
}
} else {
class="kw">return false;
}
} else {
class="kw">return false;
}
} else {
class="kw">return false;
}
} else {
class="kw">return false;
}
} else {
class="kw">return false;
}
} else {
class="kw">return false;
}
} else {
class="kw">return false;
}
} else {
class="kw">return false;
}
} else {
class="kw">return false;
}
} else {
class="kw">return false;
}
} else {
class="kw">return false;
}
} else {
class="kw">return false;
}
}
@Override
class="kw">public int hashCode() {
int var1 = this.id != null ? this.id.hashCode() : 0;
var1 = 31 * var1 + Arrays.hashCode(this.types);
var1 = 31 * var1 + (this.title != null ? this.title.hashCode() : 0);
var1 = 31 * var1 + (this.description != null ? this.description.hashCode() : 0);
var1 = 31 * var1 + (this.markdownDescription != null ? this.markdownDescription.hashCode() : 0);
var1 = 31 * var1 + Arrays.hashCode(this.anyOf);
var1 = 31 * var1 + Arrays.hashCode(this.oneOf);
var1 = 31 * var1 + Arrays.hashCode(this.allOf);
var1 = 31 * var1 + (this.not != null ? this.not.hashCode() : 0);
var1 = 31 * var1 + Arrays.hashCode(this.required);
var1 = 31 * var1 + Arrays.hashCode(this.enumDescriptions);
var1 = 31 * var1 + Arrays.hashCode(this.markdownEnumDescriptions);
var1 = 31 * var1 + (this.definitions != null ? this.definitions.hashCode() : 0);
var1 = 31 * var1 + (this.ref != null ? this.ref.hashCode() : 0);
var1 = 31 * var1 + (this.data != null ? this.data.hashCode() : 0);
var1 = 31 * var1 + (this.default_ != null ? this.default_.hashCode() : 0);
var1 = 31 * var1 + (this.hytale != null ? this.hytale.hashCode() : 0);
var1 = 31 * var1 + (this.hytaleParent != null ? this.hytaleParent.hashCode() : 0);
var1 = 31 * var1 + (this.hytaleSchemaTypeField != null ? this.hytaleSchemaTypeField.hashCode() : 0);
var1 = 31 * var1 + (this.hytaleAssetRef != null ? this.hytaleAssetRef.hashCode() : 0);
var1 = 31 * var1 + (this.hytaleCustomAssetRef != null ? this.hytaleCustomAssetRef.hashCode() : 0);
var1 = 31 * var1 + (this.if_ != null ? this.if_.hashCode() : 0);
var1 = 31 * var1 + (this.then != null ? this.then.hashCode() : 0);
var1 = 31 * var1 + (this.else_ != null ? this.else_.hashCode() : 0);
class="kw">return 31 * var1 + (this.doNotSuggest != null ? this.doNotSuggest.hashCode() : 0);
}
class="kw">public class="kw">static void init() {
CODEC.register(Priority.DEFAULT, "", Schema.class, BASE_CODEC);
CODEC.register("null", NullSchema.class, NullSchema.CODEC);
CODEC.register("string", StringSchema.class, StringSchema.CODEC);
CODEC.register("number", NumberSchema.class, NumberSchema.CODEC);
CODEC.register("integer", IntegerSchema.class, IntegerSchema.CODEC);
CODEC.register("array", ArraySchema.class, ArraySchema.CODEC);
CODEC.register("boolean", BooleanSchema.class, BooleanSchema.CODEC);
CODEC.register("object", ObjectSchema.class, ObjectSchema.CODEC);
UIEditor.init();
}
@Deprecated
class="kw">private class="kw">static class ArrayOrNull class="kw">implements Codec<String[]> {
class="kw">private ArrayOrNull() {
}
@Nullable
class="kw">public String[] decode(@Nonnull BsonValue var1, @Nonnull ExtraInfo var2) {
class="kw">return var1.isArray() ? Codec.STRING_ARRAY.decode(var1, var2) : null;
}
@Nonnull
class="kw">public BsonValue encode(@Nullable String[] var1, ExtraInfo var2) {
class="kw">return (BsonValue)(var1 != null ? Codec.STRING_ARRAY.encode(var1, var2) : new BsonNull());
}
@Nonnull
@Override
class="kw">public Schema toSchema(@Nonnull SchemaContext var1) {
class="kw">return Schema.anyOf(new ArraySchema(), new NullSchema());
}
}
@Deprecated
class="kw">protected class="kw">static class BooleanOrSchema class="kw">implements Codec<Object> {
class="kw">protected BooleanOrSchema() {
}
@Override
class="kw">public Object decode(@Nonnull BsonValue var1, ExtraInfo var2) {
class="kw">return var1.isBoolean() ? Codec.BOOLEAN.decode(var1, var2) : Schema.CODEC.decode(var1, var2);
}
@Override
class="kw">public BsonValue encode(Object var1, ExtraInfo var2) {
class="kw">return var1 class="kw">instanceof Boolean ? Codec.BOOLEAN.encode((Boolean)var1, var2) : Schema.CODEC.encode((Schema)var1, var2);
}
@Nonnull
@Override
class="kw">public Schema toSchema(@Nonnull SchemaContext var1) {
class="kw">return Schema.anyOf(new BooleanSchema(), Schema.CODEC.toSchema(var1));
}
}
class="kw">public class="kw">static class HytaleMetadata {
class="kw">public class="kw">static class="kw">final BuilderCodec<Schema.HytaleMetadata> CODEC = BuilderCodec.builder(Schema.HytaleMetadata.class, Schema.HytaleMetadata::new)
.append(
new KeyedCodec<>("type", Codec.STRING, false, true),
(var0, var1) -> var0.type = var1,
var0 -> var0.type != null && var0.type.isEmpty() ? null : var0.type
)
.add()
.append(new KeyedCodec<>("internalKeys", Codec.STRING_ARRAY, false, true), (var0, var1) -> var0.internalKeys = var1, var0 -> var0.internalKeys)
.add()
.append(new KeyedCodec<>("path", Codec.STRING, false, true), (var0, var1) -> var0.path = var1, var0 -> var0.path)
.add()
.append(new KeyedCodec<>("virtualPath", Codec.STRING, false, true), (var0, var1) -> var0.virtualPath = var1, var0 -> var0.virtualPath)
.add()
.append(new KeyedCodec<>("extension", Codec.STRING, false, true), (var0, var1) -> var0.extension = var1, var0 -> var0.extension)
.add()
.append(new KeyedCodec<>("idProvider", Codec.STRING, false, true), (var0, var1) -> var0.idProvider = var1, var0 -> var0.idProvider)
.add()
.append(new KeyedCodec<>("inheritsProperty", Codec.BOOLEAN, false, true), (var0, var1) -> var0.inheritsProperty = var1, var0 -> var0.inheritsProperty)
.add()
.append(new KeyedCodec<>("mergesProperties", Codec.BOOLEAN, false, true), (var0, var1) -> var0.mergesProperties = var1, var0 -> var0.mergesProperties)
.add()
.append(
new KeyedCodec<>("uiDisplayMode", new EnumCodec<>(UIDisplayMode.DisplayMode.class), false, true),
(var0, var1) -> var0.uiDisplayMode = var1,
var0 -> var0.uiDisplayMode
)
.add()
.append(
new KeyedCodec<>("uiEditorComponent", UIEditor.CODEC, false, true), (var0, var1) -> var0.uiEditorComponent = var1, var0 -> var0.uiEditorComponent
)
.add()
.append(new KeyedCodec<>("allowEmptyObject", Codec.BOOLEAN, false, true), (var0, var1) -> var0.allowEmptyObject = var1, var0 -> var0.allowEmptyObject)
.add()
.append(new KeyedCodec<>("uiEditorIgnore", Codec.BOOLEAN, false, true), (var0, var1) -> var0.uiEditorIgnore = var1, var0 -> var0.uiEditorIgnore)
.add()
.append(
new KeyedCodec<>(
"uiEditorFeatures", new ArrayCodec<>(new EnumCodec<>(UIEditorFeatures.EditorFeature.class), UIEditorFeatures.EditorFeature[]::new), false, true
),
(var0, var1) -> var0.uiEditorFeatures = var1,
var0 -> var0.uiEditorFeatures
)
.add()
.append(
new KeyedCodec<>("uiEditorPreview", new EnumCodec<>(UIEditorPreview.PreviewType.class), false, true),
(var0, var1) -> var0.uiEditorPreview = var1,
var0 -> var0.uiEditorPreview
)
.add()
.append(new KeyedCodec<>("uiTypeIcon", Codec.STRING, false, true), (var0, var1) -> var0.uiTypeIcon = var1, var0 -> var0.uiTypeIcon)
.add()
.append(new KeyedCodec<>("uiPropertyTitle", Codec.STRING, false, true), (var0, var1) -> var0.uiPropertyTitle = var1, var0 -> var0.uiPropertyTitle)
.add()
.append(new KeyedCodec<>("uiSectionStart", Codec.STRING, false, true), (var0, var1) -> var0.uiSectionStart = var1, var0 -> var0.uiSectionStart)
.add()
.append(
new KeyedCodec<>(
"uiRebuildCaches", new ArrayCodec<>(new EnumCodec<>(UIRebuildCaches.ClientCache.class), UIRebuildCaches.ClientCache[]::new), false, true
),
(var0, var1) -> var0.uiRebuildCaches = var1,
var0 -> var0.uiRebuildCaches
)
.add()
.append(
new KeyedCodec<>("uiSidebarButtons", new ArrayCodec<>(UIButton.CODEC, UIButton[]::new), false, true),
(var0, var1) -> var0.uiSidebarButtons = var1,
var0 -> var0.uiSidebarButtons
)
.add()
.append(
new KeyedCodec<>("uiRebuildCachesForChildProperties", Codec.BOOLEAN, false, true),
(var0, var1) -> var0.uiRebuildCachesForChildProperties = var1,
var0 -> var0.uiRebuildCachesForChildProperties
)
.add()
.append(
new KeyedCodec<>("uiCollapsedByDefault", Codec.BOOLEAN, false, true),
(var0, var1) -> var0.uiCollapsedByDefault = var1,
var0 -> var0.uiCollapsedByDefault
)
.add()
.append(
new KeyedCodec<>("uiCreateButtons", new ArrayCodec<>(UIButton.CODEC, UIButton[]::new), false, true),
(var0, var1) -> var0.uiCreateButtons = var1,
var0 -> var0.uiCreateButtons
)
.add()
.build();
class="kw">private String type;
class="kw">private String path;
class="kw">private String virtualPath;
class="kw">private String extension;
class="kw">private String idProvider;
class="kw">private String[] internalKeys;
class="kw">private Boolean inheritsProperty;
class="kw">private Boolean mergesProperties;
class="kw">private UIEditorFeatures.EditorFeature[] uiEditorFeatures;
class="kw">private UIEditorPreview.PreviewType uiEditorPreview;
class="kw">private String uiTypeIcon;
class="kw">private Boolean uiEditorIgnore;
class="kw">private Boolean allowEmptyObject;
class="kw">private UIDisplayMode.DisplayMode uiDisplayMode;
class="kw">private UIEditor.EditorComponent uiEditorComponent;
class="kw">private String uiPropertyTitle;
class="kw">private String uiSectionStart;
class="kw">private UIRebuildCaches.ClientCache[] uiRebuildCaches;
class="kw">private Boolean uiRebuildCachesForChildProperties;
class="kw">private UIButton[] uiSidebarButtons;
class="kw">private Boolean uiCollapsedByDefault;
class="kw">private UIButton[] uiCreateButtons;
class="kw">public HytaleMetadata(String var1) {
this.type = var1;
}
class="kw">public HytaleMetadata() {
}
class="kw">public String getType() {
class="kw">return this.type;
}
class="kw">public void setType(String var1) {
this.type = var1;
}
class="kw">public String getPath() {
class="kw">return this.path;
}
class="kw">public void setPath(String var1) {
this.path = var1;
}
class="kw">public String getVirtualPath() {
class="kw">return this.virtualPath;
}
class="kw">public void setVirtualPath(String var1) {
this.virtualPath = var1;
}
class="kw">public String getExtension() {
class="kw">return this.extension;
}
class="kw">public void setExtension(String var1) {
this.extension = var1;
}
class="kw">public String getIdProvider() {
class="kw">return this.idProvider;
}
class="kw">public void setIdProvider(String var1) {
this.idProvider = var1;
}
class="kw">public String[] getInternalKeys() {
class="kw">return this.internalKeys;
}
class="kw">public void setInternalKeys(String[] var1) {
this.internalKeys = var1;
}
class="kw">public UIDisplayMode.DisplayMode getUiDisplayMode() {
class="kw">return this.uiDisplayMode;
}
class="kw">public void setUiDisplayMode(UIDisplayMode.DisplayMode var1) {
this.uiDisplayMode = var1;
}
class="kw">public UIEditor.EditorComponent getUiEditorComponent() {
class="kw">return this.uiEditorComponent;
}
class="kw">public void setUiEditorComponent(UIEditor.EditorComponent var1) {
this.uiEditorComponent = var1;
}
class="kw">public UIEditorFeatures.EditorFeature[] getUiEditorFeatures() {
class="kw">return this.uiEditorFeatures;
}
class="kw">public void setUiEditorFeatures(UIEditorFeatures.EditorFeature[] var1) {
this.uiEditorFeatures = var1;
}
class="kw">public UIEditorPreview.PreviewType getUiEditorPreview() {
class="kw">return this.uiEditorPreview;
}
class="kw">public void setUiEditorPreview(UIEditorPreview.PreviewType var1) {
this.uiEditorPreview = var1;
}
class="kw">public String getUiTypeIcon() {
class="kw">return this.uiTypeIcon;
}
class="kw">public void setUiTypeIcon(String var1) {
this.uiTypeIcon = var1;
}
class="kw">public Boolean getUiEditorIgnore() {
class="kw">return this.uiEditorIgnore;
}
class="kw">public void setUiEditorIgnore(Boolean var1) {
this.uiEditorIgnore = var1;
}
class="kw">public Boolean getAllowEmptyObject() {
class="kw">return this.allowEmptyObject;
}
class="kw">public void setAllowEmptyObject(Boolean var1) {
this.allowEmptyObject = var1;
}
class="kw">public String getUiPropertyTitle() {
class="kw">return this.uiPropertyTitle;
}
class="kw">public void setUiPropertyTitle(String var1) {
this.uiPropertyTitle = var1;
}
class="kw">public String getUiSectionStart() {
class="kw">return this.uiSectionStart;
}
class="kw">public void setUiSectionStart(String var1) {
this.uiSectionStart = var1;
}
class="kw">public boolean isInheritsProperty() {
class="kw">return this.inheritsProperty;
}
class="kw">public void setInheritsProperty(boolean var1) {
this.inheritsProperty = var1;
}
class="kw">public boolean getMergesProperties() {
class="kw">return this.mergesProperties;
}
class="kw">public void setMergesProperties(boolean var1) {
this.mergesProperties = var1;
}
class="kw">public UIRebuildCaches.ClientCache[] getUiRebuildCaches() {
class="kw">return this.uiRebuildCaches;
}
class="kw">public void setUiRebuildCaches(UIRebuildCaches.ClientCache[] var1) {
this.uiRebuildCaches = var1;
}
class="kw">public Boolean getUiRebuildCachesForChildProperties() {
class="kw">return this.uiRebuildCachesForChildProperties;
}
class="kw">public void setUiRebuildCachesForChildProperties(Boolean var1) {
this.uiRebuildCachesForChildProperties = var1;
}
class="kw">public UIButton[] getUiSidebarButtons() {
class="kw">return this.uiSidebarButtons;
}
class="kw">public void setUiSidebarButtons(UIButton[] var1) {
this.uiSidebarButtons = var1;
}
class="kw">public Boolean getUiCollapsedByDefault() {
class="kw">return this.uiCollapsedByDefault;
}
class="kw">public void setUiCollapsedByDefault(Boolean var1) {
this.uiCollapsedByDefault = var1;
}
class="kw">public UIButton[] getUiCreateButtons() {
class="kw">return this.uiCreateButtons;
}
class="kw">public void setUiCreateButtons(UIButton[] var1) {
this.uiCreateButtons = var1;
}
@Override
class="kw">public boolean equals(@Nullable Object var1) {
if (this == var1) {
class="kw">return true;
}
if (var1 != null && this.getClass() == var1.getClass()) {
Schema.HytaleMetadata var2 = (Schema.HytaleMetadata)var1;
if (this.type != null ? this.type.equals(var2.type) : var2.type == null) {
if (this.path != null ? this.path.equals(var2.path) : var2.path == null) {
if (this.virtualPath != null ? this.virtualPath.equals(var2.virtualPath) : var2.virtualPath == null) {
if (this.extension != null ? this.extension.equals(var2.extension) : var2.extension == null) {
if (this.idProvider != null ? this.idProvider.equals(var2.idProvider) : var2.idProvider == null) {
if (!Arrays.equals(this.internalKeys, var2.internalKeys)) {
class="kw">return false;
}
if (this.inheritsProperty != null ? this.inheritsProperty.equals(var2.inheritsProperty) : var2.inheritsProperty == null) {
if (this.mergesProperties != null ? this.mergesProperties.equals(var2.mergesProperties) : var2.mergesProperties == null) {
if (!Arrays.equals(this.uiEditorFeatures, var2.uiEditorFeatures)) {
class="kw">return false;
}
if (this.uiEditorPreview != var2.uiEditorPreview) {
class="kw">return false;
}
if (this.uiTypeIcon != null ? this.uiTypeIcon.equals(var2.uiTypeIcon) : var2.uiTypeIcon == null) {
if (this.uiEditorIgnore != null ? this.uiEditorIgnore.equals(var2.uiEditorIgnore) : var2.uiEditorIgnore == null) {
if (this.allowEmptyObject != null ? this.allowEmptyObject.equals(var2.allowEmptyObject) : var2.allowEmptyObject == null) {
if (this.uiDisplayMode != var2.uiDisplayMode) {
class="kw">return false;
}
if (this.uiEditorComponent != null
? this.uiEditorComponent.equals(var2.uiEditorComponent)
: var2.uiEditorComponent == null) {
if (this.uiPropertyTitle != null
? this.uiPropertyTitle.equals(var2.uiPropertyTitle)
: var2.uiPropertyTitle == null) {
if (this.uiSectionStart != null ? this.uiSectionStart.equals(var2.uiSectionStart) : var2.uiSectionStart == null
)
{
if (!Arrays.equals(this.uiRebuildCaches, var2.uiRebuildCaches)) {
class="kw">return false;
}
if (this.uiRebuildCachesForChildProperties != null
? this.uiRebuildCachesForChildProperties.equals(var2.uiRebuildCachesForChildProperties)
: var2.uiRebuildCachesForChildProperties == null) {
if (!Arrays.equals(this.uiSidebarButtons, var2.uiSidebarButtons)) {
class="kw">return false;
} else {
class="kw">return (
this.uiCollapsedByDefault != null
? this.uiCollapsedByDefault.equals(var2.uiCollapsedByDefault)
: var2.uiCollapsedByDefault == null
)
? Arrays.equals(this.uiCreateButtons, var2.uiCreateButtons)
: false;
}
} else {
class="kw">return false;
}
} else {
class="kw">return false;
}
} else {
class="kw">return false;
}
} else {
class="kw">return false;
}
} else {
class="kw">return false;
}
} else {
class="kw">return false;
}
} else {
class="kw">return false;
}
} else {
class="kw">return false;
}
} else {
class="kw">return false;
}
} else {
class="kw">return false;
}
} else {
class="kw">return false;
}
} else {
class="kw">return false;
}
} else {
class="kw">return false;
}
} else {
class="kw">return false;
}
} else {
class="kw">return false;
}
}
@Override
class="kw">public int hashCode() {
int var1 = this.type != null ? this.type.hashCode() : 0;
var1 = 31 * var1 + (this.path != null ? this.path.hashCode() : 0);
var1 = 31 * var1 + (this.virtualPath != null ? this.virtualPath.hashCode() : 0);
var1 = 31 * var1 + (this.extension != null ? this.extension.hashCode() : 0);
var1 = 31 * var1 + (this.idProvider != null ? this.idProvider.hashCode() : 0);
var1 = 31 * var1 + Arrays.hashCode(this.internalKeys);
var1 = 31 * var1 + (this.inheritsProperty != null ? this.inheritsProperty.hashCode() : 0);
var1 = 31 * var1 + (this.mergesProperties != null ? this.mergesProperties.hashCode() : 0);
var1 = 31 * var1 + Arrays.hashCode(this.uiEditorFeatures);
var1 = 31 * var1 + (this.uiEditorPreview != null ? this.uiEditorPreview.hashCode() : 0);
var1 = 31 * var1 + (this.uiTypeIcon != null ? this.uiTypeIcon.hashCode() : 0);
var1 = 31 * var1 + (this.uiEditorIgnore != null ? this.uiEditorIgnore.hashCode() : 0);
var1 = 31 * var1 + (this.allowEmptyObject != null ? this.allowEmptyObject.hashCode() : 0);
var1 = 31 * var1 + (this.uiDisplayMode != null ? this.uiDisplayMode.hashCode() : 0);
var1 = 31 * var1 + (this.uiEditorComponent != null ? this.uiEditorComponent.hashCode() : 0);
var1 = 31 * var1 + (this.uiPropertyTitle != null ? this.uiPropertyTitle.hashCode() : 0);
var1 = 31 * var1 + (this.uiSectionStart != null ? this.uiSectionStart.hashCode() : 0);
var1 = 31 * var1 + Arrays.hashCode(this.uiRebuildCaches);
var1 = 31 * var1 + (this.uiRebuildCachesForChildProperties != null ? this.uiRebuildCachesForChildProperties.hashCode() : 0);
var1 = 31 * var1 + Arrays.hashCode(this.uiSidebarButtons);
var1 = 31 * var1 + (this.uiCollapsedByDefault != null ? this.uiCollapsedByDefault.hashCode() : 0);
class="kw">return 31 * var1 + Arrays.hashCode(this.uiCreateButtons);
}
}
class="kw">public class="kw">static class InheritSettings {
class="kw">public class="kw">static class="kw">final BuilderCodec<Schema.InheritSettings> CODEC = BuilderCodec.builder(Schema.InheritSettings.class, Schema.InheritSettings::new)
.append(new KeyedCodec<>("type", Codec.STRING, false, true), (var0, var1) -> var0.type = var1, var0 -> var0.type)
.add()
.append(new KeyedCodec<>("mapKey", Codec.STRING, false, true), (var0, var1) -> var0.mapKey = var1, var0 -> var0.mapKey)
.add()
.append(new KeyedCodec<>("mapKeyValue", Codec.STRING, false, true), (var0, var1) -> var0.mapKeyValue = var1, var0 -> var0.mapKeyValue)
.add()
.build();
class="kw">private String type;
class="kw">private String mapKey;
class="kw">private String mapKeyValue;
class="kw">public InheritSettings(String var1) {
this.type = var1;
}
class="kw">protected InheritSettings() {
}
class="kw">public String getType() {
class="kw">return this.type;
}
class="kw">public void setType(String var1) {
this.type = var1;
}
class="kw">public String getMapKey() {
class="kw">return this.mapKey;
}
class="kw">public void setMapKey(String var1) {
this.mapKey = var1;
}
class="kw">public String getMapKeyValue() {
class="kw">return this.mapKeyValue;
}
class="kw">public void setMapKeyValue(String var1) {
this.mapKeyValue = var1;
}
@Override
class="kw">public boolean equals(@Nullable Object var1) {
if (this == var1) {
class="kw">return true;
}
if (var1 != null && this.getClass() == var1.getClass()) {
Schema.InheritSettings var2 = (Schema.InheritSettings)var1;
if (this.type != null ? this.type.equals(var2.type) : var2.type == null) {
if (this.mapKey != null ? this.mapKey.equals(var2.mapKey) : var2.mapKey == null) {
class="kw">return this.mapKeyValue != null ? this.mapKeyValue.equals(var2.mapKeyValue) : var2.mapKeyValue == null;
} else {
class="kw">return false;
}
} else {
class="kw">return false;
}
} else {
class="kw">return false;
}
}
@Override
class="kw">public int hashCode() {
int var1 = this.type != null ? this.type.hashCode() : 0;
var1 = 31 * var1 + (this.mapKey != null ? this.mapKey.hashCode() : 0);
class="kw">return 31 * var1 + (this.mapKeyValue != null ? this.mapKeyValue.hashCode() : 0);
}
}
class="kw">public class="kw">static class SchemaTypeField {
class="kw">public class="kw">static class="kw">final BuilderCodec<Schema.SchemaTypeField> CODEC = BuilderCodec.builder(Schema.SchemaTypeField.class, Schema.SchemaTypeField::new)
.append(new KeyedCodec<>("property", Codec.STRING, false, true), (var0, var1) -> var0.property = var1, var0 -> var0.property)
.add()
.append(new KeyedCodec<>("defaultValue", Codec.STRING, false, true), (var0, var1) -> var0.defaultValue = var1, var0 -> var0.defaultValue)
.add()
.append(new KeyedCodec<>("values", Codec.STRING_ARRAY, false, true), (var0, var1) -> var0.values = var1, var0 -> var0.values)
.add()
.append(
new KeyedCodec<>("parentPropertyKey", Codec.STRING, false, true), (var0, var1) -> var0.parentPropertyKey = var1, var0 -> var0.parentPropertyKey
)
.add()
.build();
class="kw">private String property;
class="kw">private String defaultValue;
class="kw">private String[] values;
class="kw">private String parentPropertyKey;
class="kw">public SchemaTypeField(String var1, String var2, String... var3) {
this.property = var1;
this.defaultValue = var2;
this.values = var3;
}
class="kw">protected SchemaTypeField() {
}
class="kw">public String getProperty() {
class="kw">return this.property;
}
class="kw">public String getDefaultValue() {
class="kw">return this.defaultValue;
}
class="kw">public String[] getValues() {
class="kw">return this.values;
}
class="kw">public String getParentPropertyKey() {
class="kw">return this.parentPropertyKey;
}
class="kw">public void setParentPropertyKey(String var1) {
this.parentPropertyKey = var1;
}
@Override
class="kw">public boolean equals(Object var1) {
if (var1 != null && this.getClass() == var1.getClass()) {
Schema.SchemaTypeField var2 = (Schema.SchemaTypeField)var1;
class="kw">return Objects.equals(this.property, var2.property)
&& Objects.equals(this.defaultValue, var2.defaultValue)
&& Arrays.deepEquals(this.values, var2.values)
&& Objects.equals(this.parentPropertyKey, var2.parentPropertyKey);
} else {
class="kw">return false;
}
}
@Override
class="kw">public int hashCode() {
int var1 = Objects.hashCode(this.property);
var1 = 31 * var1 + Objects.hashCode(this.defaultValue);
var1 = 31 * var1 + Arrays.hashCode(this.values);
class="kw">return 31 * var1 + Objects.hashCode(this.parentPropertyKey);
}
}
@Deprecated
class="kw">private class="kw">static class StringOrBlank class="kw">implements Codec<String> {
class="kw">private StringOrBlank() {
}
class="kw">public String decode(@Nonnull BsonValue var1, ExtraInfo var2) {
if (var1.isString()) {
class="kw">return Codec.STRING.decode(var1, var2);
}
if (var1.isArray()) {
BsonArray var3 = var1.asArray();
for (int var4 = 0; var4 < var3.size(); var4++) {
BsonValue var5 = var3.get(var4);
if (!var5.asString().getValue().equals("null")) {
class="kw">return Codec.STRING.decode(var5, var2);
}
}
throw new IllegalArgumentException("Unknown type (in array)");
} else {
class="kw">return "";
}
}
@Nonnull
class="kw">public BsonValue encode(@Nonnull String var1, ExtraInfo var2) {
class="kw">return Codec.STRING.encode(var1, var2);
}
@Nonnull
@Override
class="kw">public Schema toSchema(@Nonnull SchemaContext var1) {
class="kw">return Schema.anyOf(new ArraySchema(), new StringSchema());
}
}
}