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;
}
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;
}