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

com.salesforceiq.augmenteddriver.integrations.IntegrationFactory Maven / Gradle / Ivy

package com.salesforceiq.augmenteddriver.integrations;

import com.google.common.base.Preconditions;
import com.google.inject.Inject;
import com.google.inject.Singleton;

/**
 * Factory for all the different implementations.
 */
@Singleton
public class IntegrationFactory {

    private final SauceLabsIntegration sauceLabsIntegration;
    private final TeamCityIntegration teamCityIntegration;
    private final AllureIntegration allureIntegration;
    private final JenkinsIntegration jenkinsIntegration;
    private final SlackIntegration slackIntegration;

    @Inject
    public IntegrationFactory(SauceLabsIntegration sauceLabsIntegration,
                              TeamCityIntegration teamCityIntegration,
                              AllureIntegration allureIntegration,
                              JenkinsIntegration jenkinsIntegration,
                              SlackIntegration slackIntegration) {
        this.sauceLabsIntegration = Preconditions.checkNotNull(sauceLabsIntegration);;
        this.teamCityIntegration = Preconditions.checkNotNull(teamCityIntegration);
        this.allureIntegration = Preconditions.checkNotNull(allureIntegration);
        this.jenkinsIntegration = Preconditions.checkNotNull(jenkinsIntegration);
        this.slackIntegration = Preconditions.checkNotNull(slackIntegration);
    }

    /**
     * Saucelabs Integration.
     *
     * @return the SauceLabsIntegration.
     */
    public SauceLabsIntegration sauceLabs() {
        return sauceLabsIntegration;
    }

    /**
     * TeamCity Integration.
     *
     * @return  the TeamCityIntegration.
     */
    public TeamCityIntegration teamCity() {
        return teamCityIntegration;
    }

    /**
     * Allure Integration.
     *
     * @return  the AllureIntegration.
     */
    public AllureIntegration allure() {
        return allureIntegration;
    }

    /**
     * Jenkins Integration.
     *
     * @return  the JenkinsIntegration.
     */
    public JenkinsIntegration jenkins() {
        return jenkinsIntegration;
    }

    /**
     * Slack Integration
     *
     * @return the Slack Integration.
     */
    public SlackIntegration slack() {
        return slackIntegration;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy