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

org.cesecore.util.Base64GetHashMap Maven / Gradle / Ivy

/*************************************************************************
 *                                                                       *
 *  CESeCore: CE Security Core                                           *
 *                                                                       *
 *  This software is free software; you can redistribute it and/or       *
 *  modify it under the terms of the GNU Lesser General Public           *
 *  License as published by the Free Software Foundation; either         *
 *  version 2.1 of the License, or any later version.                    *
 *                                                                       *
 *  See terms of license at gnu.org.                                     *
 *                                                                       *
 *************************************************************************/

package org.cesecore.util;

import java.util.LinkedHashMap;
import java.util.Map;



/** An implementation of HashMap that base64 decodes all String's that you 'get', 
 * if they start with 'B64', i.e. it base64 decodes string of form "B64:".
 * It only tries to decode objects of type String.
 * 
 * @version $Id: Base64GetHashMap.java 17625 2013-09-20 07:12:06Z netmackan $
 */
@SuppressWarnings("rawtypes")
public class Base64GetHashMap extends LinkedHashMap {
  
    private static final long serialVersionUID = 510436675714264809L;

    public Base64GetHashMap() {
        super();
    }
    @SuppressWarnings("unchecked")
    public Base64GetHashMap(Map m) {
        super(m);
    }
    
    public Object get(Object key) {
        Object o = super.get(key);
        if (o == null) {
            return o;
        }
        if (o instanceof String) {
            String s = (String) o;
            return StringTools.getBase64String(s);                       
        }
        return o;
    }
    
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy