diff options
Diffstat (limited to 'org.mihalis.opal/src/main/java/org/mihalis/opal/utils/StringUtil.java')
-rw-r--r-- | org.mihalis.opal/src/main/java/org/mihalis/opal/utils/StringUtil.java | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/org.mihalis.opal/src/main/java/org/mihalis/opal/utils/StringUtil.java b/org.mihalis.opal/src/main/java/org/mihalis/opal/utils/StringUtil.java new file mode 100644 index 0000000..88ebdad --- /dev/null +++ b/org.mihalis.opal/src/main/java/org/mihalis/opal/utils/StringUtil.java @@ -0,0 +1,85 @@ +/******************************************************************************* + * Copyright (c) 2011 Laurent CARON + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Laurent CARON (laurent.caron at gmail dot com) - Initial implementation and API + *******************************************************************************/ +package org.mihalis.opal.utils; + +import java.io.PrintWriter; +import java.io.StringWriter; + +/** + * This class provides useful String manipulation methods. + */ +public class StringUtil { + + /** + * Returns a "safe" string representation. If source is null, return an + * empty string + * + * @param source source string + * @return the string representation of the source (without space) if the + * source is not <code>null</code>, or an empty string otherwise + */ + public static String safeToString(final Object source) { + return source == null ? "" : source.toString().trim(); + } + + /** + * Check if a string is empty or null. + * + * @param source source string + * @return <code>true</code> is the string is empty or null, + * <code>false</code> otherwise + */ + public static boolean isEmpty(final String source) { + return source == null || source.trim().isEmpty(); + } + + /** + * Converts exception stack trace as string. + * + * @param exception exception to convert + * @return a string that contains the exception + */ + public static final String stackStraceAsString(final Throwable exception) { + final StringWriter stringWriter = new StringWriter(); + exception.printStackTrace(new PrintWriter(stringWriter)); // NOSONAR + return stringWriter.toString(); + } + + /** + * Insert a string in a middle of another string. + * + * @param source source string + * @param newEntry string to insert into source + * @param position position to insert source + * @return the new string + */ + public static String insertString(final String source, final String newEntry, final int position) { + final StringBuilder sb = new StringBuilder(); + sb.append(source.substring(0, position)).append(newEntry).append(source.substring(position)); + return sb.toString(); + } + + /** + * Remove a character in a String. + * + * @param source source string + * @param position position of the character to remove + * @return the string without the character + */ + public static String removeCharAt(final String source, final int position) { + final StringBuilder sb = new StringBuilder(); + if (position == source.length()) { + return source; + } + sb.append(source.substring(0, position)).append(source.substring(position + 1)); + return sb.toString(); + } +} |