package pl.net.bluesoft.rnd.pt.utils.lang;
import java.lang.reflect.Array;
import java.util.Collection;
/**
* User: POlszewski
* Date: 2012-10-05
* Time: 10:29
*/
public class Lang2 {
public static byte[] noCopy(byte[] t) {
return t;
}
public static <T> T[] noCopy(T[] t) {
return t;
}
public static String[] toStringArray(Collection<String> collection) {
if (collection != null) {
return collection.toArray(new String[collection.size()]);
}
return null;
}
public static <T> T[] toObjectArray(Collection<T> collection, Class<T> clazz) {
if (collection != null) {
return collection.toArray((T[])Array.newInstance(clazz, collection.size()));
}
return null;
}
public static <T> T assumeType(Object obj, Class<T> clazz) {
if (obj == null) {
return null;
}
if (clazz.isAssignableFrom(obj.getClass())) {
return (T)obj;
}
throw new ClassCastException("Unable to cast " + obj.getClass() + " to " + clazz);
}
}