太调皮了
Lang
/**
* 生成一个不可能的运行时异常
*
* @return 一个不可能的运行时异常
*/
public static RuntimeException impossible() {
return new RuntimeException("r u kidding me?! It is impossible!");
}
public int joinParams(Entity<?> en, Object obj, Object[] params, int off) {
// 默认值可以直接使用
if (def == obj && null != obj) {
params[off++] = def;
}
// 进行更精细的判断...
else {
en = _en(en);
// 是个实体对象,试图直接取值
if (null != obj && null != mf && mf.getEntity() == en && en.getType().isInstance(obj))
params[off++] = mf.getValue(obj);
// 采用默认值
else if (null != def)
params[off++] = def;
// 试图转换传入的对象
else if (null != obj) {
// TODO 这是啥规则?!!! 完全搞不懂!!!
params[off++] = Castors.me().castTo(obj, colType);
}
// 逼急了,老子抛异常了!
else
throw Lang.impossible();
}
return off;
}