FileDocCategorySizeDatePackage
JavaCharFormatter.javaAPI DocGlassfish v2 API3173Wed Aug 30 15:34:08 BST 2006persistence.antlr

JavaCharFormatter

public class JavaCharFormatter extends Object implements CharFormatter

Fields Summary
Constructors Summary
Methods Summary
public java.lang.StringescapeChar(int c, boolean forCharLiteral)
Given a character value, return a string representing the character that can be embedded inside a string literal or character literal This works for Java/C/C++ code-generation and languages with compatible special-character-escapment. Code-generators for languages should override this method.

param
c The character of interest.
param
forCharLiteral true to escape for char literal, false for string literal

        switch (c) {
            //		case GrammarAnalyzer.EPSILON_TYPE : return "<end-of-token>";
            case '\n":
                return "\\n";
            case '\t":
                return "\\t";
            case '\r":
                return "\\r";
            case '\\":
                return "\\\\";
            case '\'":
                return forCharLiteral ? "\\'" : "'";
            case '"":
                return forCharLiteral ? "\"" : "\\\"";
            default :
                if (c < ' " || c > 126) {
                    if ((0x0000 <= c) && (c <= 0x000F)) {
                        return "\\u000" + Integer.toString(c, 16);
                    }
                    else if ((0x0010 <= c) && (c <= 0x00FF)) {
                        return "\\u00" + Integer.toString(c, 16);
                    }
                    else if ((0x0100 <= c) && (c <= 0x0FFF)) {
                        return "\\u0" + Integer.toString(c, 16);
                    }
                    else {
                        return "\\u" + Integer.toString(c, 16);
                    }
                }
                else {
                    return String.valueOf((char)c);
                }
        }
    
public java.lang.StringescapeString(java.lang.String s)
Converts a String into a representation that can be use as a literal when surrounded by double-quotes.

param
s The String to be changed into a literal

        String retval = new String();
        for (int i = 0; i < s.length(); i++) {
            retval += escapeChar(s.charAt(i), false);
        }
        return retval;
    
public java.lang.StringliteralChar(int c)
Given a character value, return a string representing the character literal that can be recognized by the target language compiler. This works for languages that use single-quotes for character literals. Code-generators for languages should override this method.

param
c The character of interest.

        return "'" + escapeChar(c, true) + "'";
    
public java.lang.StringliteralString(java.lang.String s)
Converts a String into a string literal This works for languages that use double-quotes for string literals. Code-generators for languages should override this method.

param
s The String to be changed into a literal

        return "\"" + escapeString(s) + "\"";