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.util;
  
  import org.rocksdb.BuiltinComparator;
  import org.rocksdb.ComparatorOptions;
  import org.rocksdb.Slice;
  
  /**
   * This is a Java Native implementation of the C++
   * equivalent ReverseBytewiseComparatorImpl using {@link Slice}
   *
   * The performance of Comparators implemented in Java is always
   * less than their C++ counterparts due to the bridging overhead,
   * as such you likely don't want to use this apart from benchmarking
   * and you most likely instead wanted
   * {@link BuiltinComparator#REVERSE_BYTEWISE_COMPARATOR}
   */
  public class ReverseBytewiseComparator extends BytewiseComparator {
  
    public ReverseBytewiseComparator(final ComparatorOptions copt) {
      super(copt);
    }
  
    @Override
    public String name() {
      return "rocksdb.java.ReverseBytewiseComparator";
    }
  
    @Override
    public int compare(final Slice a, final Slice b) {
      return -super.compare(a, b);
    }
  }
  