blob: c2c5a8419e7149c8654c78469aeba5f4ad6229f0 [file] [log] [blame]
/*-
* 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.log.entry;
import java.nio.ByteBuffer;
import com.sleepycat.je.dbi.EnvironmentImpl;
import com.sleepycat.je.log.FileHeader;
import com.sleepycat.je.log.LogEntryHeader;
import com.sleepycat.je.log.LogEntryType;
/**
* Contains a FileHeader entry.
*/
public class FileHeaderEntry extends SingleItemEntry<FileHeader> {
/**
* Construct a log entry for reading.
*/
public FileHeaderEntry(Class<FileHeader> logClass) {
super(logClass);
}
/**
* Construct a log entry for writing.
*/
public FileHeaderEntry(LogEntryType entryType, FileHeader item) {
super(entryType, item);
}
/**
* For a file header, the version is not available until after reading the
* item. Set the version in the entry header so it can be used by
* FileReaders, etc. [#16939]
*/
@Override
public void readEntry(EnvironmentImpl envImpl,
LogEntryHeader header,
ByteBuffer entryBuffer) {
super.readEntry(envImpl, header, entryBuffer);
FileHeader entry = (FileHeader) getMainItem();
header.setFileHeaderVersion(entry.getLogVersion());
}
}