DefaultMap class

Пакет: com.hypixel.hytale.common.map

Файл: com/hypixel/hytale/common/map/DefaultMap.java

implements: Map<K, V>

Поля (7)

МодификаторыТипИмя
final Map<K, V> delegate
int var1
var1
var1
Object var2
DefaultMap var2
Object var3

Методы (10)

МодификаторыВозвратСигнатура
public V getDefaultValueV getDefaultValue()
public Map<K, V> getDelegateMap<K, V> getDelegate()
if if(this.replaceNullWithDefault && var1 == null)
if if(this.allowReplacing)
if if(var3 == null)
if if(this == var1)
if if(this.allowReplacing != var2.allowReplacing)
public void setDefaultValuevoid setDefaultValue(V var1)
abstract this this(var1, var2, true)
abstract this this(var1, var2, var3, true)

Исходный код

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

class="kw">import java.util.Collection;
class="kw">import java.util.HashMap;
class="kw">import java.util.Map;
class="kw">import java.util.Set;
class="kw">import java.util.Map.Entry;
class="kw">import java.util.function.BiConsumer;
class="kw">import java.util.function.BiFunction;
class="kw">import java.util.function.Function;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class DefaultMap<K, V> class="kw">implements Map<K, V> {
   class="kw">private class="kw">final Map<K, V> delegate;
   class="kw">private class="kw">final boolean allowReplacing;
   class="kw">private class="kw">final boolean replaceNullWithDefault;
   class="kw">private V defaultValue;

   class="kw">public DefaultMap(V var1) {
      this(var1, new HashMap<>());
   }

   class="kw">public DefaultMap(V var1, Map<K, V> var2) {
      this(var1, var2, true);
   }

   class="kw">public DefaultMap(V var1, Map<K, V> var2, boolean var3) {
      this(var1, var2, var3, true);
   }

   class="kw">public DefaultMap(V var1, Map<K, V> var2, boolean var3, boolean var4) {
      this.defaultValue = var1;
      this.delegate = var2;
      this.allowReplacing = var3;
      this.replaceNullWithDefault = var4;
   }

   class="kw">public V getDefaultValue() {
      class="kw">return this.defaultValue;
   }

   class="kw">public void setDefaultValue(V var1) {
      this.defaultValue = var1;
   }

   class="kw">public Map<K, V> getDelegate() {
      class="kw">return this.delegate;
   }

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

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

   @Override
   class="kw">public boolean containsKey(Object var1) {
      class="kw">return this.delegate.containsKey(var1);
   }

   @Override
   class="kw">public boolean containsValue(Object var1) {
      class="kw">return this.delegate.containsValue(var1);
   }

   @Override
   class="kw">public V get(@Nullable Object var1) {
      if (this.replaceNullWithDefault && var1 == null) {
         class="kw">return this.defaultValue;
      }

      Object var2 = this.delegate.get(var1);
      class="kw">return var2 != null ? var2 : this.defaultValue;
   }

   @Override
   class="kw">public V put(K var1, V var2) {
      if (this.allowReplacing) {
         class="kw">return this.delegate.put(var1, var2);
      } else {
         Object var3 = this.delegate.putIfAbsent(var1, var2);
         if (var3 == null) {
            class="kw">return null;
         } else {
            throw new IllegalArgumentException("Attachment (" + var1 + ") is already registered!");
         }
      }
   }

   @Override
   class="kw">public V remove(Object var1) {
      class="kw">return this.delegate.remove(var1);
   }

   @Override
   class="kw">public void putAll(@Nonnull Map<? class="kw">extends K, ? class="kw">extends V> var1) {
      this.delegate.putAll(var1);
   }

   @Override
   class="kw">public void clear() {
      this.delegate.clear();
   }

   @Nonnull
   @Override
   class="kw">public Set<K> keySet() {
      class="kw">return this.delegate.keySet();
   }

   @Nonnull
   @Override
   class="kw">public Collection<V> values() {
      class="kw">return this.delegate.values();
   }

   @Nonnull
   @Override
   class="kw">public Set<Entry<K, V>> entrySet() {
      class="kw">return this.delegate.entrySet();
   }

   @Override
   class="kw">public boolean equals(@Nullable Object var1) {
      if (this == var1) {
         class="kw">return true;
      }

      if (var1 != null && this.getClass() == var1.getClass()) {
         DefaultMap var2 = (DefaultMap<?, ?>)var1;
         if (this.allowReplacing != var2.allowReplacing) {
            class="kw">return false;
         } else if (this.replaceNullWithDefault != var2.replaceNullWithDefault) {
            class="kw">return false;
         } else if (this.delegate != null ? this.delegate.equals(var2.delegate) : var2.delegate == null) {
            class="kw">return this.defaultValue != null ? this.defaultValue.equals(var2.defaultValue) : var2.defaultValue == null;
         } else {
            class="kw">return false;
         }
      } else {
         class="kw">return false;
      }
   }

   @Override
   class="kw">public int hashCode() {
      int var1 = this.delegate != null ? this.delegate.hashCode() : 0;
      var1 = 31 * var1 + (this.allowReplacing ? 1 : 0);
      var1 = 31 * var1 + (this.replaceNullWithDefault ? 1 : 0);
      class="kw">return 31 * var1 + (this.defaultValue != null ? this.defaultValue.hashCode() : 0);
   }

   @Override
   class="kw">public V getOrDefault(Object var1, V var2) {
      class="kw">return this.delegate.getOrDefault(var1, var2);
   }

   @Override
   class="kw">public void forEach(BiConsumer<? super K, ? super V> var1) {
      this.delegate.forEach(var1);
   }

   @Override
   class="kw">public void replaceAll(BiFunction<? super K, ? super V, ? class="kw">extends V> var1) {
      this.delegate.replaceAll(var1);
   }

   @Override
   class="kw">public V putIfAbsent(K var1, V var2) {
      class="kw">return this.delegate.putIfAbsent(var1, var2);
   }

   @Override
   class="kw">public boolean remove(Object var1, Object var2) {
      class="kw">return this.delegate.remove(var1, var2);
   }

   @Override
   class="kw">public boolean replace(K var1, V var2, V var3) {
      class="kw">return this.delegate.replace(var1, var2, var3);
   }

   @Override
   class="kw">public V replace(K var1, V var2) {
      class="kw">return this.delegate.replace(var1, var2);
   }

   @Override
   class="kw">public V computeIfAbsent(K var1, @Nonnull Function<? super K, ? class="kw">extends V> var2) {
      class="kw">return this.delegate.computeIfAbsent(var1, var2);
   }

   @Nullable
   @Override
   class="kw">public V computeIfPresent(K var1, @Nonnull BiFunction<? super K, ? super V, ? class="kw">extends V> var2) {
      class="kw">return this.delegate.computeIfPresent(var1, var2);
   }

   @Override
   class="kw">public V compute(K var1, @Nonnull BiFunction<? super K, ? super V, ? class="kw">extends V> var2) {
      class="kw">return this.delegate.compute(var1, var2);
   }

   @Override
   class="kw">public V merge(K var1, @Nonnull V var2, @Nonnull BiFunction<? super V, ? super V, ? class="kw">extends V> var3) {
      class="kw">return this.delegate.merge(var1, var2, var3);
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "DefaultMap{defaultValue=" + this.defaultValue + ", delegate=" + this.delegate + "}";
   }
}