package org.arquillian.cube.impl.util; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Iterator; import java.util.List; public final class Strings { private Strings() { throw new UnsupportedOperationException("Utility Class"); } public static boolean isNullOrEmpty(String s) { return s == null || s.isEmpty(); } public static boolean isNotNullOrEmpty(String s) { return !isNullOrEmpty(s); } /** * joins a collection of objects together as a String using a separator */ public static String join(final Collection<?> collection, final String separator) { StringBuffer buffer = new StringBuffer(); boolean first = true; Iterator<?> iter = collection.iterator(); while (iter.hasNext()) { Object next = iter.next(); if (first) { first = false; } else { buffer.append(separator); } buffer.append(next); } return buffer.toString(); } /** * splits a string into a list of strings, ignoring the empty string */ public static List<String> splitAsList(String text, String delimiter) { List<String> answer = new ArrayList<String>(); if (text != null && text.length() > 0) { answer.addAll(Arrays.asList(text.split(delimiter))); } return answer; } /** * splits a string into a list of strings. Trims the results and ignores empty strings */ public static List<String> splitAndTrimAsList(String text, String sep) { ArrayList<String> answer = new ArrayList<String>(); if (text != null && text.length() > 0) { for (String v : text.split(sep)) { String trim = v.trim(); if (trim.length() > 0) { answer.add(trim); } } } return answer; } }