public void init()

in mailet/standard/src/main/java/org/apache/james/transport/matchers/CompareNumericHeaderValue.java [68:118]


    public void init() throws MessagingException {
        StringTokenizer st = new StringTokenizer(getCondition(), " \t", false);
        if (st.hasMoreTokens()) {
            headerName = st.nextToken().trim();
        } else {
            throw new MessagingException("Missing headerName");
        }
        if (st.hasMoreTokens()) {
            String comparisonOperatorString = st.nextToken().trim();
            switch (comparisonOperatorString) {
                case "<":
                case "LT":
                    comparisonOperator = LT;
                    break;
                case "<=":
                case "=<":
                case "LE":
                    comparisonOperator = LE;
                    break;
                case "==":
                case "=":
                case "EQ":
                    comparisonOperator = EQ;
                    break;
                case ">=":
                case "=>":
                case "GE":
                    comparisonOperator = GE;
                    break;
                case ">":
                case "GT":
                    comparisonOperator = GT;
                    break;
                default:
                    throw new MessagingException("Bad comparisonOperator: \"" + comparisonOperatorString + "\"");
            }
        } else {
            throw new MessagingException("Missing comparisonOperator");
        }
        if (st.hasMoreTokens()) {
            String headerValueString = st.nextToken().trim();
            try {
                headerValue = Double.valueOf(headerValueString);
            } catch (NumberFormatException nfe) {
                throw new MessagingException("Bad header comparison value: \""
                                             + headerValueString + "\"", nfe);
            }
        } else {
            throw new MessagingException("Missing headerValue threshold");
        }
    }