com.sleepycat.je.cleaner.DbFileSummaryMap Maven / Gradle / Ivy
The newest version!
/*-
* Copyright (C) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
*
* This file was distributed by Oracle as part of a version of Oracle Berkeley
* DB Java Edition made available at:
*
* http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/downloads/index.html
*
* Please see the LICENSE file included in the top-level directory of the
* appropriate version of Oracle Berkeley DB Java Edition for a copy of the
* license and additional information.
*/
package com.sleepycat.je.cleaner;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class DbFileSummaryMap {
private Map map;
/**
* Creates a map of Long file number to DbFileSummary.
*/
public DbFileSummaryMap() {
map = new HashMap<>();
}
/**
* Returns the DbFileSummary for the given file, allocating it if
* necessary.
*
* Must be called under the log write latch.
*
* @param fileNum the file identifying the summary.
*/
public DbFileSummary get(Long fileNum) {
DbFileSummary summary = map.get(fileNum);
if (summary == null) {
summary = new DbFileSummary();
Object oldVal = map.put(fileNum, summary);
assert oldVal == null;
}
return summary;
}
public Set> entrySet() {
return map.entrySet();
}
@Override
public String toString() {
return map.toString();
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy