读书人

告警规约 Rule

发布时间: 2012-08-31 12:55:03 作者: rapoo

告警规则 Rule
import java.util.List;


public class Rule implements RuleCompare
{
private String sign = null;

private String key = null;

private String standValue = null;

private List<String> valueList = null;

public String getSign()
{
return sign;
}

public void setSign(String sign)
{
this.sign = sign;
}

public String getKey()
{
return key;
}

public void setKey(String key)
{
this.key = key;
}

public String getStandValue()
{
return standValue;
}

public void setStandValue(String standValue)
{
this.standValue = standValue;
}

public List<String> getValueList()
{
return valueList;
}

public void setValueList(List<String> valueList)
{
this.valueList = valueList;
}

public String toString()
{
StringBuffer strBuffer = new StringBuffer(20);
strBuffer.append("Rule atribute key : ").append(this.key)
.append(", sign : ").append(this.sign)
.append(", standValue : ").append(this.standValue);
return strBuffer.toString();
}

public boolean compare(String realValue)
{
boolean flag = false;

// 需要比较的数据为空时直接返回false
if (realValue == null)
{
return false;
}

if ("=".equals(sign))
{
flag = realValue.equals(standValue);

}
else if ("!=".equals(sign))
{
flag = !realValue.equals(standValue);
}
else if (">".equals(sign))
{
flag = (Long.parseLong(realValue) > Long.parseLong(standValue));
}
else if ("<".equals(sign))
{
flag = (Long.parseLong(realValue) < Long.parseLong(standValue));
}
else if (sign.equals(RuleTools.INCLUDE))
{

if (valueList != null && valueList.contains(realValue))
{
flag = true;
}

}
else if (sign.equals(RuleTools.NOTINCLUDE))
{

if (valueList != null && valueList.contains(realValue))
{
flag = true;
}

// 找到数据,实际不需要发告警的.否则就发告警
if (flag)
{
flag = false;
}
else
{
flag = true;
}
}

return flag;
}

读书人网 >编程

热点推荐