1 // Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
2 package org.rocksdb;
3 
4 /**
5  * RocksDB log levels.
6  */
7 public enum InfoLogLevel {
8   DEBUG_LEVEL((byte)0),
9   INFO_LEVEL((byte)1),
10   WARN_LEVEL((byte)2),
11   ERROR_LEVEL((byte)3),
12   FATAL_LEVEL((byte)4),
13   HEADER_LEVEL((byte)5),
14   NUM_INFO_LOG_LEVELS((byte)6);
15 
16   private final byte value_;
17 
InfoLogLevel(final byte value)18   private InfoLogLevel(final byte value) {
19     value_ = value;
20   }
21 
22   /**
23    * Returns the byte value of the enumerations value
24    *
25    * @return byte representation
26    */
getValue()27   public byte getValue() {
28     return value_;
29   }
30 
31   /**
32    * Get InfoLogLevel by byte value.
33    *
34    * @param value byte representation of InfoLogLevel.
35    *
36    * @return {@link org.rocksdb.InfoLogLevel} instance.
37    * @throws java.lang.IllegalArgumentException if an invalid
38    *     value is provided.
39    */
getInfoLogLevel(final byte value)40   public static InfoLogLevel getInfoLogLevel(final byte value) {
41     for (final InfoLogLevel infoLogLevel : InfoLogLevel.values()) {
42       if (infoLogLevel.getValue() == value) {
43         return infoLogLevel;
44       }
45     }
46     throw new IllegalArgumentException(
47         "Illegal value provided for InfoLogLevel.");
48   }
49 }
50