/usr/share/doc/libcobertura-java/api/src-html/net/sourceforge/cobertura/util/StringUtil.html is in libcobertura-java-doc 1.9.4.1+dfsg-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<title>Source code</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<div class="sourceContainer">
<pre><span class="sourceLineNo">001</span>/*<a name="line.1"></a>
<span class="sourceLineNo">002</span> * Cobertura - http://cobertura.sourceforge.net/<a name="line.2"></a>
<span class="sourceLineNo">003</span> *<a name="line.3"></a>
<span class="sourceLineNo">004</span> * Copyright (C) 2005 Jeremy Thomerson<a name="line.4"></a>
<span class="sourceLineNo">005</span> *<a name="line.5"></a>
<span class="sourceLineNo">006</span> * Note: This file is dual licensed under the GPL and the Apache<a name="line.6"></a>
<span class="sourceLineNo">007</span> * Source License (so that it can be used from both the main<a name="line.7"></a>
<span class="sourceLineNo">008</span> * Cobertura classes and the ant tasks).<a name="line.8"></a>
<span class="sourceLineNo">009</span> *<a name="line.9"></a>
<span class="sourceLineNo">010</span> * Cobertura is free software; you can redistribute it and/or modify<a name="line.10"></a>
<span class="sourceLineNo">011</span> * it under the terms of the GNU General Public License as published<a name="line.11"></a>
<span class="sourceLineNo">012</span> * by the Free Software Foundation; either version 2 of the License,<a name="line.12"></a>
<span class="sourceLineNo">013</span> * or (at your option) any later version.<a name="line.13"></a>
<span class="sourceLineNo">014</span> *<a name="line.14"></a>
<span class="sourceLineNo">015</span> * Cobertura is distributed in the hope that it will be useful, but<a name="line.15"></a>
<span class="sourceLineNo">016</span> * WITHOUT ANY WARRANTY; without even the implied warranty of<a name="line.16"></a>
<span class="sourceLineNo">017</span> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<a name="line.17"></a>
<span class="sourceLineNo">018</span> * General Public License for more details.<a name="line.18"></a>
<span class="sourceLineNo">019</span> *<a name="line.19"></a>
<span class="sourceLineNo">020</span> * You should have received a copy of the GNU General Public License<a name="line.20"></a>
<span class="sourceLineNo">021</span> * along with Cobertura; if not, write to the Free Software<a name="line.21"></a>
<span class="sourceLineNo">022</span> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307<a name="line.22"></a>
<span class="sourceLineNo">023</span> * USA<a name="line.23"></a>
<span class="sourceLineNo">024</span> */<a name="line.24"></a>
<span class="sourceLineNo">025</span><a name="line.25"></a>
<span class="sourceLineNo">026</span>package net.sourceforge.cobertura.util;<a name="line.26"></a>
<span class="sourceLineNo">027</span><a name="line.27"></a>
<span class="sourceLineNo">028</span>import java.text.NumberFormat;<a name="line.28"></a>
<span class="sourceLineNo">029</span><a name="line.29"></a>
<span class="sourceLineNo">030</span>/**<a name="line.30"></a>
<span class="sourceLineNo">031</span> * Abstract, not to be instantiated utility class for String functions.<a name="line.31"></a>
<span class="sourceLineNo">032</span> * <a name="line.32"></a>
<span class="sourceLineNo">033</span> * @author Jeremy Thomerson<a name="line.33"></a>
<span class="sourceLineNo">034</span> */<a name="line.34"></a>
<span class="sourceLineNo">035</span>public abstract class StringUtil<a name="line.35"></a>
<span class="sourceLineNo">036</span>{<a name="line.36"></a>
<span class="sourceLineNo">037</span><a name="line.37"></a>
<span class="sourceLineNo">038</span> /**<a name="line.38"></a>
<span class="sourceLineNo">039</span> * <p><a name="line.39"></a>
<span class="sourceLineNo">040</span> * Replaces all instances of "replace" with "with" from the "original"<a name="line.40"></a>
<span class="sourceLineNo">041</span> * string.<a name="line.41"></a>
<span class="sourceLineNo">042</span> * </p><a name="line.42"></a>
<span class="sourceLineNo">043</span> *<a name="line.43"></a>
<span class="sourceLineNo">044</span> * <p><a name="line.44"></a>
<span class="sourceLineNo">045</span> * NOTE: it is known that a similar function is included in jdk 1.4 as replaceAll(),<a name="line.45"></a>
<span class="sourceLineNo">046</span> * but is written here so as to allow backward compatibility to users using SDK's<a name="line.46"></a>
<span class="sourceLineNo">047</span> * prior to 1.4<a name="line.47"></a>
<span class="sourceLineNo">048</span> * </p><a name="line.48"></a>
<span class="sourceLineNo">049</span> * <a name="line.49"></a>
<span class="sourceLineNo">050</span> * @param original The original string to do replacement on.<a name="line.50"></a>
<span class="sourceLineNo">051</span> * @param replace The string to replace.<a name="line.51"></a>
<span class="sourceLineNo">052</span> * @param with The string to replace "replace" with.<a name="line.52"></a>
<span class="sourceLineNo">053</span> * @return The replaced string.<a name="line.53"></a>
<span class="sourceLineNo">054</span> */<a name="line.54"></a>
<span class="sourceLineNo">055</span> public static String replaceAll(String original, String replace, String with)<a name="line.55"></a>
<span class="sourceLineNo">056</span> {<a name="line.56"></a>
<span class="sourceLineNo">057</span> if (original == null)<a name="line.57"></a>
<span class="sourceLineNo">058</span> {<a name="line.58"></a>
<span class="sourceLineNo">059</span> return original;<a name="line.59"></a>
<span class="sourceLineNo">060</span> }<a name="line.60"></a>
<span class="sourceLineNo">061</span><a name="line.61"></a>
<span class="sourceLineNo">062</span> final int len = replace.length();<a name="line.62"></a>
<span class="sourceLineNo">063</span> StringBuffer sb = new StringBuffer(original.length());<a name="line.63"></a>
<span class="sourceLineNo">064</span> int start = 0;<a name="line.64"></a>
<span class="sourceLineNo">065</span> int found = -1;<a name="line.65"></a>
<span class="sourceLineNo">066</span><a name="line.66"></a>
<span class="sourceLineNo">067</span> while ((found = original.indexOf(replace, start)) != -1)<a name="line.67"></a>
<span class="sourceLineNo">068</span> {<a name="line.68"></a>
<span class="sourceLineNo">069</span> sb.append(original.substring(start, found));<a name="line.69"></a>
<span class="sourceLineNo">070</span> sb.append(with);<a name="line.70"></a>
<span class="sourceLineNo">071</span> start = found + len;<a name="line.71"></a>
<span class="sourceLineNo">072</span> }<a name="line.72"></a>
<span class="sourceLineNo">073</span><a name="line.73"></a>
<span class="sourceLineNo">074</span> sb.append(original.substring(start));<a name="line.74"></a>
<span class="sourceLineNo">075</span> return sb.toString();<a name="line.75"></a>
<span class="sourceLineNo">076</span> }<a name="line.76"></a>
<span class="sourceLineNo">077</span><a name="line.77"></a>
<span class="sourceLineNo">078</span> /**<a name="line.78"></a>
<span class="sourceLineNo">079</span> * Takes a double and turns it into a percent string.<a name="line.79"></a>
<span class="sourceLineNo">080</span> * Ex. 0.5 turns into 50%<a name="line.80"></a>
<span class="sourceLineNo">081</span> * <a name="line.81"></a>
<span class="sourceLineNo">082</span> * @param value<a name="line.82"></a>
<span class="sourceLineNo">083</span> * @return corresponding percent string<a name="line.83"></a>
<span class="sourceLineNo">084</span> */<a name="line.84"></a>
<span class="sourceLineNo">085</span> public static String getPercentValue(double value)<a name="line.85"></a>
<span class="sourceLineNo">086</span> {<a name="line.86"></a>
<span class="sourceLineNo">087</span> //moved from HTMLReport.getPercentValue()<a name="line.87"></a>
<span class="sourceLineNo">088</span> value = Math.floor(value * 100) / 100; //to represent 199 covered lines from 200 as 99% covered, not 100 %<a name="line.88"></a>
<span class="sourceLineNo">089</span> return NumberFormat.getPercentInstance().format(value);<a name="line.89"></a>
<span class="sourceLineNo">090</span> }<a name="line.90"></a>
<span class="sourceLineNo">091</span> <a name="line.91"></a>
<span class="sourceLineNo">092</span>}<a name="line.92"></a>
</pre>
</div>
</body>
</html>
|