accounting-lib/src/main/java/org/gcube/accounting/datamodel/AggregatedUsageRecord.java

24 lines
660 B
Java

/**
*
*/
package org.gcube.accounting.datamodel;
import org.gcube.accounting.exception.InvalidValueException;
import org.gcube.accounting.exception.NotAggregatableRecordsExceptions;
/**
* @author Luca Frosini (ISTI - CNR) http://www.lucafrosini.com/
*/
public interface AggregatedUsageRecord<T extends B, B extends SingleUsageRecord> extends SingleUsageRecord {
public T getAggregatedUsageRecord(B b) throws InvalidValueException ;
/**
* Aggregate the Record provided as parameter with this record if Aggregatable
* @throws NotAggregatableRecordsExceptions
*/
public void aggregate(T record) throws NotAggregatableRecordsExceptions;
}