org.checkerframework.common.value.qual.EnumVal Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of guava Show documentation
Show all versions of guava Show documentation
Guava is a suite of core and expanded libraries that include
utility classes, google's collections, io classes, and much
much more.
package org.checkerframework.common.value.qual;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* An annotation indicating the possible values for an enum type. If an expression's type has this
* annotation, then at run time, the expression evaluates to one of the enum values named by the
* arguments. EnumVal uses the simple name of the enum value: the EnumVal type corresponding to
* {@code MyEnum.MY_VALUE} is {@code @EnumVal("MY_VALUE")}.
*
* This annotation is treated as {@link StringVal} internally by the Constant Value Checker.
*
* @checker_framework.manual #constant-value-checker Constant Value Checker
*/
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE_PARAMETER, ElementType.TYPE_USE})
public @interface EnumVal {
/**
* The simple names of the possible enum values for an expression with the annotated type.
*
* @return the simple names of the possible enum values for an expression with the annotated
* type
*/
String[] value() default {};
}