blob: 3f5209836851467050b734abbdf875b97b6b84a3 [file] [log] [blame]
/*-
* Copyright (C) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
*
* This file was distributed by Oracle as part of a version of Oracle Berkeley
* DB Java Edition made available at:
*
* http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/downloads/index.html
*
* Please see the LICENSE file included in the top-level directory of the
* appropriate version of Oracle Berkeley DB Java Edition for a copy of the
* license and additional information.
*/
package com.sleepycat.je.dbi;
public enum SearchMode {
SET(true, false, "SET"),
BOTH(true, true, "BOTH"),
SET_RANGE(false, false, "SET_RANGE"),
BOTH_RANGE(false, true, "BOTH_RANGE"),
ANY_RANGE(false, false, "ANY_RANGE");
private final boolean exactSearch;
private final boolean dataSearch;
private final String name;
SearchMode(boolean exactSearch, boolean dataSearch, String name) {
this.exactSearch = exactSearch;
this.dataSearch = dataSearch;
this.name = "SearchMode." + name;
}
/**
* Returns true when the key or key/data search is exact, i.e., for SET
* and BOTH.
*/
public final boolean isExactSearch() {
return exactSearch;
}
/**
* Returns true when the data value is included in the search, i.e., for
* BOTH and BOTH_RANGE. Note that this returns false for ANY_RANGE because
* the data value is only included in the search for dup DBs.
*/
public final boolean isDataSearch() {
return dataSearch;
}
@Override
public String toString() {
return name;
}
}