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

io.cloudslang.content.dca.models.DcaResourceModel Maven / Gradle / Ivy

/*
 * (c) Copyright 2018 Micro Focus, L.P.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Apache License v2.0 which accompany this distribution.
 *
 * The Apache License is available at
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package io.cloudslang.content.dca.models;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.jetbrains.annotations.NotNull;

import java.util.ArrayList;
import java.util.List;

public class DcaResourceModel {
    private String typeUuid;
    private int deploySequence;

    private List baseResources = new ArrayList<>();
    private List deploymentParameters = new ArrayList<>();

    public DcaResourceModel() {
    }

    public DcaResourceModel(String typeUuid, int deploySequence) {
        this.typeUuid = typeUuid;
        this.deploySequence = deploySequence;
    }

    public void addBaseResource(@NotNull final DcaBaseResourceModel baseResource) {
        baseResources.add(baseResource);
    }

    public void addBaseResources(@NotNull final List baseResourceList) {
        baseResources.addAll(baseResourceList);
    }

    public void addDeploymentParameter(@NotNull final DcaDeploymentParameterModel deploymentParameter) {
        deploymentParameters.add(deploymentParameter);
    }

    public void addDeploymentParameters(@NotNull final List deploymentParameterList) {
        deploymentParameters.addAll(deploymentParameterList);
    }

    @JsonProperty("TypeUuid")
    public String getTypeUuid() {
        return typeUuid;
    }

    public void setTypeUuid(String typeUuid) {
        this.typeUuid = typeUuid;
    }

    public int getDeploySequence() {
        return deploySequence;
    }

    public void setDeploySequence(int deploySequence) {
        this.deploySequence = deploySequence;
    }

    public List getBaseResources() {
        return baseResources;
    }

    public void setBaseResources(List baseResources) {
        this.baseResources = baseResources;
    }

    public List getDeploymentParameters() {
        return deploymentParameters;
    }

    public void setDeploymentParameters(List deploymentParameters) {
        this.deploymentParameters = deploymentParameters;
    }

    public String toJson() {
        try {
            return new ObjectMapper().writeValueAsString(this);
        } catch (JsonProcessingException e) {
            throw new RuntimeException(e);
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy