/**
* Copyright 2007-2010 非也
* All rights reserved.
*
* This library is free software; you can redistribute it and/or modify it under the
* terms of the GNU Lesser General Public License v3 as published by the Free Software
* Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License along
* with this library; if not, see http://www.gnu.org/licenses/lgpl.html.
*
*/
package org.fireflow.client.query;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.bind.annotation.XmlType;
import org.firesoa.common.util.JavaDataTypeConvertor;
/**
*
* @author 非也 nychen2000@163.com
* Fire Workflow 官方网站:www.firesoa.com 或者 www.fireflow.org
*
*/
@XmlType(name="absCriterion")
@XmlAccessorType(XmlAccessType.FIELD)
@XmlSeeAlso({BetweenExpression.class,InExpression.class,
LogicalExpression.class,NotNullExpression.class,NullExpression.class,
SimpleExpression.class})
public abstract class AbsCriterion implements Criterion {
public String valueToSQLString(Object value){
if (JavaDataTypeConvertor.isDouble(value.getClass().getName())
|| JavaDataTypeConvertor.isFloat(value.getClass().getName())
|| JavaDataTypeConvertor.isShort(value.getClass().getName())
|| JavaDataTypeConvertor.isLong(value.getClass().getName())
|| JavaDataTypeConvertor.isInt(value.getClass().getName())){
return value.toString();
}
else if (JavaDataTypeConvertor.isDate(value.getClass().getName())){//日期函数只能暂时这么处理
return "'"+value.toString()+"'";
}
else if (JavaDataTypeConvertor.isString(value.getClass().getName())
|| JavaDataTypeConvertor.isChar(value.getClass().getName())
|| JavaDataTypeConvertor.isBoolean(value.getClass().getName())){//boolean当字符串处理
return "'"+value.toString()+"'";
}
return "'"+value.toString()+"'";
}
}