summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
Diffstat (limited to 'java/src')
-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())
{