001    /** 
002     * 
003     * Copyright 2004 Protique Ltd
004     * 
005     * Licensed under the Apache License, Version 2.0 (the "License"); 
006     * you may not use this file except in compliance with the License. 
007     * You may obtain a copy of the License at 
008     * 
009     * http://www.apache.org/licenses/LICENSE-2.0
010     * 
011     * Unless required by applicable law or agreed to in writing, software
012     * distributed under the License is distributed on an "AS IS" BASIS, 
013     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
014     * See the License for the specific language governing permissions and 
015     * limitations under the License. 
016     * 
017     **/
018    package org.activemq.util;
019    
020    import java.util.Map;
021    
022    /**
023     * A bunch of utility methods for working with maps
024     *
025     * @version $Revision: 1.1.1.1 $
026     */
027    public class MapHelper {
028        /**
029         * Extracts the value from the map and coerces to a String
030         */
031        public static String getString(Map map, String key) {
032            Object answer = map.get(key);
033            return (answer != null) ? answer.toString() : null;
034        }
035    
036        /**
037         * Extracts the value from the map and coerces to an int value
038         * or returns a default value if one could not be found or coerced
039         */
040        public static int getInt(Map map, String key, int defaultValue) {
041            Object value = map.get(key);
042            if (value instanceof Number) {
043                return ((Number) value).intValue();
044            }
045            else if (value instanceof String) {
046                return Integer.parseInt((String) value);
047            }
048            return defaultValue;
049        }
050    }