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;
}
}