ExtraInfo class
Пакет: com.hypixel.hytale.codec
Файл: com/hypixel/hytale/codec/ExtraInfo.java
Поля (16)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
ThreadLocal<ExtraInfo> |
THREAD_LOCAL |
|
int |
var1 |
|
int |
var1 |
|
int |
var2 |
|
int |
var2 |
|
int |
var2 |
|
int |
var2 |
|
int |
var2 |
|
int |
var2 |
|
String |
var2 |
|
StringBuilder |
var2 |
|
int |
var3 |
|
int |
var3 |
|
String |
var3 |
|
String |
var4 |
|
String |
var5 |
Методы (37)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
void |
addUnknownKeyvoid addUnknownKey(@Nonnull String var1) |
public |
void |
appendDetailsTovoid appendDetailsTo(@Nonnull StringBuilder var1) |
public |
boolean |
consumeIgnoredUnknownKeyboolean consumeIgnoredUnknownKey(@Nonnull RawJsonReader var1) |
public |
boolean |
consumeIgnoredUnknownKeyboolean consumeIgnoredUnknownKey(@Nonnull String var1) |
|
|
for for(int var3 = 0; var3 < this.keysSize; var3++) |
public |
CodecStore |
getCodecStoreCodecStore getCodecStore() |
public |
int |
getIgnoredUnusedSizeint getIgnoredUnusedSize() |
public |
int |
getKeysSizeint getKeysSize() |
public |
ValidationResults |
getValidationResultsValidationResults getValidationResults() |
public |
int |
getVersionint getVersion() |
static |
int |
growint grow(int var0) |
|
|
if if(this.stringKeys.length <= var1) |
|
|
if if(this.ignoredUnknownKeys.length <= var1) |
|
|
if if(this.ignoredUnknownSize <= 0) |
|
|
if if(var3 == null) |
|
|
if if(this.ignoredUnknownSize <= 0) |
|
|
if if(this.keysSize == 0) |
|
|
if if(this.keysSize == 1) |
|
|
if if(var3 > 0) |
|
|
if if(var4 != null) |
public |
void |
ignoreUnusedKeyvoid ignoreUnusedKey(String var1) |
static |
boolean |
isIgnoredMetadataKeyboolean isIgnoredMetadataKey(@Nonnull String var0) |
private |
int |
nextIgnoredUnknownIndexint nextIgnoredUnknownIndex() |
private |
int |
nextKeyIndexint nextKeyIndex() |
public |
int |
peekColumnint peekColumn() |
public |
String |
peekKeyString peekKey() |
public |
String |
peekKeyString peekKey(char var1) |
public |
int |
peekLineint peekLine() |
public |
void |
popIgnoredUnusedKeyvoid popIgnoredUnusedKey() |
public |
void |
popKeyvoid popKey() |
public |
void |
pushIntKeyvoid pushIntKey(int var1) |
public |
void |
pushIntKeyvoid pushIntKey(int var1, RawJsonReader var2) |
public |
void |
pushKeyvoid pushKey(String var1) |
public |
void |
pushKeyvoid pushKey(String var1, RawJsonReader var2) |
public |
void |
readUnknownKeyvoid readUnknownKey(@Nonnull RawJsonReader var1) |
protected |
void |
recordUnknownKeyvoid recordUnknownKey(@Nonnull String var1) |
|
return |
switchreturn switch(var0) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.codec;
class="kw">import com.hypixel.hytale.codec.store.CodecStore;
class="kw">import com.hypixel.hytale.codec.util.RawJsonReader;
class="kw">import com.hypixel.hytale.codec.validation.ThrowingValidationResults;
class="kw">import com.hypixel.hytale.codec.validation.ValidationResults;
class="kw">import com.hypixel.hytale.logger.util.GithubMessageUtil;
class="kw">import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
class="kw">import java.io.IOException;
class="kw">import java.util.Arrays;
class="kw">import java.util.List;
class="kw">import java.util.Map;
class="kw">import java.util.function.Function;
class="kw">import javax.annotation.Nonnull;
class="kw">public class ExtraInfo {
class="kw">public class="kw">static class="kw">final ThreadLocal<ExtraInfo> THREAD_LOCAL = ThreadLocal.withInitial(ExtraInfo::new);
class="kw">public class="kw">static class="kw">final String GENERATED_ID_PREFIX = "*";
class="kw">public class="kw">static class="kw">final int UNSET_VERSION = Integer.MAX_VALUE;
class="kw">private class="kw">final int legacyVersion;
class="kw">private class="kw">final int keysInitialSize = this class="kw">instanceof EmptyExtraInfo ? 0 : 128;
@Nonnull
class="kw">private String[] stringKeys = new String[this.keysInitialSize];
@Nonnull
class="kw">private int[] intKeys = new int[this.keysInitialSize];
class="kw">private int[] lineNumbers = GithubMessageUtil.isGithub() ? new int[this.keysInitialSize] : null;
class="kw">private int[] columnNumbers = GithubMessageUtil.isGithub() ? new int[this.keysInitialSize] : null;
class="kw">private int keysSize;
@Nonnull
class="kw">private String[] ignoredUnknownKeys = new String[this.keysInitialSize];
class="kw">private int ignoredUnknownSize;
class="kw">private class="kw">final ValidationResults validationResults;
class="kw">private class="kw">final CodecStore codecStore;
@Deprecated
class="kw">private class="kw">final Map<String, Object> metadata = new Object2ObjectOpenHashMap();
class="kw">public ExtraInfo() {
this.legacyVersion = Integer.MAX_VALUE;
this.validationResults = new ThrowingValidationResults(this);
this.codecStore = CodecStore.STATIC;
}
@Deprecated
class="kw">public ExtraInfo(int var1) {
this.legacyVersion = var1;
this.validationResults = new ThrowingValidationResults(this);
this.codecStore = CodecStore.STATIC;
}
@Deprecated
class="kw">public ExtraInfo(int var1, @Nonnull Function<ExtraInfo, ValidationResults> var2) {
this.legacyVersion = var1;
this.validationResults = var2.apply(this);
this.codecStore = CodecStore.STATIC;
}
class="kw">public int getVersion() {
class="kw">return Integer.MAX_VALUE;
}
@Deprecated
class="kw">public int getLegacyVersion() {
class="kw">return this.legacyVersion;
}
class="kw">public int getKeysSize() {
class="kw">return this.keysSize;
}
class="kw">public CodecStore getCodecStore() {
class="kw">return this.codecStore;
}
class="kw">private int nextKeyIndex() {
int var1 = this.keysSize++;
if (this.stringKeys.length <= var1) {
int var2 = grow(var1);
this.stringKeys = Arrays.copyOf(this.stringKeys, var2);
this.intKeys = Arrays.copyOf(this.intKeys, var2);
if (GithubMessageUtil.isGithub()) {
this.lineNumbers = Arrays.copyOf(this.lineNumbers, var2);
this.columnNumbers = Arrays.copyOf(this.columnNumbers, var2);
}
}
class="kw">return var1;
}
class="kw">public void pushKey(String var1) {
int var2 = this.nextKeyIndex();
this.stringKeys[var2] = var1;
}
class="kw">public void pushIntKey(int var1) {
int var2 = this.nextKeyIndex();
this.intKeys[var2] = var1;
}
class="kw">public void pushKey(String var1, RawJsonReader var2) {
int var3 = this.nextKeyIndex();
this.stringKeys[var3] = var1;
if (GithubMessageUtil.isGithub()) {
this.lineNumbers[var3] = var2.getLine();
this.columnNumbers[var3] = var2.getColumn();
}
}
class="kw">public void pushIntKey(int var1, RawJsonReader var2) {
int var3 = this.nextKeyIndex();
this.intKeys[var3] = var1;
if (GithubMessageUtil.isGithub()) {
this.lineNumbers[var3] = var2.getLine();
this.columnNumbers[var3] = var2.getColumn();
}
}
class="kw">public void popKey() {
this.stringKeys[--this.keysSize] = null;
}
class="kw">private int nextIgnoredUnknownIndex() {
int var1 = this.ignoredUnknownSize++;
if (this.ignoredUnknownKeys.length <= var1) {
this.ignoredUnknownKeys = Arrays.copyOf(this.ignoredUnknownKeys, grow(var1));
}
class="kw">return var1;
}
class="kw">public void ignoreUnusedKey(String var1) {
int var2 = this.nextIgnoredUnknownIndex();
this.ignoredUnknownKeys[var2] = var1;
}
class="kw">public void popIgnoredUnusedKey() {
this.ignoredUnknownKeys[--this.ignoredUnknownSize] = null;
}
class="kw">public int getIgnoredUnusedSize() {
class="kw">return this.ignoredUnknownSize;
}
class="kw">public boolean consumeIgnoredUnknownKey(@Nonnull RawJsonReader var1) class="kw">throws IOException {
if (this.ignoredUnknownSize <= 0) {
class="kw">return false;
}
int var2 = this.ignoredUnknownSize - 1;
String var3 = this.ignoredUnknownKeys[var2];
if (var3 == null) {
class="kw">return false;
}
if (!var1.tryConsumeString(var3)) {
class="kw">return false;
}
this.ignoredUnknownKeys[var2] = null;
class="kw">return true;
}
class="kw">public boolean consumeIgnoredUnknownKey(@Nonnull String var1) {
if (this.ignoredUnknownSize <= 0) {
class="kw">return false;
}
int var2 = this.ignoredUnknownSize - 1;
if (!var1.equals(this.ignoredUnknownKeys[var2])) {
class="kw">return false;
}
this.ignoredUnknownKeys[var2] = null;
class="kw">return true;
}
class="kw">public void readUnknownKey(@Nonnull RawJsonReader var1) class="kw">throws IOException {
if (!this.consumeIgnoredUnknownKey(var1)) {
String var2 = var1.readString();
if (!isIgnoredMetadataKey(var2)) {
this.recordUnknownKey(var2);
}
}
}
class="kw">public void addUnknownKey(@Nonnull String var1) {
if (!this.consumeIgnoredUnknownKey(var1)) {
if (!isIgnoredMetadataKey(var1)) {
if (this.keysSize != 0 || !"Parent".equals(var1)) {
this.recordUnknownKey(var1);
}
}
}
}
class="kw">protected void recordUnknownKey(@Nonnull String var1) {
}
class="kw">private class="kw">static boolean isIgnoredMetadataKey(@Nonnull String var0) {
class="kw">return class="kw">switch (var0) {
case "$Title", "$Comment", "$TODO", "$Author", "$Position", "$FloatingFunctionNodes", "$Groups", "$WorkspaceID", "$NodeEditorMetadata", "$NodeId" -> true;
class="kw">default -> false;
};
}
class="kw">public String peekKey() {
class="kw">return this.peekKey('.');
}
class="kw">public String peekKey(char var1) {
if (this.keysSize == 0) {
class="kw">return "";
}
if (this.keysSize == 1) {
String var5 = this.stringKeys[0];
class="kw">return var5 != null ? var5 : String.valueOf(this.intKeys[0]);
}
StringBuilder var2 = new StringBuilder();
for (int var3 = 0; var3 < this.keysSize; var3++) {
if (var3 > 0) {
var2.append(var1);
}
String var4 = this.stringKeys[var3];
if (var4 != null) {
var2.append(var4);
} else {
var2.append(this.intKeys[var3]);
}
}
class="kw">return var2.toString();
}
class="kw">public int peekLine() {
class="kw">return GithubMessageUtil.isGithub() && this.keysSize > 0 ? this.lineNumbers[this.keysSize - 1] : -1;
}
class="kw">public int peekColumn() {
class="kw">return GithubMessageUtil.isGithub() && this.keysSize > 0 ? this.columnNumbers[this.keysSize - 1] : -1;
}
@Nonnull
class="kw">public List<String> getUnknownKeys() {
class="kw">return List.of();
}
class="kw">public ValidationResults getValidationResults() {
class="kw">return this.validationResults;
}
@Deprecated
class="kw">public Map<String, Object> getMetadata() {
class="kw">return this.metadata;
}
class="kw">public void appendDetailsTo(@Nonnull StringBuilder var1) {
var1.append("ExtraInfo\n");
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "ExtraInfo{version="
+ this.legacyVersion
+ ", stringKeys="
+ Arrays.toString(this.stringKeys)
+ ", intKeys="
+ Arrays.toString(this.intKeys)
+ ", keysSize="
+ this.keysSize
+ ", ignoredUnknownKeys="
+ Arrays.toString(this.ignoredUnknownKeys)
+ ", ignoredUnknownSize="
+ this.ignoredUnknownSize
+ ", unknownKeys="
+ this.getUnknownKeys()
+ ", validationResults="
+ this.validationResults
+ "}";
}
class="kw">private class="kw">static int grow(int var0) {
class="kw">return var0 + (var0 >> 1);
}
}