All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.testng.annotations.Optional Maven / Gradle / Ivy

There is a newer version: 7.10.1
Show newest version
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; }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy