ListTransaction class

Пакет: com.hypixel.hytale.server.core.inventory.transaction

Файл: com/hypixel/hytale/server/core/inventory/transaction/ListTransaction.java

implements: Transaction

Поля (5)

МодификаторыТипИмя
break
List var4
List var4
boolean var5
var5

Методы (5)

МодификаторыВозвратСигнатура
for for(Transaction var3 : this.list)
for for(Transaction var7 : var4)
static <T extends Transaction> ListTransaction<T> getEmptyTransaction<T extends Transaction> ListTransaction<T> getEmptyTransaction(boolean var0)
if if(!this.succeeded)
public int sizeint size()

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.inventory.transaction;

class="kw">import com.hypixel.hytale.server.core.inventory.container.ItemContainer;
class="kw">import java.util.Collections;
class="kw">import java.util.List;
class="kw">import java.util.Objects;
class="kw">import java.util.stream.Collectors;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class ListTransaction<T class="kw">extends Transaction> class="kw">implements Transaction {
   class="kw">public class="kw">static class="kw">final ListTransaction<?> EMPTY_SUCCESSFUL_TRANSACTION = new ListTransaction(true);
   class="kw">public class="kw">static class="kw">final ListTransaction<?> EMPTY_FAILED_TRANSACTION = new ListTransaction(false);
   class="kw">private class="kw">final boolean succeeded;
   @Nonnull
   class="kw">private class="kw">final List<T> list;

   class="kw">public class="kw">static <T class="kw">extends Transaction> ListTransaction<T> getEmptyTransaction(boolean var0) {
      class="kw">return (ListTransaction<T>)(var0 ? EMPTY_SUCCESSFUL_TRANSACTION : EMPTY_FAILED_TRANSACTION);
   }

   class="kw">private ListTransaction(boolean var1) {
      this.succeeded = var1;
      this.list = Collections.emptyList();
   }

   class="kw">public ListTransaction(boolean var1, @Nonnull List<T> var2) {
      this.succeeded = var1;
      this.list = Collections.unmodifiableList(var2);
   }

   @Override
   class="kw">public boolean succeeded() {
      class="kw">return this.succeeded;
   }

   @Override
   class="kw">public boolean wasSlotModified(short var1) {
      if (!this.succeeded) {
         class="kw">return false;
      }

      for (Transaction var3 : this.list) {
         if (var3.succeeded() && var3.wasSlotModified(var1)) {
            class="kw">return true;
         }
      }

      class="kw">return false;
   }

   @Nonnull
   class="kw">public List<T> getList() {
      class="kw">return this.list;
   }

   class="kw">public int size() {
      class="kw">return this.list.size();
   }

   @Nonnull
   class="kw">public ListTransaction<T> toParent(ItemContainer var1, short var2, ItemContainer var3) {
      List var4 = this.list.stream().map(var3x -> var3x.toParent(var1, var2, var3)).collect(Collectors.toList());
      class="kw">return new ListTransaction<>(this.succeeded, var4);
   }

   @Nullable
   class="kw">public ListTransaction<T> fromParent(ItemContainer var1, short var2, ItemContainer var3) {
      List var4 = this.list.stream().map(var3x -> var3x.fromParent(var1, var2, var3)).filter(Objects::nonNull).collect(Collectors.toList());
      if (var4.isEmpty()) {
         class="kw">return null;
      }

      boolean var5 = false;

      for (Transaction var7 : var4) {
         if (var7.succeeded()) {
            var5 = true;
            break;
         }
      }

      class="kw">return new ListTransaction<>(var5, var4);
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "ListTransaction{succeeded=" + this.succeeded + ", list=" + this.list + "}";
   }
}