EMMA Coverage Report (generated Sat Aug 20 11:00:51 CDT 2011)
[all classes][tuffy.util]

COVERAGE SUMMARY FOR SOURCE FILE [StringMan.java]

nameclass, %method, %block, %line, %
StringMan.java100% (1/1)75%  (9/12)55%  (143/262)48%  (24.5/51)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class StringMan100% (1/1)75%  (9/12)55%  (143/262)48%  (24.5/51)
StringMan (): void 0%   (0/1)0%   (0/3)0%   (0/1)
getUniqVarName (): String 0%   (0/1)0%   (0/12)0%   (0/1)
repeat (String, int): String 0%   (0/1)0%   (0/104)0%   (0/25)
<static initializer> 100% (1/1)100% (3/3)100% (2/2)
commaList (ArrayList): String 100% (1/1)100% (4/4)100% (1/1)
commaList (List): String 100% (1/1)100% (4/4)100% (1/1)
commaListParen (ArrayList): String 100% (1/1)100% (11/11)100% (1/1)
escapeJavaString (String): String 100% (1/1)100% (3/3)100% (1/1)
join (String, ArrayList): String 100% (1/1)100% (33/33)100% (5/5)
join (String, List): String 100% (1/1)100% (33/33)100% (5/5)
joinAndEscape (String, ArrayList): String 100% (1/1)100% (34/34)100% (5/5)
zeros (int): String 100% (1/1)100% (18/18)100% (4/4)

1package tuffy.util;
2 
3import java.util.ArrayList;
4import java.util.List;
5 
6import org.apache.commons.lang3.StringEscapeUtils;
7 
8import tuffy.db.SQLMan;
9 
10/**
11 * Container of string related utilities.
12 */
13public class StringMan {
14 
15        private static int uniqVar = 1;
16        
17        public static String getUniqVarName(){
18                return "uniqvar" + (uniqVar++);
19        }
20 
21        public static String escapeJavaString(String s){
22                return StringEscapeUtils.escapeJava(s);
23        }
24 
25        /**
26         * Gets a string with all zeros.
27         * @param length
28         * @return
29         */
30        public static String zeros(int length){
31                StringBuilder sb = new StringBuilder();
32                for(int i=0;i<length;i++){
33                        sb.append("0");
34                }
35                return sb.toString();
36        }
37        
38        /**
39         * Concatenates multiple strings with a given separator.
40         * 
41         * @param sep the separator
42         * @param parts substrings to be concatenated
43         * @return the resulting string
44         */
45        public static String join(String sep, ArrayList<String> parts) {
46                StringBuilder sb = new StringBuilder("");
47                for(int i=0; i<parts.size(); i++) {
48                        sb.append(parts.get(i));
49                        if(i != parts.size()-1) sb.append(sep);
50                }
51                return sb.toString();
52        }
53        
54        public static String joinAndEscape(String sep, ArrayList<String> parts) {
55                StringBuilder sb = new StringBuilder("");
56                for(int i=0; i<parts.size(); i++) {
57                        sb.append(SQLMan.escapeStringNoE(parts.get(i)));
58                        if(i != parts.size()-1) sb.append(sep);
59                }
60                return sb.toString();
61        }
62        
63        public static String join(String sep, List<String> parts) {
64                StringBuilder sb = new StringBuilder("");
65                for(int i=0; i<parts.size(); i++) {
66                        sb.append(parts.get(i));
67                        if(i != parts.size()-1) sb.append(sep);
68                }
69                return sb.toString();
70        }
71 
72        /**
73         * Concatenates multiple strings with commas.
74         * 
75         * @param parts list substrings to be concatenated
76         * @return the resulting string
77         */
78        public static String commaList(ArrayList<String> parts) {
79                return join(", ", parts);
80        }
81        
82        public static String commaList(List<String> parts) {
83                return join(", ", parts);
84        }
85 
86 
87        /**
88         * Concatenates multiple strings with commas, and then
89         * surrounds the result with a pair of parentheses.
90         * 
91         * @param ts substrings to be concatenated
92         * @return the resulting string
93         */
94        public static String commaListParen(ArrayList<String> ts) {
95                return "(" + commaList(ts) + ")";
96        }
97 
98    public static String repeat(String str, int repeat) {
99        if (str == null) {
100            return null;
101        }
102        if (repeat <= 0) {
103            return "";
104        }
105        int inputLength = str.length();
106        if (repeat == 1 || inputLength == 0) {
107            return str;
108        }
109        int outputLength = inputLength * repeat;
110        switch (inputLength) {
111            case 1 :
112                char ch = str.charAt(0);
113                char[] output1 = new char[outputLength];
114                for (int i = repeat - 1; i >= 0; i--) {
115                    output1[i] = ch;
116                }
117                return new String(output1);
118            case 2 :
119                char ch0 = str.charAt(0);
120                char ch1 = str.charAt(1);
121                char[] output2 = new char[outputLength];
122                for (int i = repeat * 2 - 2; i >= 0; i--, i--) {
123                    output2[i] = ch0;
124                    output2[i + 1] = ch1;
125                }
126                return new String(output2);
127            default :
128                StringBuilder buf = new StringBuilder(outputLength);
129                for (int i = 0; i < repeat; i++) {
130                    buf.append(str);
131                }
132                return buf.toString();
133        }
134    }
135 
136}

[all classes][tuffy.util]
EMMA 2.0.5312 EclEmma Fix 2 (C) Vladimir Roubtsov