--- /dev/null
+// 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;
+
+public enum TableFileCreationReason {
+ FLUSH((byte) 0x00),
+ COMPACTION((byte) 0x01),
+ RECOVERY((byte) 0x02),
+ MISC((byte) 0x03);
+
+ private final byte value;
+
+ TableFileCreationReason(final byte value) {
+ this.value = value;
+ }
+
+ /**
+ * Get the internal representation.
+ *
+ * @return the internal representation
+ */
+ byte getValue() {
+ return value;
+ }
+
+ /**
+ * Get the TableFileCreationReason from the internal representation value.
+ *
+ * @return the table file creation reason.
+ *
+ * @throws IllegalArgumentException if the value is unknown.
+ */
+ static TableFileCreationReason fromValue(final byte value) {
+ for (final TableFileCreationReason tableFileCreationReason : TableFileCreationReason.values()) {
+ if (tableFileCreationReason.value == value) {
+ return tableFileCreationReason;
+ }
+ }
+
+ throw new IllegalArgumentException(
+ "Illegal value provided for TableFileCreationReason: " + value);
+ }
+}