All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.moon.core.util.NothingMap Maven / Gradle / Ivy

package com.moon.core.util;

import java.util.*;
import java.util.function.BiConsumer;
import java.util.function.BiFunction;
import java.util.function.Function;

/**
 * @author moonsky
 */
public final class NothingMap extends AbstractMap implements Map {

    public static final NothingMap DEFAULT = new NothingMap();

    public NothingMap() { }

    public NothingMap(Object value) { }

    public NothingMap(Object value, Object... values) { }

    public static final  NothingMap getInstance() { return DEFAULT; }

    @Override
    public int size() { return 0; }

    @Override
    public boolean isEmpty() { return true; }

    @Override
    public boolean containsValue(Object value) { return false; }

    @Override
    public boolean containsKey(Object key) { return false; }

    @Override
    public V get(Object key) { return null; }

    @Override
    public V put(K key, V value) { return null; }

    @Override
    public V remove(Object key) { return null; }

    @Override
    public void putAll(Map m) { }

    @Override
    public void clear() { }

    @Override
    public Set keySet() { return new HashSet<>(); }

    @Override
    public Collection values() { return new ArrayList<>(); }

    @Override
    public boolean equals(Object o) { return o == this; }

    @Override
    public int hashCode() { return System.identityHashCode(this); }

    @Override
    public String toString() { return getClass().getSimpleName() + "{}"; }

    @Override
    protected Object clone() { return new NothingMap<>(); }

    @Override
    public V getOrDefault(Object key, V defaultValue) { return defaultValue; }

    @Override
    public void forEach(BiConsumer action) { }

    @Override
    public void replaceAll(BiFunction function) { }

    @Override
    public V putIfAbsent(K key, V value) { return null; }

    @Override
    public boolean remove(Object key, Object value) { return false; }

    @Override
    public boolean replace(K key, V oldValue, V newValue) { return false; }

    @Override
    public V replace(K key, V value) { return null; }

    @Override
    public V computeIfAbsent(K key, Function mappingFunction) { return null; }

    @Override
    public V computeIfPresent(K key, BiFunction remappingFunction) { return null; }

    @Override
    public V compute(K key, BiFunction remappingFunction) { return null; }

    @Override
    public V merge(K key, V value, BiFunction remappingFunction) { return null; }

    @Override
    public Set> entrySet() { return new HashSet<>(); }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy