Rewrite inefficient string functions
[cql-java-moved-to-github.git] / src / main / java / org / z3950 / zing / cql / Utils.java
1 // $Id: Utils.java,v 1.2 2002-11-06 00:05:58 mike Exp $
2
3 package org.z3950.zing.cql;
4
5
6 /**
7  * Utility functions for the org.z3950.zing.cql package.
8  * Not intended for use outside this package.
9  *
10  * @version     $Id: Utils.java,v 1.2 2002-11-06 00:05:58 mike Exp $
11  */
12 class Utils {
13     static String indent(int level) {
14         String x = "";
15         while (level-- > 0) {
16             x += "  ";
17         }
18         return x;
19     }
20
21     // XML Quote --
22     //  s/&/&/g;
23     //  s/</&lt;/g;
24     //  s/>/&gt;/g;
25     static String xq(String str) {
26         StringBuilder sb = new StringBuilder();
27         for(int i = 0; i<str.length(); i++) {
28             char c = str.charAt(i);
29             switch (c) {
30                 case '<':
31                     sb.append("&lt;");
32                     break;
33                 case '>':
34                     sb.append("&gt;");
35                     break;
36                 case '&':
37                     sb.append("&amp;");
38                     break;
39                 default:
40                     sb.append(c);
41             }
42         }
43         return sb.toString();
44     }
45
46 }