summaryrefslogtreecommitdiff
path: root/java/src/IceInternal/ValueWriter.java
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2006-04-11 19:48:55 +0000
committerMark Spruiell <mes@zeroc.com>2006-04-11 19:48:55 +0000
commitaeafe1122f28456c3fb9e27ec4c5832dc7c7a154 (patch)
treea06c097c1ad05e6c0772ab3eb70cc88fc5a87393 /java/src/IceInternal/ValueWriter.java
parentfixing bug with Java interop (diff)
downloadice-aeafe1122f28456c3fb9e27ec4c5832dc7c7a154.tar.bz2
ice-aeafe1122f28456c3fb9e27ec4c5832dc7c7a154.tar.xz
ice-aeafe1122f28456c3fb9e27ec4c5832dc7c7a154.zip
indent string values
Diffstat (limited to 'java/src/IceInternal/ValueWriter.java')
-rw-r--r--java/src/IceInternal/ValueWriter.java18
1 files changed, 17 insertions, 1 deletions
diff --git a/java/src/IceInternal/ValueWriter.java b/java/src/IceInternal/ValueWriter.java
index 953ca4a174c..c5aba59298e 100644
--- a/java/src/IceInternal/ValueWriter.java
+++ b/java/src/IceInternal/ValueWriter.java
@@ -36,10 +36,26 @@ public final class ValueWriter
}
else if(c.equals(String.class))
{
+ //
+ // Indent the lines of a string value.
+ //
writeName(name, out);
out.print("\"");
- out.print(value.toString());
+ out.useCurrentPosAsIndent();
+ String str = value.toString();
+ int start = 0, pos;
+ while(start < str.length() && (pos = str.indexOf('\n', start)) != -1)
+ {
+ out.print(str.substring(start, pos));
+ out.nl();
+ start = pos + 1;
+ }
+ if(start < str.length())
+ {
+ out.print(str.substring(start));
+ }
out.print("\"");
+ out.restoreIndent();
}
else if(c.isArray())
{