/*
* Copyright (c) 2004, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package java.lang;
Thrown when an application tries to access an enum constant by name and the enum type contains no constant with the specified name. This exception can be thrown by the API used to read annotations
reflectively. Author: Josh Bloch See Also: Since: 1.5
/**
* Thrown when an application tries to access an enum constant by name
* and the enum type contains no constant with the specified name.
* This exception can be thrown by the {@linkplain
* java.lang.reflect.AnnotatedElement API used to read annotations
* reflectively}.
*
* @author Josh Bloch
* @see java.lang.reflect.AnnotatedElement
* @since 1.5
*/
@SuppressWarnings("rawtypes") /* rawtypes are part of the public api */
public class EnumConstantNotPresentException extends RuntimeException {
@java.io.Serial
private static final long serialVersionUID = -6046998521960521108L;
The type of the missing enum constant.
/**
* The type of the missing enum constant.
*/
private Class<? extends Enum> enumType;
The name of the missing enum constant.
/**
* The name of the missing enum constant.
*/
private String constantName;
Constructs an EnumConstantNotPresentException
for the specified constant. Params: - enumType – the type of the missing enum constant
- constantName – the name of the missing enum constant
/**
* Constructs an {@code EnumConstantNotPresentException} for the
* specified constant.
*
* @param enumType the type of the missing enum constant
* @param constantName the name of the missing enum constant
*/
public EnumConstantNotPresentException(Class<? extends Enum> enumType,
String constantName) {
super(enumType.getName() + "." + constantName);
this.enumType = enumType;
this.constantName = constantName;
}
Returns the type of the missing enum constant.
Returns: the type of the missing enum constant
/**
* Returns the type of the missing enum constant.
*
* @return the type of the missing enum constant
*/
public Class<? extends Enum> enumType() { return enumType; }
Returns the name of the missing enum constant.
Returns: the name of the missing enum constant
/**
* Returns the name of the missing enum constant.
*
* @return the name of the missing enum constant
*/
public String constantName() { return constantName; }
}