class PrecedenceProvider implements Reporter, 
FetchStats.CollectsFetchStats, Serializable {

    private static final long serialVersionUID = 1L;

    abstract public int getPrecedence();

    /* (non-Javadoc)
     * @see org.archive.modules.fetcher.FetchStats.CollectsFetchStats#tally(org.archive.modules.CrawlURI, org.archive.modules.fetcher.FetchStats.Stage)
     */
    public void tally(CrawlURI curi, Stage stage) {
        // by default do nothing; subclasses do more
    }

    /* (non-Javadoc)
     * @see org.archive.util.Reporter#reportTo(java.io.PrintWriter)
     */
    @Override
    public void reportTo(PrintWriter writer) {
        writer.println(shortReportLegend());
        shortReportLineTo(writer);
    }

    @Override
    public String shortReportLegend() {
        return getClass().getSimpleName();
    }

    public String shortReportLine() {
        return ReportUtils.shortReportLine(this);
    }

    @Override
    public Map<String, Object> shortReportMap() {<FILL_FUNCTION_BODY>}

    @Override
    public void shortReportLineTo(PrintWriter writer) {
        writer.print(getPrecedence());
    }
}

        Map<String,Object> data = new LinkedHashMap<String, Object>();
        data.put("precedence", getPrecedence());
        return data;
    
<no_super_class>