1 // Copyright 2011 Google Inc. All Rights Reserved.
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
7 // http://www.apache.org/licenses/LICENSE-2.0
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
15 package com.hughes.util;
19 @SuppressWarnings({"WeakerAccess", "unused"})
20 public class MapUtil {
22 public static <K,V> V safeGet(final Map<K,V> map, K key, V defaultValue) {
23 if (!map.containsKey(key)) {
29 public static <K,V> V safeGetOrPut(final Map<K,V> map, K key, V defaultValue) {
30 if (!map.containsKey(key)) {
31 map.put(key, defaultValue);
36 public static <K,V> V safeGet(final Map<K,V> map, K key, Class<V> valueClass) {
37 if (!map.containsKey(key)) {
39 map.put(key, valueClass.newInstance());
40 } catch (Exception e) {
41 throw new RuntimeException(e);
47 public static <K,V> V safeRemove(final Map<K,V> map, K key, V defaultValue) {
48 if (!map.containsKey(key)) {
51 return map.remove(key);