首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

告警规约 Rule

2012-08-31 
告警规则 Ruleimport java.util.Listpublic class Rule implements RuleCompare{private String sign n

告警规则 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;
    }
   

热点排行