1 // Copyright (c) 2011-present, Facebook, Inc.  All rights reserved.
2 //  This source code is licensed under both the GPLv2 (found in the
3 //  COPYING file in the root directory) and Apache 2.0 License
4 //  (found in the LICENSE.Apache file in the root directory).
5 
6 package org.rocksdb;
7 
8 /**
9  * The full set of metadata associated with each SST file.
10  */
11 public class LiveFileMetaData extends SstFileMetaData {
12   private final byte[] columnFamilyName;
13   private final int level;
14 
15   /**
16    * Called from JNI C++
17    */
LiveFileMetaData( final byte[] columnFamilyName, final int level, final String fileName, final String path, final long size, final long smallestSeqno, final long largestSeqno, final byte[] smallestKey, final byte[] largestKey, final long numReadsSampled, final boolean beingCompacted, final long numEntries, final long numDeletions)18   private LiveFileMetaData(
19       final byte[] columnFamilyName,
20       final int level,
21       final String fileName,
22       final String path,
23       final long size,
24       final long smallestSeqno,
25       final long largestSeqno,
26       final byte[] smallestKey,
27       final byte[] largestKey,
28       final long numReadsSampled,
29       final boolean beingCompacted,
30       final long numEntries,
31       final long numDeletions) {
32     super(fileName, path, size, smallestSeqno, largestSeqno, smallestKey,
33         largestKey, numReadsSampled, beingCompacted, numEntries, numDeletions);
34     this.columnFamilyName = columnFamilyName;
35     this.level = level;
36   }
37 
38   /**
39    * Get the name of the column family.
40    *
41    * @return the name of the column family
42    */
columnFamilyName()43   public byte[] columnFamilyName() {
44     return columnFamilyName;
45   }
46 
47   /**
48    * Get the level at which this file resides.
49    *
50    * @return the level at which the file resides.
51    */
level()52   public int level() {
53     return level;
54   }
55 }
56