|
HSQLDB example source code file (StringUtil.java)
The HSQLDB StringUtil.java source code
/* Copyright (c) 2001-2008, The HSQL Development Group
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* Neither the name of the HSQL Development Group nor the names of its
* contributors may be used to endorse or promote products derived from this
* software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL HSQL DEVELOPMENT GROUP, HSQLDB.ORG,
* OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.hsqldb.lib;
import java.lang.reflect.Array;
/** Provides a collection of convenience methods for processing and
* creating objects with <code>String value components.
*
* @author Campbell Boucher-Burnett (boucherb@users dot sourceforge.net)
* @author Fred Toussi (fredt@users dot sourceforge.net)
* @author Nitin Chauhan
* @version 1.8.1
* @since 1.7.0
*/
public class StringUtil {
public static String toPaddedString(String source, int length, char pad,
boolean trailing) {
int len = source.length();
if (len >= length) {
return source;
}
StringBuffer sb = new StringBuffer(length);
if (trailing) {
sb.append(source);
}
for (int i = len; i < length; i++) {
sb.append(pad);
}
if (!trailing) {
sb.append(source);
}
return sb.toString();
}
/**
* Returns a string with non alphanumeric chars converted to the
* substitute character. A digit first character is also converted.
* By sqlbob@users
* @param source string to convert
* @param substitute character to use
* @return converted string
*/
public static String toLowerSubset(String source, char substitute) {
int len = source.length();
StringBuffer sb = new StringBuffer(len);
char ch;
for (int i = 0; i < len; i++) {
ch = source.charAt(i);
if (!Character.isLetterOrDigit(ch)) {
sb.append(substitute);
} else if ((i == 0) && Character.isDigit(ch)) {
sb.append(substitute);
} else {
sb.append(Character.toLowerCase(ch));
}
}
return sb.toString();
}
/**
* Builds a bracketed CSV list from the array
* @param array an array of Objects
* @return string
*/
public static String arrayToString(Object array) {
int len = Array.getLength(array);
int last = len - 1;
StringBuffer sb = new StringBuffer(2 * (len + 1));
sb.append('{');
for (int i = 0; i < len; i++) {
sb.append(Array.get(array, i));
if (i != last) {
sb.append(',');
}
}
sb.append('}');
return sb.toString();
}
/**
* Builds a CSV list from the specified String[], separator string and
* quote string. <p>
*
* <ul>
* <li>All arguments are assumed to be non-null.
* <li>Separates each list element with the value of the
* <code>separator argument.
* <li>Prepends and appends each element with the value of the
* <code>quote argument.
* <li> No attempt is made to escape the quote character sequence if it is
* found internal to a list element.
* <ul>
* @return a CSV list
* @param separator the <code>String to use as the list element separator
* @param quote the <code>String with which to quote the list elements
* @param s array of <code>String objects
*/
public static String getList(String[] s, String separator, String quote) {
int len = s.length;
StringBuffer sb = new StringBuffer(len * 16);
for (int i = 0; i < len; i++) {
sb.append(quote);
sb.append(s[i]);
sb.append(quote);
if (i + 1 < len) {
sb.append(separator);
}
}
return sb.toString();
}
public static String getList(Object[] s, String separator, String quote) {
int len = s.length;
StringBuffer b = new StringBuffer(len * 16);
for (int i = 0; i < len; i++) {
b.append(quote);
b.append(s[i]);
b.append(quote);
if (i + 1 < len) {
b.append(separator);
}
}
return b.toString();
}
/**
* Builds a CSV list from the specified int[], <code>separator
* <code>String and
Other HSQLDB examples (source code examples)Here is a short list of links related to this HSQLDB StringUtil.java source code file: |
| ... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.