class MatchesStatusCodeDecideRule extends PredicatedDecideRule {

    /** Default lower bound */
    public final static Integer DEFAULT_LOWER_BOUND = new Integer(0);

    /** Default upper bound */
    public final static Integer DEFAULT_UPPER_BOUND = new Integer(600);

    /**
     * Creates a new MatchStatusCodeDecideRule instance. Note that
     * this will return a rule that will return "true" for all valid
     * status codes (and some invalid ones, too).
     */
    public MatchesStatusCodeDecideRule() {

        // set our default bounds
        kp.put("lowerBound", DEFAULT_LOWER_BOUND);
        kp.put("upperBound", DEFAULT_UPPER_BOUND);
    }

    /**
     * Sets the lower bound on the range of acceptable status codes.
     *
     * @param statusCode Status code
     */
    public void setLowerBound(Integer statusCode) {

        kp.put("lowerBound", statusCode);
    }

    /**
     * Returns the lower bound on the range of acceptable status codes.
     *
     * @return Integer Status code
     */
    public Integer getLowerBound() {<FILL_FUNCTION_BODY>}

    /**
     * Sets the upper bound on the range of acceptable status codes.
     *
     * @param statusCode Status code
     */
    public void setUpperBound(Integer statusCode) {

        kp.put("upperBound", statusCode);
    }

    /**
     * Returns the upper bound on the range of acceptable status codes.
     *
     * @return Integer Status code
     */
    public Integer getUpperBound() {

        Object value = kp.get("upperBound");

        if(value != null) {

            return((Integer) value);
        }

        return(null);
    }

    /**
     * Returns "true" if the provided CrawlURI has a fetch status that falls
     * within this instance's specified range.
     * 
     * @param uri
     *            The URI to be evaluated
     * @return true If the CrawlURI has a fetch status code within the specified
     *         range.
     */
    @Override
    protected boolean evaluate(CrawlURI uri) {

        // by default, we'll return false
        boolean value = false;

        int statusCode = uri.getFetchStatus();

        if (statusCode >= getLowerBound().intValue()
                && statusCode <= getUpperBound().intValue()) {

            value = true;
        }

        return (value);
    }
}


        Object value = kp.get("lowerBound");

        if(value != null) {

            return((Integer) value);
        }

        return(null);
    
<methods>public void <init>() ,public org.archive.modules.deciderules.DecideResult getDecision() ,public org.archive.modules.deciderules.DecideResult onlyDecision(org.archive.modules.CrawlURI) ,public void setDecision(org.archive.modules.deciderules.DecideResult) <variables>private static final long serialVersionUID