001/*
002 * The contents of this file are subject to the license and copyright
003 * detailed in the LICENSE and NOTICE files at the root of the source
004 * tree.
005 */
006package org.fcrepo.stats.api;
007
008/**
009 * An interface that provides access to repository stats.
010 * @author dbernstein
011 */
012public interface RepositoryStats {
013    /**
014     * Retrieve binaries stats broken out by mime type
015     *
016     * @param statsParams params that inform the results
017     * @return A stats results object
018     */
019    RepositoryStatsByMimeTypeResults getByMimeTypes(final RepositoryStatsParameters statsParams);
020
021    /**
022     * Retrieve resource stats broken out by RDF type
023     * @param statsParams params that inform the results
024     * @return A stats results object
025     */
026    RepositoryStatsByRdfTypeResults getByRdfType(final RepositoryStatsParameters statsParams);
027
028    /**
029     * Retrieve a count of all resources in the repository
030     * @param statsParams params that inform the results
031     * @return A stats results object
032     */
033     RepositoryStatsResult getResourceCount(final RepositoryStatsParameters statsParams);
034}