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);
   }
}