package com.norteksoft.wf.engine.core; import com.norteksoft.mms.form.enumeration.DataType; import com.norteksoft.wf.engine.core.impl.AmountCalculator; import com.norteksoft.wf.engine.core.impl.DateCalculator; import com.norteksoft.wf.engine.core.impl.NumberCalculator; import com.norteksoft.wf.engine.core.impl.TextCalculator; import com.norteksoft.wf.engine.core.impl.TimeCalculator; /** * 运算器的生成工厂 */ public class CalculatorFactory { /* * TEXT("文本"), DATE("日期"), TIME("时间"), INTEGER("整型"), LONG("长整型"), DOUBLE("双精度浮点数"), FLOAT("单精度浮点数"), BOOLEAN("布尔型"), CLOB("大文本"), BLOB("大字段") */ public static Computable getCalculator(DataType type){ Computable computable = null; if(type==DataType.AMOUNT||type==DataType.DOUBLE||type==DataType.FLOAT){ computable = new AmountCalculator(); }else if(type==DataType.NUMBER||type==DataType.LONG||type==DataType.INTEGER){ computable = new NumberCalculator(); }else if(type==DataType.DATE){ computable = new DateCalculator(); }else if(type==DataType.TEXT||type==DataType.BOOLEAN||type==DataType.ENUM){ computable = new TextCalculator(); }else if(type==DataType.TIME){ computable = new TimeCalculator(); } return computable; } }