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 + "}";
}
}