org.testng.annotations.Optional Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of testng Show documentation
Show all versions of testng Show documentation
A testing framework for the JVM
package org.testng.annotations;
import static java.lang.annotation.ElementType.PARAMETER;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
import org.testng.internal.Parameters;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
/**
* Specifies that the current parameter is optional. TestNG will pass
* in a specified default value, or null
if none is specified.
*/
@Retention(RUNTIME)
@Target({PARAMETER})
public @interface Optional {
/** The default value to pass to this parameter. The default deserves
* a bit of explanation. JSR-175 (which defines annotations) says that
* Java annotation parameters can only be ConstantExpressions, which
* can be primitive/string literals, but not null
.
* In this case, we use this string as a substitute
* for null
; in practice, TestNG will pass null
* to your code, and not the string "null", if you do not specify
* a default value here in this parameter.
*/
public String value() default Parameters.NULL_VALUE;
}