class ResponseContentLengthDecideRule extends PredicatedDecideRule {

    private static final long serialVersionUID = 1L;

    {
        setLowerBound(0l);
    }
    public long getLowerBound() {
        return (Long) kp.get("lowerBound");
    }
    /**
     * The rule will apply if the url has been fetched and content body length
     * is greater than or equal to this number of bytes. Default is 0, meaning
     * everything will match.
     */
    public void setLowerBound(long size) {
        kp.put("lowerBound", size);
    }

    {
        setUpperBound(Long.MAX_VALUE);
    }
    public long getUpperBound() {
        return (Long) kp.get("upperBound");
    }
    
    /**
     * The rule will apply if the url has been fetched and content body length
     * is less than or equal to this number of bytes. Default is
     * {@code Long.MAX_VALUE}, meaning everything will match.
     */
    public void setUpperBound(long bound) {
        kp.put("upperBound", bound);
    }

    @Override
    protected boolean evaluate(CrawlURI uri) {<FILL_FUNCTION_BODY>}

}

        // only process if curi contains evidence of fetch attempt
        return uri.containsDataKey(A_FETCH_BEGAN_TIME)
                && uri.getRecorder() != null 
                && uri.getRecorder().getResponseContentLength() >= getLowerBound()
                && uri.getRecorder().getResponseContentLength() <= getUpperBound();
    
<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