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. */ String value() default Parameters.NULL_VALUE; }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy