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

com.atlassian.bamboo.specs.api.builders.deployment.configuration.AnyPluginConfiguration Maven / Gradle / Ivy

package com.atlassian.bamboo.specs.api.builders.deployment.configuration;

import com.atlassian.bamboo.specs.api.builders.AtlassianModule;
import com.atlassian.bamboo.specs.api.exceptions.PropertiesValidationException;
import com.atlassian.bamboo.specs.api.model.AtlassianModuleProperties;
import com.atlassian.bamboo.specs.api.model.deployment.configuration.AnyPluginConfigurationProperties;
import com.atlassian.bamboo.specs.api.util.EntityPropertiesBuilders;
import org.jetbrains.annotations.NotNull;

import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Objects;

public class AnyPluginConfiguration extends EnvironmentPluginConfiguration {

    private AtlassianModuleProperties atlassianPlugin;
    private Map configuration = new LinkedHashMap<>();

    /**
     * Specifies a configuration for a specified plugin.
     *
     * @param atlassianPlugin plugin identified by its plugin module key
     * @see AtlassianModule
     */
    public AnyPluginConfiguration(@NotNull final AtlassianModule atlassianPlugin) throws PropertiesValidationException {
        this.atlassianPlugin = EntityPropertiesBuilders.build(atlassianPlugin);
    }

    /**
     * Appends the generic configuration.
     * 

* The configuration should be in the format used by respective plugin. No syntactical nor semantic validation is * performed on the source data. The configuration is stored 'as is' in the Bamboo DB. */ public AnyPluginConfiguration configuration(final Map configuration) { this.configuration.putAll(configuration); return this; } @NotNull @Override protected AnyPluginConfigurationProperties build() { return new AnyPluginConfigurationProperties(atlassianPlugin, configuration); } @Override public boolean equals(Object o) { if (this == o) { return true; } if (!(o instanceof AnyPluginConfiguration)) { return false; } AnyPluginConfiguration that = (AnyPluginConfiguration) o; return Objects.equals(atlassianPlugin, that.atlassianPlugin) && Objects.equals(configuration, that.configuration); } @Override public int hashCode() { return Objects.hash(atlassianPlugin, configuration); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy