org.rocksdb.ExternalFileIngestionInfo Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of rocksdbjni Show documentation
Show all versions of rocksdbjni Show documentation
RocksDB fat jar that contains .so files for linux32 and linux64 (glibc and musl-libc), jnilib files
for Mac OSX, and a .dll for Windows x64.
// Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
// This source code is licensed under both the GPLv2 (found in the
// COPYING file in the root directory) and Apache 2.0 License
// (found in the LICENSE.Apache file in the root directory).
package org.rocksdb;
import java.util.Objects;
public class ExternalFileIngestionInfo {
private final String columnFamilyName;
private final String externalFilePath;
private final String internalFilePath;
private final long globalSeqno;
private final TableProperties tableProperties;
/**
* Access is package private as this will only be constructed from
* C++ via JNI and for testing.
*/
ExternalFileIngestionInfo(final String columnFamilyName, final String externalFilePath,
final String internalFilePath, final long globalSeqno,
final TableProperties tableProperties) {
this.columnFamilyName = columnFamilyName;
this.externalFilePath = externalFilePath;
this.internalFilePath = internalFilePath;
this.globalSeqno = globalSeqno;
this.tableProperties = tableProperties;
}
/**
* Get the name of the column family.
*
* @return the name of the column family.
*/
public String getColumnFamilyName() {
return columnFamilyName;
}
/**
* Get the path of the file outside the DB.
*
* @return the path of the file outside the DB.
*/
public String getExternalFilePath() {
return externalFilePath;
}
/**
* Get the path of the file inside the DB.
*
* @return the path of the file inside the DB.
*/
public String getInternalFilePath() {
return internalFilePath;
}
/**
* Get the global sequence number assigned to keys in this file.
*
* @return the global sequence number.
*/
public long getGlobalSeqno() {
return globalSeqno;
}
/**
* Get the Table properties of the table being flushed.
*
* @return the table properties.
*/
public TableProperties getTableProperties() {
return tableProperties;
}
@Override
public boolean equals(final Object o) {
if (this == o)
return true;
if (o == null || getClass() != o.getClass())
return false;
final ExternalFileIngestionInfo that = (ExternalFileIngestionInfo) o;
return globalSeqno == that.globalSeqno
&& Objects.equals(columnFamilyName, that.columnFamilyName)
&& Objects.equals(externalFilePath, that.externalFilePath)
&& Objects.equals(internalFilePath, that.internalFilePath)
&& Objects.equals(tableProperties, that.tableProperties);
}
@Override
public int hashCode() {
return Objects.hash(
columnFamilyName, externalFilePath, internalFilePath, globalSeqno, tableProperties);
}
@Override
public String toString() {
return "ExternalFileIngestionInfo{"
+ "columnFamilyName='" + columnFamilyName + '\'' + ", externalFilePath='" + externalFilePath
+ '\'' + ", internalFilePath='" + internalFilePath + '\'' + ", globalSeqno=" + globalSeqno
+ ", tableProperties=" + tableProperties + '}';
}
}