/**
* Licensed to The Apereo Foundation under one or more contributor license
* agreements. See the NOTICE file distributed with this work for additional
* information regarding copyright ownership.
*
*
* The Apereo Foundation licenses this file to you under the Educational
* Community License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of the License
* at:
*
* http://opensource.org/licenses/ecl2.txt
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*
*/
package org.opencastproject.usertracking.api;
import java.util.Calendar;
/**
* A class that represents a report
*
*/
public interface Report {
/**
* Sets the the date the data of the report starts from
*
* @param from
*/
void setFrom(Calendar from);
/**
* Sets the date the data of the report is referring to
*
* @param to
*/
void setTo(Calendar to);
/**
* Sets the sum of views of all report items
*
* @param views
*/
void setViews(int views);
/**
* Sets the sum of the number of played seconds of all report items
*
* @param played
*/
void setPlayed(long played);
/**
* Sets the total of report items
*
* @param total
*/
void setTotal(int total);
/**
* Sets the maximum number of report items of the report (used for paging)
*
* @param limit
*/
void setLimit(int limit);
/**
* Sets the number of the report item to start with in the list of all report items (used for paging)
*
* @param offset
*/
void setOffset(int offset);
/**
* Add an report item to the report
*
* @param reportItem
*/
void add(ReportItem reportItem);
/**
* Gets the date the data of the report starts from
*
* @return
*/
Calendar getFrom();
/**
* Gets the date the data of the report is referring to
*
* @return
*/
Calendar getTo();
/**
* Gets the sum of views of all report items
*
* @return
*/
int getViews();
/**
* Gets the sum of the number of played seconds of all report items
*
* @return
*/
long getPlayed();
/**
* Gets the total of report items
*
* @return
*/
int getTotal();
/**
* Gets the maximum number of report items of the report (used for paging)
*
* @return
*/
int getLimit();
/**
* Gets the number of the report item to start with in the list of all report items (used for paging)
*
* @return
*/
int getOffset();
}