/*
* Copyright (c) 2002-2016, the original author or authors.
*
* This software is distributable under the BSD license. See the terms of the
* BSD license in the documentation provided with this software.
*
* http://www.opensource.org/licenses/bsd-license.php
*/
package jline.console.completer;
import static jline.internal.
Preconditions.checkNotNull;
/**
* {@link Completer} for {@link Enum} names.
*
* @author <a href="mailto:jason@planet57.com">Jason Dillon</a>
* @since 2.3
*/
public class
EnumCompleter
extends
StringsCompleter
{
public
EnumCompleter(
Class<? extends
Enum<?>>
source) {
this(
source, true);
}
public
EnumCompleter(
Class<? extends
Enum<?>>
source, boolean
toLowerCase) {
checkNotNull(
source);
for (
Enum<?>
n :
source.
getEnumConstants()) {
this.
getStrings().
add(
toLowerCase ?
n.
name().
toLowerCase() :
n.
name());
}
}
}