class RoleAuditFilter implements AuditFilter {

    @Override
    public boolean isWhitelisted(AuditEntry logEntry)
    {
        RoleAuditFilterCacheKey cacheKey = new RoleAuditFilterCacheKey(logEntry.getUser(), logEntry.getResource(), logEntry.getPermissions());
        try
        {
            return filterCache.isWhitelisted(cacheKey);
        }
        catch (UncheckedExecutionException e)
        {
            throw Exceptions.tryGetCassandraExceptionCause(e);
        }
    }

    public  RoleAuditFilter();
    @VisibleForTesting  RoleAuditFilter(Function<RoleResource, Set<RoleResource>> getRolesFunction, WhitelistDataAccess whitelistDataAccess, AuditFilterAuthorizer auditFilterAuthorizer);

}