Clover Coverage Report - XWiki Rendering - Parent POM 4.0-SNAPSHOT (Aggregated)
Coverage timestamp: Mon Mar 12 2012 18:03:13 CET
../../../../../img/srcFileCovDistChart10.png 0% of files have more coverage
12   79   5   6
4   27   0.42   2
2     2.5  
1    
 
  ParametersPrinter       Line # 30 12 0% 5 1 94.4% 0.9444444
 
  (96)
 
1    /*
2    * See the NOTICE file distributed with this work for additional
3    * information regarding copyright ownership.
4    *
5    * This is free software; you can redistribute it and/or modify it
6    * under the terms of the GNU Lesser General Public License as
7    * published by the Free Software Foundation; either version 2.1 of
8    * the License, or (at your option) any later version.
9    *
10    * This software is distributed in the hope that it will be useful,
11    * but WITHOUT ANY WARRANTY; without even the implied warranty of
12    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13    * Lesser General Public License for more details.
14    *
15    * You should have received a copy of the GNU Lesser General Public
16    * License along with this software; if not, write to the Free
17    * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
18    * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
19    */
20    package org.xwiki.rendering.internal.renderer;
21   
22    import java.util.Map;
23   
24    /**
25    * Generates syntax for a parameters group like macros and links.
26    *
27    * @version $Id$
28    * @since 1.9RC2
29    */
 
30    public class ParametersPrinter
31    {
32    /**
33    * Quote character.
34    */
35    private static final String QUOTE = "\"";
36   
37    /**
38    * Print the parameters as a String.
39    *
40    * @param parameters the parameters to print
41    * @param escapeChar the character used in front of a special character when need to escape it
42    * @return the printed parameters
43    */
 
44  111 toggle public String print(Map<String, String> parameters, char escapeChar)
45    {
46  111 StringBuffer buffer = new StringBuffer();
47  111 for (Map.Entry<String, String> entry : parameters.entrySet()) {
48  151 String value = entry.getValue();
49  151 String key = entry.getKey();
50   
51  151 if (key != null && value != null) {
52  151 if (buffer.length() > 0) {
53  40 buffer.append(' ');
54    }
55  151 buffer.append(print(key, value, escapeChar));
56    }
57    }
58   
59  111 return buffer.toString();
60    }
61   
62    /**
63    * Print a parameter as a String.
64    *
65    * @param parameterName the name of the parameter to print
66    * @param parameterValue the value of the parameter to print
67    * @param escapeChar the character used in front of a special character when need to escape it
68    * @return the printed parameter
69    */
 
70  158 toggle public String print(String parameterName, String parameterValue, char escapeChar)
71    {
72    // escape the escaping character
73  158 String value = parameterValue.replace(String.valueOf(escapeChar), String.valueOf(escapeChar) + escapeChar);
74    // escape quote
75  158 value = value.replace(QUOTE, String.valueOf(escapeChar) + QUOTE);
76   
77  158 return parameterName + "=" + QUOTE + value + QUOTE;
78    }
79    }