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

io.qameta.allure.core.Configuration Maven / Gradle / Ivy

There is a newer version: 2.33.0
Show newest version
package io.qameta.allure.core;

import io.qameta.allure.Aggregator;
import io.qameta.allure.Reader;
import io.qameta.allure.exception.ContextNotFoundException;

import java.util.List;
import java.util.Optional;

/**
 * Report configuration.
 *
 * @since 2.0
 */
public interface Configuration {

    /**
     * Returns all configured plugins.
     *
     * @return configured plugins.
     */
    List getPlugins();

    /**
     * Returns all configured aggregators.
     *
     * @return configured aggregators.
     */
    List getAggregators();

    /**
     * Returns all configured readers.
     *
     * @return configured readers.
     */
    List getReaders();

    /**
     * Resolve context by given type.
     *
     * @param contextType type of context to resolve.
     * @param          the java type of context.
     * @return resolved context.
     */
     Optional getContext(Class contextType);

    /**
     * The same as {@link #getContext(Class)} but throws an exception
     * if context doesn't present.
     *
     * @return resolved context.
     * @throws ContextNotFoundException if no such context present.
     */
    default  T requireContext(Class contextType) {
        return getContext(contextType).orElseThrow(() -> new ContextNotFoundException(contextType));
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy