1 /* 2 * FCKeditor - The text editor for Internet - http://www.fckeditor.net 3 * Copyright (C) 2004-2009 Frederico Caldeira Knabben 4 * 5 * == BEGIN LICENSE == 6 * 7 * Licensed under the terms of any of the following licenses at your 8 * choice: 9 * 10 * - GNU General Public License Version 2 or later (the "GPL") 11 * http://www.gnu.org/licenses/gpl.html 12 * 13 * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") 14 * http://www.gnu.org/licenses/lgpl.html 15 * 16 * - Mozilla Public License Version 1.1 or later (the "MPL") 17 * http://www.mozilla.org/MPL/MPL-1.1.html 18 * 19 * == END LICENSE == 20 */ 21 package net.fckeditor; 22 23 import java.io.UnsupportedEncodingException; 24 import java.net.URLEncoder; 25 import java.util.HashMap; 26 import java.util.Map; 27 28 import net.fckeditor.tool.Utils; 29 30 import org.slf4j.Logger; 31 import org.slf4j.LoggerFactory; 32 33 /** 34 * Java representation of the <a href="http://docs.fckeditor.net/FCKeditor_2.x/Developers_Guide/Configuration/Configuration_Options" 35 * target="_blank">FCKConfig</a> object from the editor. Every FCKeditor 36 * instance will load the <code>config.js</code> by default, if you assign a 37 * FCKConfig instance to an editor, it will automatically override these 38 * system-wide settings for the current instance only. 39 * 40 * @version $Id: FCKeditorConfig.java 3695 2009-06-18 20:18:38Z mosipov $ 41 */ 42 public class FCKeditorConfig extends HashMap<String, String> { 43 44 private static final long serialVersionUID = -4831190504944866644L; 45 private static final Logger logger = LoggerFactory 46 .getLogger(FCKeditorConfig.class); 47 48 /** 49 * Generates the URL parameter sequence for this configuration. 50 * 51 * @return HTML-encoded sequence of configuration parameters 52 */ 53 public String getUrlParams() { 54 StringBuffer osParams = new StringBuffer(); 55 try { 56 for (Map.Entry<String, String> entry : this.entrySet()) { 57 if (Utils.isNotEmpty(entry.getValue())) { 58 osParams.append("&"); 59 osParams.append(entry.getKey()); 60 osParams.append("="); 61 osParams.append(URLEncoder 62 .encode(entry.getValue(), "UTF-8")); 63 } 64 } 65 66 } catch (UnsupportedEncodingException e) { 67 logger.error("Configuration parameters could not be encoded", e); 68 } 69 70 if (osParams.length() > 0) 71 osParams.delete(0, 5); 72 return osParams.toString(); 73 } 74 }