ValidationResults class

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

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

Поля (6)

МодификаторыТипИмя
SUCCESS, WARNING, FAIL
break
final ExtraInfo extraInfo
ValidationResults.Result var3
StringBuilder var3
boolean var4

Методы (24)

МодификаторыВозвратСигнатура
Result Result()
public record ValidationResultrecord ValidationResult(ValidationResults.Result result, String reason)
protected record ValidatorResultsHolderrecord ValidatorResultsHolder(String key, int line, int column, List<ValidationResults.ValidationResult> results)
public void _processValidationResultsvoid _processValidationResults()
public void addvoid add(ValidationResults.ValidationResult var1)
public boolean appendResultpublic boolean appendResult(@Nonnull StringBuilder var1)
public void failvoid fail(String var1)
public static ValidationResults.ValidationResult failpublic static ValidationResults.ValidationResult fail(String var0)
for for(ValidationResults.ValidationResult var2 : this.results)
for for(ValidationResults.ValidatorResultsHolder var6 : this.validatorExceptions)
for for(ValidationResults.ValidationResult var8 : var6.results)
for for(ValidationResults.ValidationResult var2 : this.results)
public ExtraInfo getExtraInfoExtraInfo getExtraInfo()
public boolean hasFailedboolean hasFailed()
if if(this.results == null)
if if(var3 == ValidationResults.Result.WARNING || var3 == ValidationResults.Result.FAIL)
if if(this.validatorExceptions == null)
if if(var4)
if if(this.results == null)
public void logOrThrowValidatorExceptionsvoid logOrThrowValidatorExceptions(@Nonnull HytaleLogger var1)
public void logOrThrowValidatorExceptionsvoid logOrThrowValidatorExceptions(@Nonnull HytaleLogger var1, @Nonnull String var2)
public void setResultsvoid setResults(@Nullable List<ValidationResults.ValidationResult> var1)
public void warnvoid warn(String var1)
public static ValidationResults.ValidationResult warnpublic static ValidationResults.ValidationResult warn(String var0)

Исходный код

Показать/скрыть
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 {
      }
   }
}