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

love.keeping.starter.web.utils.SimpleMap Maven / Gradle / Ivy

package love.keeping.starter.web.utils;

import love.keeping.starter.common.utils.StringUtil;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;

public class SimpleMap extends HashMap implements Map, Cloneable, Serializable {

  public SimpleMap(int initialCapacity, float loadFactor) {

    super(initialCapacity, loadFactor);
  }

  public SimpleMap(int initialCapacity) {

    super(initialCapacity);
  }

  public SimpleMap() {

  }

  public SimpleMap(Map m) {

    super(m);
  }

  public String getString(K k) {

    return getString(k, null);
  }

  public String getString(K k, V defaultValue) {

    Object v = this.getOrDefault(k, defaultValue);
    if (v == null) {
      return null;
    }
    if (v instanceof String) {
      return (String) v;
    }

    return String.valueOf(v);
  }

  public Long getLong(K k) {

    return getLong(k, null);
  }

  public Long getLong(K k, V defaultValue) {

    Object v = this.getOrDefault(k, defaultValue);
    if (v == null || StringUtil.isEmpty(v.toString())) {
      return null;
    }
    if (v instanceof Long) {
      return (Long) v;
    }

    return Long.valueOf(v.toString());
  }

  @Override
  public V put(K key, V value) {

    if (value == null) {
      return null;
    }

    if (value instanceof CharSequence && StringUtil.isEmpty((CharSequence) value)) {
      return null;
    }

    return super.put(key, value);
  }

  public String toJsonString() {

    return JsonUtil.toJsonString(this);
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy