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

com.microsoft.rest.v2.annotations.Beta Maven / Gradle / Ivy

/**
 * Copyright (c) Microsoft Corporation. All rights reserved.
 * Licensed under the MIT License. See License.txt in the project root for
 * license information.
 */

package com.microsoft.rest.v2.annotations;

import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.ElementType.CONSTRUCTOR;

import java.lang.annotation.Documented;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Beta annotation.
 */
@Documented
@Retention(RetentionPolicy.CLASS)
@Target({ TYPE, METHOD, PARAMETER, CONSTRUCTOR })
@Inherited
/**
 * Indicates functionality that is in preview and as such is subject to change in non-backwards compatible ways in future releases,
 * including removal, regardless of any compatibility expectations set by the containing library version.
 *
 *  Examples:
 *
 *  {@literal @}Beta
 *  {@literal @}Beta(since="v1.0.0")
 *  {@literal @}Beta(since="v1.2.0", reason="the feature is in preview")
 *  {@literal @}Beta("introducing Foo which eventually replaces Bar")
 */
public @interface Beta {
    /**
     * @return the free-form value for the annotation (used if details cannot be provided using since and reason attributes).
     */
    String value() default "";

    /**
     * @return the version number indicating when the annotated target was first introduced to the library as in beta.
     */
    String since() default "";

    /**
     * @return the reason for annotating the target as beta.
     */
    String reason() default "";

    /**
     * @return the warning message.
     */
    String warningText() default "This functionality is in preview and as such is subject to change in non-backwards compatible ways in future releases, including removal, regardless of any compatibility expectations set by the containing library version.";
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy