diff --git a/projects/samskivert/src/java/com/samskivert/util/StringUtil.java b/projects/samskivert/src/java/com/samskivert/util/StringUtil.java
index d7eac049..f906ce9d 100644
--- a/projects/samskivert/src/java/com/samskivert/util/StringUtil.java
+++ b/projects/samskivert/src/java/com/samskivert/util/StringUtil.java
@@ -1,5 +1,5 @@
//
-// $Id: StringUtil.java,v 1.56 2003/06/02 23:48:33 mdb Exp $
+// $Id: StringUtil.java,v 1.57 2003/08/19 23:37:56 ray Exp $
//
// samskivert library - useful routines for java programs
// Copyright (C) 2001 Michael Bayne
@@ -51,6 +51,18 @@ public class StringUtil
return (value == null || value.trim().length() == 0);
}
+ /**
+ * Truncate the specified String if it is longer than maxLength.
+ */
+ public static String truncate (String s, int maxLength)
+ {
+ if ((s == null) || (s.length() <= maxLength)) {
+ return s;
+ } else {
+ return s.substring(0, maxLength);
+ }
+ }
+
/**
* Returns a new string based on source with all
* instances of before replaced with after.
@@ -236,13 +248,32 @@ public class StringUtil
*/
public static void toString (StringBuffer buf, Object val,
String openBox, String closeBox)
+ {
+ toString(buf, val, openBox, closeBox, ", ");
+ }
+
+ /**
+ * Converts the supplied value to a string and appends it to the
+ * supplied string buffer. The specified boxing characters are used to
+ * enclose list and array types. For example, if "[" and "]" were
+ * supplied, an int array might be formatted like so: [1, 3,
+ * 5].
+ *
+ * @param buf the string buffer to which we will append the string.
+ * @param val the value from which to generate the string.
+ * @param openBox the opening box character.
+ * @param closeBox the closing box character.
+ * @param sep the separator string.
+ */
+ public static void toString (StringBuffer buf, Object val,
+ String openBox, String closeBox, String sep)
{
if (val instanceof byte[]) {
buf.append(openBox);
byte[] v = (byte[])val;
for (int i = 0; i < v.length; i++) {
if (i > 0) {
- buf.append(", ");
+ buf.append(sep);
}
buf.append(v[i]);
}
@@ -253,7 +284,7 @@ public class StringUtil
short[] v = (short[])val;
for (short i = 0; i < v.length; i++) {
if (i > 0) {
- buf.append(", ");
+ buf.append(sep);
}
buf.append(v[i]);
}
@@ -264,7 +295,7 @@ public class StringUtil
int[] v = (int[])val;
for (int i = 0; i < v.length; i++) {
if (i > 0) {
- buf.append(", ");
+ buf.append(sep);
}
buf.append(v[i]);
}
@@ -275,7 +306,7 @@ public class StringUtil
long[] v = (long[])val;
for (int i = 0; i < v.length; i++) {
if (i > 0) {
- buf.append(", ");
+ buf.append(sep);
}
buf.append(v[i]);
}
@@ -286,7 +317,7 @@ public class StringUtil
float[] v = (float[])val;
for (int i = 0; i < v.length; i++) {
if (i > 0) {
- buf.append(", ");
+ buf.append(sep);
}
buf.append(v[i]);
}
@@ -297,7 +328,7 @@ public class StringUtil
double[] v = (double[])val;
for (int i = 0; i < v.length; i++) {
if (i > 0) {
- buf.append(", ");
+ buf.append(sep);
}
buf.append(v[i]);
}
@@ -308,7 +339,7 @@ public class StringUtil
Object[] v = (Object[])val;
for (int i = 0; i < v.length; i++) {
if (i > 0) {
- buf.append(", ");
+ buf.append(sep);
}
buf.append(toString(v[i]));
}
@@ -319,7 +350,7 @@ public class StringUtil
boolean[] v = (boolean[])val;
for (int i = 0; i < v.length; i++) {
if (i > 0) {
- buf.append(", ");
+ buf.append(sep);
}
buf.append(v[i] ? "t" : "f");
}
@@ -333,7 +364,7 @@ public class StringUtil
Enumeration enum = (Enumeration)val;
for (int i = 0; enum.hasMoreElements(); i++) {
if (i > 0) {
- buf.append(", ");
+ buf.append(sep);
}
buf.append(toString(enum.nextElement()));
}
@@ -344,7 +375,7 @@ public class StringUtil
Iterator iter = (Iterator)val;
for (int i = 0; iter.hasNext(); i++) {
if (i > 0) {
- buf.append(", ");
+ buf.append(sep);
}
buf.append(toString(iter.next()));
}