Result enum

Пакет: com.hypixel.hytale.codec.validation

Файл: com/hypixel/hytale/codec/validation/ValidationResults.java

Поля (1)

МодификаторыТипИмя
SUCCESS, WARNING, FAIL

Исходный код

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

class="kw">import com.hypixel.hytale.codec.ExtraInfo;
class="kw">import com.hypixel.hytale.codec.exception.CodecValidationException;
class="kw">import com.hypixel.hytale.logger.HytaleLogger;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectArrayList;
class="kw">import java.util.List;
class="kw">import java.util.logging.Level;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class ValidationResults {
   class="kw">protected class="kw">final ExtraInfo extraInfo;
   @Nullable
   class="kw">protected List<ValidationResults.ValidatorResultsHolder> validatorExceptions;
   @Nullable
   class="kw">protected List<ValidationResults.ValidationResult> results;

   class="kw">public ValidationResults(ExtraInfo var1) {
      this.extraInfo = var1;
   }

   class="kw">public ExtraInfo getExtraInfo() {
      class="kw">return this.extraInfo;
   }

   class="kw">public void fail(String var1) {
      this.add(ValidationResults.ValidationResult.fail(var1));
   }

   class="kw">public void warn(String var1) {
      this.add(ValidationResults.ValidationResult.warn(var1));
   }

   class="kw">public void add(ValidationResults.ValidationResult var1) {
      if (this.results == null) {
         this.results = new ObjectArrayList();
      }

      this.results.add(var1);
   }

   class="kw">public void _processValidationResults() {
      if (this.results != null && !this.results.isEmpty()) {
         for (ValidationResults.ValidationResult var2 : this.results) {
            ValidationResults.Result var3 = var2.result;
            if (var3 == ValidationResults.Result.WARNING || var3 == ValidationResults.Result.FAIL) {
               if (this.validatorExceptions == null) {
                  this.validatorExceptions = new ObjectArrayList();
               }

               this.validatorExceptions
                  .add(
                     new ValidationResults.ValidatorResultsHolder(
                        this.extraInfo.peekKey(), this.extraInfo.peekLine(), this.extraInfo.peekColumn(), new ObjectArrayList(this.results)
                     )
                  );
               break;
            }
         }

         this.results.clear();
      }
   }

   class="kw">public void logOrThrowValidatorExceptions(@Nonnull HytaleLogger var1) {
      this.logOrThrowValidatorExceptions(var1, "Failed to validate asset!\n");
   }

   class="kw">public void logOrThrowValidatorExceptions(@Nonnull HytaleLogger var1, @Nonnull String var2) {
      if (this.validatorExceptions != null && !this.validatorExceptions.isEmpty()) {
         StringBuilder var3 = new StringBuilder(var2);
         this.extraInfo.appendDetailsTo(var3);
         boolean var4 = false;

         for (ValidationResults.ValidatorResultsHolder var6 : this.validatorExceptions) {
            if (var6.key != null && !var6.key.isEmpty()) {
               var3.append("Key: ").append(var6.key).append("\n");
            }

            var3.append("Results:\n");

            for (ValidationResults.ValidationResult var8 : var6.results) {
               var4 |= var8.appendResult(var3);
            }
         }

         if (var4) {
            throw new CodecValidationException(var3.toString());
         }

         var1.at(Level.WARNING).log("%s", var3.toString());
         this.validatorExceptions.clear();
      }
   }

   class="kw">public boolean hasFailed() {
      if (this.results == null) {
         class="kw">return false;
      }

      for (ValidationResults.ValidationResult var2 : this.results) {
         if (var2.result() == ValidationResults.Result.FAIL) {
            class="kw">return true;
         }
      }

      class="kw">return false;
   }

   @Nullable
   class="kw">public List<ValidationResults.ValidationResult> getResults() {
      class="kw">return this.results == null ? null : this.results;
   }

   class="kw">public void setResults(@Nullable List<ValidationResults.ValidationResult> var1) {
      this.results = var1;
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "ValidationResults{results=" + this.results + "}";
   }

   class="kw">public enum Result {
      SUCCESS,
      WARNING,
      FAIL;

      Result() {
      }
   }

   class="kw">public record ValidationResult(ValidationResults.Result result, String reason) {
      class="kw">public ValidationResult {
      }

      class="kw">public boolean appendResult(@Nonnull StringBuilder var1) {
         var1.append("\t").append(this.result).append(": ").append(this.reason).append("\n");
         class="kw">return this.result == ValidationResults.Result.FAIL;
      }

      @Nonnull
      class="kw">public class="kw">static ValidationResults.ValidationResult fail(String var0) {
         class="kw">return new ValidationResults.ValidationResult(ValidationResults.Result.FAIL, var0);
      }

      @Nonnull
      class="kw">public class="kw">static ValidationResults.ValidationResult warn(String var0) {
         class="kw">return new ValidationResults.ValidationResult(ValidationResults.Result.WARNING, var0);
      }
   }

   class="kw">protected record ValidatorResultsHolder(String key, int line, int column, List<ValidationResults.ValidationResult> results) {
      class="kw">protected ValidatorResultsHolder {
      }
   }
}