AssetPathUtil class

Пакет: com.hypixel.hytale.builtin.asseteditor.util

Файл: com/hypixel/hytale/builtin/asseteditor/util/AssetPathUtil.java

Поля (8)

МодификаторыТипИмя
final String UNIX_FILE_SEPARATOR
String var1
String var1
int var2
int var2
int var3
int var8
String var9

Методы (6)

МодификаторыВозвратСигнатура
for for(String var7 : RESERVED_NAMES)
if if(var2 < 31)
if if(var8 == 0)
static boolean isInvalidFileNameboolean isInvalidFileName(@Nonnull Path var0)
static String removeInvalidFileNameCharsString removeInvalidFileNameChars(String var0)
switch switch(var2)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.asseteditor.util;

class="kw">import java.nio.file.Path;
class="kw">import java.nio.file.Paths;
class="kw">import java.util.regex.Pattern;
class="kw">import javax.annotation.Nonnull;

class="kw">public class AssetPathUtil {
   class="kw">public class="kw">static class="kw">final String UNIX_FILE_SEPARATOR = "/";
   class="kw">public class="kw">static class="kw">final String FILE_EXTENSION_JSON = ".json";
   class="kw">public class="kw">static class="kw">final String DIR_SERVER = "Server";
   class="kw">public class="kw">static class="kw">final String DIR_COMMON = "Common";
   class="kw">public class="kw">static class="kw">final Path PATH_DIR_COMMON = Paths.get("Common");
   class="kw">public class="kw">static class="kw">final Path PATH_DIR_SERVER = Paths.get("Server");
   class="kw">public class="kw">static class="kw">final Path EMPTY_PATH = Path.of("");
   class="kw">private class="kw">static class="kw">final Pattern INVALID_FILENAME_CHAR_REGEX = Pattern.compile("[<>:\"|?*/\\\\]");
   class="kw">private class="kw">static class="kw">final String[] RESERVED_NAMES = new String[]{
      "CON",
      "PRN",
      "AUX",
      "NUL",
      "COM1",
      "COM2",
      "COM3",
      "COM4",
      "COM5",
      "COM6",
      "COM7",
      "COM8",
      "COM9",
      "LPT1",
      "LPT2",
      "LPT3",
      "LPT4",
      "LPT5",
      "LPT6",
      "LPT7",
      "LPT8",
      "LPT9"
   };

   class="kw">public AssetPathUtil() {
   }

   class="kw">public class="kw">static boolean isInvalidFileName(@Nonnull Path var0) {
      String var1 = var0.getFileName().toString();
      if (var1.isEmpty()) {
         class="kw">return true;
      }

      if (var1.charAt(var1.length() - 1) == '.') {
         class="kw">return true;
      }

      int var3 = 0;

      while (var3 < var1.length()) {
         int var2 = var1.codePointAt(var3);
         if (var2 < 31) {
            class="kw">return true;
         }

         class="kw">switch (var2) {
            case 34:
            case 42:
            case 58:
            case 60:
            case 62:
            case 63:
            case 124:
               class="kw">return true;
            class="kw">default:
               var3 += Character.charCount(var2);
         }
      }

      int var8 = var1.indexOf(46);
      if (var8 == 0) {
         class="kw">return false;
      }

      String var9 = var8 < 0 ? var1 : var1.substring(0, var8);

      for (String var7 : RESERVED_NAMES) {
         if (var7.equals(var9)) {
            class="kw">return true;
         }
      }

      class="kw">return false;
   }

   class="kw">public class="kw">static String removeInvalidFileNameChars(String var0) {
      class="kw">return INVALID_FILENAME_CHAR_REGEX.matcher(var0).replaceAll("");
   }

   @Nonnull
   class="kw">private class="kw">static String getIdFromPath(@Nonnull Path var0) {
      String var1 = var0.getFileName().toString();
      int var2 = var1.lastIndexOf(46);
      class="kw">return var2 == -1 ? var1 : var1.substring(0, var2);
   }
}