package org.testng.internal.annotations; import org.testng.collections.Lists; import org.testng.internal.ClassHelper; import org.testng.internal.Utils; import java.util.List; import java.util.StringTokenizer; /** * Convert a string values into primitive types. * * Created on Dec 20, 2005 * @author cbeust */ public class Converter { public static boolean getBoolean(String tagValue, boolean def) { boolean result = def; if (tagValue != null) result = Boolean.valueOf(tagValue).booleanValue(); return result; } public static int getInt(String tagValue, int def) { int result = def; if (tagValue != null) result = new Integer(tagValue).intValue(); return result; } public static String getString(String tagValue, String def) { String result = def; if (tagValue != null) result = tagValue; return result; } public static long getLong(String tagValue, long def) { long result = def; if (tagValue != null) result = new Long(tagValue).longValue(); return result; } public static String[] getStringArray(String tagValue, String[] def) { String[] result = def; if (tagValue != null) { result = Utils.stringToArray(tagValue); } return result; } public static Class[] getClassArray(String tagValue, Class[] def) { Class[] result = def; List vResult = Lists.newArrayList(); if (tagValue != null) { StringTokenizer st = new StringTokenizer(tagValue, " ,"); while (st.hasMoreElements()) { String className = (String) st.nextElement(); try { Class cls = Class.forName(className); vResult.add(cls); } catch (ClassNotFoundException e) { e.printStackTrace(); } } result = (Class[]) vResult.toArray(new Class[vResult.size()]); } return result; } public static Class getClass(String namedParameter) { Class result = null; if (namedParameter != null) { result = ClassHelper.forName(namedParameter); } return result; } }