LazyLateValidator class

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

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

implements: LateValidator<T>

Методы (1)

МодификаторыВозвратСигнатура
if if(this.validator == null)

Исходный код

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

class="kw">import com.hypixel.hytale.codec.ExtraInfo;
class="kw">import com.hypixel.hytale.codec.schema.SchemaContext;
class="kw">import com.hypixel.hytale.codec.schema.config.Schema;
class="kw">import java.util.function.Supplier;
class="kw">import javax.annotation.Nonnull;

class="kw">public class="kw">final class LazyLateValidator<T> class="kw">implements LateValidator<T> {
   @Nonnull
   class="kw">private class="kw">final Supplier<LateValidator<? super T>> supplier;
   class="kw">private class="kw">volatile LateValidator<? super T> validator;

   class="kw">public LazyLateValidator(@Nonnull Supplier<LateValidator<? super T>> var1) {
      this.supplier = var1;
   }

   class="kw">private LateValidator<? super T> get() {
      if (this.validator == null) {
         this.validator = this.supplier.get();
      }

      class="kw">return this.validator;
   }

   @Override
   class="kw">public void accept(T var1, ValidationResults var2) {
      this.get().accept(var1, var2);
   }

   @Override
   class="kw">public void acceptLate(T var1, ValidationResults var2, ExtraInfo var3) {
      this.get().acceptLate(var1, var2, var3);
   }

   @Override
   class="kw">public void updateSchema(SchemaContext var1, Schema var2) {
      this.get().updateSchema(var1, var2);
   }
}