diff options
author | nhauge | 2012-03-08 06:52:42 +0000 |
---|---|---|
committer | nhauge | 2012-03-08 06:52:42 +0000 |
commit | 7b96acc378eceed2f7347d340a9e42675d8d8ab8 (patch) | |
tree | 9d254edefb96b18b508ce581cfac0d52794a01d6 /common/plugins | |
parent | 09789fe56dd933bdca86683f0d696a6d2b912ad8 (diff) | |
download | webtools.dali-7b96acc378eceed2f7347d340a9e42675d8d8ab8.tar.gz webtools.dali-7b96acc378eceed2f7347d340a9e42675d8d8ab8.tar.xz webtools.dali-7b96acc378eceed2f7347d340a9e42675d8d8ab8.zip |
372876 - Dynamic Entities from Tables feature.
Diffstat (limited to 'common/plugins')
-rw-r--r-- | common/plugins/org.eclipse.jpt.common.utility/src/org/eclipse/jpt/common/utility/internal/StringTools.java | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/common/plugins/org.eclipse.jpt.common.utility/src/org/eclipse/jpt/common/utility/internal/StringTools.java b/common/plugins/org.eclipse.jpt.common.utility/src/org/eclipse/jpt/common/utility/internal/StringTools.java index d602c6af41..093e713da9 100644 --- a/common/plugins/org.eclipse.jpt.common.utility/src/org/eclipse/jpt/common/utility/internal/StringTools.java +++ b/common/plugins/org.eclipse.jpt.common.utility/src/org/eclipse/jpt/common/utility/internal/StringTools.java @@ -33,6 +33,9 @@ public final class StringTools { /** double quote */ public static final char QUOTE = '"'; + + /** XML double quote */ + public static final String XML_QUOTE = """; /** parenthesis */ public static final char OPEN_PARENTHESIS = '('; @@ -5026,7 +5029,36 @@ public final class StringTools { writeCharOn(QUOTE, writer); } + // ********** convert to XML string literal ********** + + public static String convertToXmlStringLiteral(String string) { + int len = string.length(); + if (len == 0) { + return EMPTY_JAVA_STRING_LITERAL; + } + StringBuilder sb = new StringBuilder(len + 5); + convertToXmlStringLiteralOn_(string.toCharArray(), sb, len); + return sb.toString(); + } + //TODO need to add the rest of the predifende entities to this switch (amp, apos, lt, and gt) + private static void convertToXmlStringLiteralOn_(char[] string, StringBuilder sb, int len) { + sb.ensureCapacity(sb.length() + len + 5); + sb.append(QUOTE); + for (char c : string) { + switch (c) { + case '"': // double-quote + sb.append(XML_QUOTE); //$NON-NLS-1$ + break; + default: + sb.append(c); + break; + } + } + sb.append(QUOTE); + } + + // ********** convenience ********** public static char[] convertToCharArray(StringBuffer sb) { |