From 1f2a9adba867949cd51360f51f1096265908ba8a Mon Sep 17 00:00:00 2001 From: Kevin Glynn Date: Wed, 14 Jul 2010 15:13:57 -0500 Subject: [PATCH] Support for StingBuilder.ensurecapacity and corrected translation for setlength --- .../System/Text/StringBuilder.xml | 25 ++++++++++++++++++- .../System/Text/StringBuilderSupport.java | 24 ++++++++++++++++++ 2 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 CS2JLibrary/src/RusticiSoftware/System/Text/StringBuilderSupport.java diff --git a/CS2JLibrary/NetTranslations/System/Text/StringBuilder.xml b/CS2JLibrary/NetTranslations/System/Text/StringBuilder.xml index 37749a6..e9f0077 100755 --- a/CS2JLibrary/NetTranslations/System/Text/StringBuilder.xml +++ b/CS2JLibrary/NetTranslations/System/Text/StringBuilder.xml @@ -24,7 +24,16 @@ Length System.Int32 ${this}.length() - ${this}.setlength(${value}) + StringBuilderSupport.setLength(${this}, ${value}) + + RusticiSoftware.System.Text.StringBuilderSupport + + + + Capacity + System.Int32 + ${this}.capacity() + ${this}.ensureCapacity(${value}) @@ -50,6 +59,20 @@ ${this}.append((${arg}) + System.getProperty("line.separator")) + + System.Int32 + EnsureCapacity + + + arg + System.Int32 + + + + RusticiSoftware.System.Text.StringBuilderSupport + + StringBuilderSupport.ensureCapacity(${this}, ${arg}) + System.Text.StringBuilder Insert diff --git a/CS2JLibrary/src/RusticiSoftware/System/Text/StringBuilderSupport.java b/CS2JLibrary/src/RusticiSoftware/System/Text/StringBuilderSupport.java new file mode 100644 index 0000000..bee6ae6 --- /dev/null +++ b/CS2JLibrary/src/RusticiSoftware/System/Text/StringBuilderSupport.java @@ -0,0 +1,24 @@ +package RusticiSoftware.System.Text; + +public class StringBuilderSupport { + + // In C# ensureCapacity returns the new capacity + public static int ensureCapacity(StringBuilder sb, int capacity) { + sb.ensureCapacity(capacity); + return sb.capacity(); + } + // In C# setLength pads with spaces + public static void setLength(StringBuilder sb, int newLen) { + if (sb.length() >= newLen) { + sb.setLength(newLen); + } + sb.append(String.format("%1$-" + (newLen - sb.length()) + "s", "")); + } + + public static void main(String[] args) { + StringBuilder sb = new StringBuilder("hello"); + System.out.println("**" + sb + "**"); + StringBuilderSupport.setLength(sb,7); + System.out.println("**" + sb + "**"); + } +}