BsonTransformationUtil class
Пакет: com.hypixel.hytale.builtin.asseteditor.util
Файл: com/hypixel/hytale/builtin/asseteditor/util/BsonTransformationUtil.java
Поля (12)
| Модификаторы | Тип | Имя |
|---|---|---|
|
|
return |
|
|
return |
|
BsonValue |
var4 |
|
|
var4 |
|
Object |
var6 |
|
|
var6 |
|
|
var6 |
|
|
var6 |
|
|
var6 |
|
|
var6 |
|
|
var6 |
|
int |
var7 |
Методы (13)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
static |
void |
actionOnPropertyvoid actionOnProperty(BsonDocument var0, @Nonnull String[] var1, @Nonnull BiConsumer<BsonValue, String> var2, boolean var3) |
|
|
for for(int var5 = 0; var5 < var1.length - 1; var5++) |
|
|
if if(var4 instanceof BsonDocument) |
|
|
if if(var6 == null || var6 instanceof BsonNull) |
|
|
if if(!var3) |
|
|
if if(var6 == null || var6 instanceof BsonNull) |
|
|
if if(!var3) |
|
|
if if(var0x instanceof BsonDocument) |
|
|
if if(var1x instanceof BsonDocument) |
|
|
if if(var1x instanceof BsonDocument) |
static |
void |
insertPropertyvoid insertProperty(BsonDocument var0, @Nonnull String[] var1, BsonValue var2) |
static |
void |
removePropertyvoid removeProperty(BsonDocument var0, @Nonnull String[] var1) |
static |
void |
setPropertyvoid setProperty(BsonDocument var0, @Nonnull String[] var1, BsonValue var2) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.asseteditor.util;
class="kw">import com.hypixel.hytale.common.util.StringUtil;
class="kw">import java.util.function.BiConsumer;
class="kw">import javax.annotation.Nonnull;
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 BsonTransformationUtil {
class="kw">public BsonTransformationUtil() {
}
class="kw">private class="kw">static void actionOnProperty(BsonDocument var0, @Nonnull String[] var1, @Nonnull BiConsumer<BsonValue, String> var2, boolean var3) {
BsonValue var4 = var0;
for (int var5 = 0; var5 < var1.length - 1; var5++) {
Object var6;
if (var4 class="kw">instanceof BsonDocument) {
var6 = ((BsonDocument)var4).get(var1[var5]);
if (var6 == null || var6 class="kw">instanceof BsonNull) {
if (!var3) {
class="kw">return;
}
if (StringUtil.isNumericString(var1[var5 + 1])) {
var6 = new BsonArray();
} else {
var6 = new BsonDocument();
}
((BsonDocument)var4).put(var1[var5], var6);
}
} else {
if (!(var4 class="kw">instanceof BsonArray) || !StringUtil.isNumericString(var1[var5])) {
throw new IllegalArgumentException(
"Element is not Object or (Array or invalid index)! " + String.join(".", var1) + ", " + var1[var5] + ", " + var4
);
}
int var7 = Integer.parseInt(var1[var5]);
var6 = ((BsonArray)var4).get(var7);
if (var6 == null || var6 class="kw">instanceof BsonNull) {
if (!var3) {
class="kw">return;
}
if (StringUtil.isNumericString(var1[var5 + 1])) {
var6 = new BsonArray();
} else {
var6 = new BsonDocument();
}
((BsonArray)var4).set(var7, var6);
}
}
var4 = var6;
}
var2.accept(var4, var1[var1.length - 1]);
}
class="kw">public class="kw">static void removeProperty(BsonDocument var0, @Nonnull String[] var1) {
actionOnProperty(var0, var1, (var0x, var1x) -> {
if (var0x class="kw">instanceof BsonDocument) {
((BsonDocument)var0x).remove(var1x);
} else {
if (!(var0x class="kw">instanceof BsonArray) || !StringUtil.isNumericString(var1x)) {
throw new IllegalArgumentException("Element is not Object or (Array or invalid index)! " + var1x + ", " + var1x + ", " + var0x);
}
((BsonArray)var0x).remove(Integer.parseInt(var1x));
}
}, false);
}
class="kw">public class="kw">static void setProperty(BsonDocument var0, @Nonnull String[] var1, BsonValue var2) {
actionOnProperty(var0, var1, (var1x, var2x) -> {
if (var1x class="kw">instanceof BsonDocument) {
((BsonDocument)var1x).put(var2x, var2);
} else {
if (!(var1x class="kw">instanceof BsonArray) || !StringUtil.isNumericString(var2x)) {
throw new IllegalArgumentException("Element is not Object or (Array or invalid index)! " + var2x + ", " + var2x + ", " + var1x);
}
((BsonArray)var1x).set(Integer.parseInt(var2x), var2);
}
}, true);
}
class="kw">public class="kw">static void insertProperty(BsonDocument var0, @Nonnull String[] var1, BsonValue var2) {
actionOnProperty(var0, var1, (var1x, var2x) -> {
if (var1x class="kw">instanceof BsonDocument) {
((BsonDocument)var1x).put(var2x, var2);
} else {
if (!(var1x class="kw">instanceof BsonArray) || !StringUtil.isNumericString(var2x)) {
throw new IllegalArgumentException("Element is not Object or (Array or invalid index)! " + var2x + ", " + var2x + ", " + var1x);
}
((BsonArray)var1x).add(Integer.parseInt(var2x), var2);
}
}, true);
}
}