in activemq-protobuf/src/main/java/org/apache/activemq/protobuf/compiler/AltJavaGenerator.java [2000:2032]
private String asJavaString(String value) {
StringBuilder sb = new StringBuilder(value.length()+2);
sb.append("\"");
for (int i = 0; i < value.length(); i++) {
char b = value.charAt(i);
switch (b) {
// Java does not recognize \a or \v, apparently.
case '\b': sb.append("\\b" ); break;
case '\f': sb.append("\\f" ); break;
case '\n': sb.append("\\n" ); break;
case '\r': sb.append("\\r" ); break;
case '\t': sb.append("\\t" ); break;
case '\\': sb.append("\\\\"); break;
case '\'': sb.append("\\\'"); break;
case '"' : sb.append("\\\""); break;
default:
if (b >= 0x20 && b <'Z') {
sb.append((char) b);
} else {
sb.append("\\u");
sb.append(HEX_TABLE[(b >>> 12) & 0x0F] );
sb.append(HEX_TABLE[(b >>> 8) & 0x0F] );
sb.append(HEX_TABLE[(b >>> 4) & 0x0F] );
sb.append(HEX_TABLE[b & 0x0F] );
}
break;
}
}
sb.append("\"");
return sb.toString();
}