accounting-analytics-persis.../src/main/java/org/gcube/accounting/analytics/persistence/postgresql/UsageRecordToDBMapping.java

26 lines
753 B
Java

package org.gcube.accounting.analytics.persistence.postgresql;
import java.util.HashMap;
import java.util.Map;
import org.gcube.documentstore.records.AggregatedRecord;
public class UsageRecordToDBMapping {
protected final static Map<Class<? extends AggregatedRecord<?, ?>>, RecordToDBMapper> classToRecordToDBMapper;
static {
classToRecordToDBMapper = new HashMap<>();
}
public static synchronized RecordToDBMapper getRecordToDB(Class<? extends AggregatedRecord<?, ?>> clz) throws Exception {
RecordToDBMapper recordToDBMapper = classToRecordToDBMapper.get(clz);
if(recordToDBMapper==null) {
recordToDBMapper = new RecordToDBMapper(clz);
classToRecordToDBMapper.put(clz, recordToDBMapper);
}
return recordToDBMapper;
}
}