Added StringUtil.joinEscaped() and a unit test for said.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@549 6335cc39-0255-0410-8fd6-9bcaacd3b74c
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
//
|
||||
// $Id: StringUtil.java,v 1.18 2002/01/22 15:46:56 shaper Exp $
|
||||
// $Id: StringUtil.java,v 1.19 2002/01/30 18:11:27 mdb Exp $
|
||||
//
|
||||
// samskivert library - useful routines for java programs
|
||||
// Copyright (C) 2001 Michael Bayne
|
||||
@@ -351,6 +351,25 @@ public class StringUtil
|
||||
return vals;
|
||||
}
|
||||
|
||||
/**
|
||||
* Joins an array of strings into a single string, separated by
|
||||
* commas, and escaping commas that occur in the individual string
|
||||
* values such that a subsequent call to {@link #parseStringArray}
|
||||
* would recreated the string array properly.
|
||||
*/
|
||||
public static String joinEscaped (String[] values)
|
||||
{
|
||||
StringBuffer buf = new StringBuffer();
|
||||
int vlength = values.length;
|
||||
for (int i = 0; i < vlength; i++) {
|
||||
if (i > 0) {
|
||||
buf.append(", ");
|
||||
}
|
||||
buf.append(replace(values[i], ",", ",,"));
|
||||
}
|
||||
return buf.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* Splits the supplied string into components based on the specified
|
||||
* separator character.
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
//
|
||||
// $Id: StringUtilTest.java,v 1.1 2002/01/30 18:11:27 mdb Exp $
|
||||
//
|
||||
// samskivert library - useful routines for java programs
|
||||
// Copyright (C) 2001 Michael Bayne
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it
|
||||
// under the terms of the GNU Lesser General Public License as published
|
||||
// by the Free Software Foundation; either version 2.1 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
package com.samskivert.util;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import com.samskivert.Log;
|
||||
|
||||
public class StringUtilTest extends TestCase
|
||||
{
|
||||
public StringUtilTest ()
|
||||
{
|
||||
super(StringUtilTest.class.getName());
|
||||
}
|
||||
|
||||
public void runTest ()
|
||||
{
|
||||
String source = "mary, had, a,, little, lamb, and, a, comma,,";
|
||||
|
||||
// split the source string into tokens
|
||||
String[] tokens = StringUtil.parseStringArray(source);
|
||||
assert("tokens.length == 7", tokens.length == 7);
|
||||
|
||||
// now join them back together
|
||||
String joined = StringUtil.joinEscaped(tokens);
|
||||
assert("joined.equals(source)", joined.equals(source));
|
||||
}
|
||||
|
||||
public static Test suite ()
|
||||
{
|
||||
return new StringUtilTest();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user