TransactionRecord class

Пакет: com.hypixel.hytale.builtin.adventure.objectives.transaction

Файл: com/hypixel/hytale/builtin/adventure/objectives/transaction/TransactionRecord.java

Методы (5)

МодификаторыВозвратСигнатура
abstract abstract void completevoid complete()
public TransactionStatus getStatusTransactionStatus getStatus()
abstract abstract void revertvoid revert()
abstract abstract boolean shouldBeSerializedboolean shouldBeSerialized()
abstract abstract void unloadvoid unload()

Исходный код

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

class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.codec.codecs.EnumCodec;
class="kw">import com.hypixel.hytale.codec.lookup.CodecMapCodec;
class="kw">import com.hypixel.hytale.common.util.ArrayUtil;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class="kw">abstract class TransactionRecord {
   @Nonnull
   class="kw">public class="kw">static class="kw">final CodecMapCodec<TransactionRecord> CODEC = new CodecMapCodec<>("Type");
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<TransactionRecord> BASE_CODEC = BuilderCodec.abstractBuilder(TransactionRecord.class)
      .append(
         new KeyedCodec<>("Status", new EnumCodec<>(TransactionStatus.class, EnumCodec.EnumStyle.LEGACY)),
         (var0, var1) -> var0.status = var1,
         var0 -> var0.status
      )
      .add()
      .build();
   class="kw">protected TransactionStatus status = TransactionStatus.SUCCESS;
   class="kw">private String reason;

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

   class="kw">public TransactionStatus getStatus() {
      class="kw">return this.status;
   }

   class="kw">public class="kw">abstract void revert();

   class="kw">public class="kw">abstract void complete();

   class="kw">public class="kw">abstract void unload();

   class="kw">public class="kw">abstract boolean shouldBeSerialized();

   @Nonnull
   class="kw">public TransactionRecord fail(String var1) {
      this.status = TransactionStatus.FAIL;
      this.reason = var1;
      class="kw">return this;
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "TransactionRecord{status=" + this.status + ", reason='" + this.reason + "'}";
   }

   @Nonnull
   class="kw">public class="kw">static <T class="kw">extends TransactionRecord> TransactionRecord[] appendTransaction(@Nullable TransactionRecord[] var0, @Nonnull T var1) {
      class="kw">return var0 == null ? new TransactionRecord[]{var1} : ArrayUtil.append(var0, var1);
   }

   @Nonnull
   class="kw">public class="kw">static <T class="kw">extends TransactionRecord> TransactionRecord[] appendFailedTransaction(@Nullable TransactionRecord[] var0, @Nonnull T var1, String var2) {
      class="kw">return appendTransaction(var0, var1.fail(var2));
   }

   class="kw">static {
      CODEC.register("SpawnEntity", SpawnEntityTransactionRecord.class, SpawnEntityTransactionRecord.CODEC);
      CODEC.register("SpawnBlock", SpawnTreasureChestTransactionRecord.class, SpawnTreasureChestTransactionRecord.CODEC);
   }
}