// Copyright (c) 2011, Chute Corporation. 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 Chute Corporation 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 THE COPYRIGHT HOLDER 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 com.chute.sdk.v2.utils; import java.io.UnsupportedEncodingException; import static java.net.URLDecoder.decode; import static java.net.URLEncoder.encode; public class TextUtil { @SuppressWarnings("unused") private static final String TAG = TextUtil.class.getSimpleName(); public static final String ENCODING_CHARSET = "UTF-8"; private TextUtil() { } public static String truncate(String value, int length) { if (value != null && value.length() > length) { value = value.substring(0, length); value += "..."; } return value; } public static String urlEncode(String string) { if (string == null) return null; try { return encode(string, ENCODING_CHARSET); } catch (UnsupportedEncodingException e) { throw new IllegalStateException("Platform doesn't support " + ENCODING_CHARSET, e); } } public static String urlDecode(String string) { if (string == null) return null; try { return decode(string, ENCODING_CHARSET); } catch (UnsupportedEncodingException e) { throw new IllegalStateException("Platform doesn't support " + ENCODING_CHARSET, e); } } /** * Is {@code string} blank (null or only whitespace)? * * @param string * The string to check. * @return {@code true} if {@code string} is blank, {@code false} otherwise. */ public static boolean isBlank(String string) { return string == null || "".equals(string.trim()); } /** * Returns a trimmed version of {@code string}, or an empty string if * {@code string} is {@code null} or the trimmed version is a blank string. * * @param string * The string to trim. * @return A trimmed version of {@code string}, or an empty string if * {@code string} is {@code null} or the trimmed version is a blank * string. */ public static String trimToEmpty(String string) { if (isBlank(string)) return ""; return string.trim(); } }