package org.merka.stubgen;
import java.lang.reflect.Constructor;
import org.merka.stubgen.exception.MockGenException;
public class NumberInstantiator implements IInstantiator
{
@SuppressWarnings(value = { "unchecked" })
public <T> T newInstance(Class<?> T) throws MockGenException
{
try
{
// if (!T.isAssignableFrom(Number.class))
// {
// throw new InvalidParameterException("Parameter must be of type " + Number.class.getName() + " or one of its subclasses");
// }
T castedInstance = null;
Constructor<?> constructor = T.getConstructor(String.class);
castedInstance = (T) constructor.newInstance(pickRandomFromDomain());
return castedInstance;
}
catch (Throwable t)
{
throw new MockGenException(t);
}
}
protected String pickRandomFromDomain()
{
return "0";
}
}