package cz.moneta.test.harness.support.mwf;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Annotation is used for setting MWF API version in case it is different for each environment. Typically if version 001 is not available.<br>
 * If not defined then MWF API version is set to 001.<br>
 * <u>Example:</u>
 * <pre>
 *         {@literal @}ApiVersion(versionTST3 = "100", versionTST1 = "200", versionPPE = "300", versionEDU = "400")
 *          public interface MWFIQ1 extends MwfRequest<MWFIQ1, MWFIQ1Response> {}
 *    </pre>
 * <u>Example2: Defaults API version to 001 for all environments</u>
 * <pre>
 *         {@literal @}ApiVersion
 *          public interface MWFIQ1 extends MwfRequest<MWFIQ1, MWFIQ1Response> {}
 *    </pre>
 */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface ApiVersion {
    String versionTST3() default "001";

    String versionTST1() default "001";

    String versionPPE() default "001";

    String versionEDU() default "001";
}
