blob: bbbaf5f1def454097bc5a12661caac86c74ad54f [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.config;
/**
* A JE configuration parameter with an boolean value.
*/
public class BooleanConfigParam extends ConfigParam {
private static final String DEBUG_NAME =
BooleanConfigParam.class.getName();
/**
* Set a boolean parameter w/default.
* @param configName
* @param defaultValue
* @param forReplication true if param is for replication
*/
public BooleanConfigParam(String configName,
boolean defaultValue,
boolean mutable,
boolean forReplication) {
/* defaultValue must not be null. */
super(configName,
Boolean.valueOf(defaultValue).toString(),
mutable,
forReplication);
}
/**
* Make sure that value is a valid string for booleans.
*/
@Override
public void validateValue(String value)
throws IllegalArgumentException {
if (!value.trim().equalsIgnoreCase(Boolean.FALSE.toString()) &&
!value.trim().equalsIgnoreCase(Boolean.TRUE.toString())) {
throw new IllegalArgumentException
(DEBUG_NAME + ": " + value + " not valid boolean " + name);
}
}
}