熟悉,精通java的来
踩踩一哥 2013-09-04 02:49:57 这是调用的类:
private static class ExpressionGet implements Get
{
private FactExpression expression;
public ExpressionGet(FactExpression expression)
{
this.expression = expression;
}
@Override
public Object getValue(FLOW_LOG flowLog)
{
MethodGet getVal = new MethodGet(flowLog);
Object obj = expression.eval(getVal);
return obj;
}
@Override
public int getIntValue(FLOW_LOG flowLog)
{
Object val = getValue(flowLog);
if (val == null)
{
return 0;
}
if (val instanceof Number)
{
return ((Number)val).intValue();
}
else
{
return Integer.parseInt(val.toString());
}
}
@Override
public long getLongValue(FLOW_LOG flowLog)
{
Object val = getValue(flowLog);
if (val == null)
{
return 0;
}
if (val instanceof Number)
{
return ((Number)val).longValue();
}
else
{
return Long.parseLong(val.toString());
}
}
@Override
public double getDoubleValue(FLOW_LOG flowLog)
{
Object val = getValue(flowLog);
if (val == null)
{
return 0;
}
if (val instanceof Number)
{
return ((Number)val).doubleValue();
}
else
{
return Double.parseDouble(val.toString());
}
}
@Override
public String getTextValue(FLOW_LOG flowLog)
{
Object val = getValue(flowLog);
if (val == null)
{
return null;
}
else
{
return val.toString();
}
}
}
这是继承的父类:
public static interface Get
{
public Object getValue(FLOW_LOG flowLog);
public int getIntValue(FLOW_LOG flowLog);
public long getLongValue(FLOW_LOG flowLog);
public double getDoubleValue(FLOW_LOG flowLog);
public String getTextValue(FLOW_LOG flowLog);
}
主函数里面:
FactExpressionBuilder b = new FactExpressionBuilder(entityId,eventId, e.getValue(), extImports);
FactExpression exp = b.getFactExp();
ExpressionGet get = new ExpressionGet(exp);
请问ExpressionGet get = new ExpressionGet(exp);这段代码执行是什么个情况?请详细说明用到的技术及运行原理