content: // 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;
  
  /**
   * RocksDB {@link ReadOptions} read tiers.
   */
  public enum ReadTier {
    READ_ALL_TIER((byte)0),
    BLOCK_CACHE_TIER((byte)1),
    PERSISTED_TIER((byte)2);
  
    private final byte value;
  
    ReadTier(final byte value) {
      this.value = value;
    }
  
    /**
     * Returns the byte value of the enumerations value
     *
     * @return byte representation
     */
    public byte getValue() {
      return value;
    }
  
    /**
     * Get ReadTier by byte value.
     *
     * @param value byte representation of ReadTier.
     *
     * @return {@link org.rocksdb.ReadTier} instance or null.
     * @throws java.lang.IllegalArgumentException if an invalid
     *     value is provided.
     */
    public static ReadTier getReadTier(final byte value) {
      for (final ReadTier readTier : ReadTier.values()) {
        if (readTier.getValue() == value){
          return readTier;
        }
      }
      throw new IllegalArgumentException("Illegal value provided for ReadTier.");
    }
  }
  