001 /*
002 * Copyright (c) 2011, Cloudera, Inc. All Rights Reserved.
003 *
004 * Cloudera, Inc. licenses this file to you under the Apache License,
005 * Version 2.0 (the "License"). You may not use this file except in
006 * compliance with the License. You may obtain a copy of the License at
007 *
008 * http://www.apache.org/licenses/LICENSE-2.0
009 *
010 * This software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
011 * CONDITIONS OF ANY KIND, either express or implied. See the License for
012 * the specific language governing permissions and limitations under the
013 * License.
014 */
015 package com.cloudera.lib.lang;
016
017 import java.util.Collection;
018
019 /**
020 * String related utilities.
021 */
022 public abstract class StringUtils {
023
024 /**
025 * Flattens a collection elements to a string calling
026 * <code>toString()</code> on each element.
027 *
028 * @param collection collection elements to flatten.
029 * @param separator separator to use between elements.
030 * @return the flattened string representation of the collection.
031 */
032 public static String toString(Collection<?> collection, String separator) {
033 String toString = "L[null]";
034 if (collection != null) {
035 StringBuilder sb = new StringBuilder(collection.size() * 20);
036 String sep = "";
037 for (Object obj : collection) {
038 sb.append(sep).append(obj);
039 sep = separator;
040 }
041 toString = sb.toString();
042 }
043 return toString;
044 }
045
046 }