package org.nutz.castor.castor;
import java.lang.reflect.Array;
import org.nutz.castor.Castor;
import org.nutz.castor.FailToCastObjectException;
import org.nutz.json.Json;
import org.nutz.lang.Lang;
import org.nutz.lang.Strings;
public class String2Array extends Castor<String, Object> {
public String2Array() {
this.fromClass = String.class;
this.toClass = Array.class;
}
@Override
public Object cast(String src, Class<?> toType, String... args)
throws FailToCastObjectException {
if (Strings.isQuoteByIgnoreBlank(src, '[', ']')) {
return Json.fromJson(toType, src);
}
String[] ss = Strings.splitIgnoreBlank(src);
return Lang.array2array(ss, toType.getComponentType());
}
}