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

ru.yandex.qatools.allure.plugins.Plugin Maven / Gradle / Ivy

There is a newer version: 1.5.4
Show newest version
package ru.yandex.qatools.allure.plugins;

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

/**
 * Main interface for all Allure report plugins.
 *
 * @author Dmitry Baev [email protected]
 *         Date: 09.02.15
 */
public interface Plugin {

    /**
     * Using this annotation you can specify the plugin name. This annotation
     * is required for all plugins. Plugin name should contains only latin characters
     * or numbers (but can't start with number).
     */
    @Target({ElementType.TYPE})
    @Retention(RetentionPolicy.RUNTIME)
    @interface Name {

        String value();
    }

    /**
     * Using this annotation you can specify plugin priority. Plugins with higher
     * priority will be processed first.
     */
    @Target({ElementType.TYPE})
    @Retention(RetentionPolicy.RUNTIME)
    @interface Priority {

        int value();
    }

    /**
     * This annotation helps you to specify fields with data for plugin.
     */
    @Target({ElementType.FIELD})
    @Retention(RetentionPolicy.RUNTIME)
    @interface Data {

        String value() default "##default";
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy