35 lines
1009 B
Java
35 lines
1009 B
Java
/**
|
|
*
|
|
*/
|
|
package org.gcube.accounting.datamodel;
|
|
|
|
import java.util.Calendar;
|
|
|
|
import org.gcube.accounting.datamodel.decorators.AggregatedField;
|
|
import org.gcube.accounting.datamodel.validations.annotations.ValidInteger;
|
|
import org.gcube.accounting.exception.InvalidValueException;
|
|
|
|
/**
|
|
* @author Luca Frosini (ISTI - CNR) http://www.lucafrosini.com/
|
|
*/
|
|
public interface AggregatedUsageRecord<T extends AggregatedUsageRecord<T, B>, B extends SingleUsageRecord> extends UsageRecord {
|
|
|
|
@AggregatedField @ValidInteger
|
|
public static final String OPERATION_COUNT = "operationCount";
|
|
|
|
public T getAggregatedUsageRecord(B usageRecord) throws InvalidValueException ;
|
|
|
|
public int getOperationCount();
|
|
|
|
public void setOperationCount(int operationCount) throws InvalidValueException;
|
|
|
|
public Calendar getStartTime();
|
|
|
|
public void setStartTime(Calendar startTime) throws InvalidValueException;
|
|
|
|
public Calendar getEndTime();
|
|
|
|
public void setEndTime(Calendar endTime) throws InvalidValueException;
|
|
|
|
}
|