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

org.openstack4j.openstack.workflow.domain.MistralWorkflowEnvironment Maven / Gradle / Ivy

There is a newer version: 3.2.0
Show newest version
package org.openstack4j.openstack.workflow.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import org.openstack4j.model.workflow.Scope;
import org.openstack4j.model.workflow.WorkflowEnvironment;
import org.openstack4j.model.workflow.builder.WorkflowEnvironmentBuilder;
import org.openstack4j.openstack.common.ListResult;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * Mistral workflow environment.
 *
 * @author Renat Akhmerov
 */
@JsonIgnoreProperties(ignoreUnknown = true)
public class MistralWorkflowEnvironment implements WorkflowEnvironment {
    private static final long serialVersionUID = 1L;

    private String id;

    @JsonProperty("created_at")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdAt;

    @JsonProperty("updated_at")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updatedAt;

    @JsonProperty("project_id")
    private String projectId;

    private Scope scope;

    private String name;

    private String description;

    private Map variables;

    public static MistralWorkflowEnvironmentBuilder builder() {
        return new MistralWorkflowEnvironmentBuilder();
    }

    @Override
    public MistralWorkflowEnvironmentBuilder toBuilder() {
        return new MistralWorkflowEnvironmentBuilder(this);
    }

    @Override
    public String getId() {
        return id;
    }

    @Override
    public Date getCreatedAt() {
        return createdAt;
    }

    @Override
    public Date getUpdatedAt() {
        return updatedAt;
    }

    @Override
    public String getProjectId() {
        return projectId;
    }

    @Override
    public Scope getScope() {
        return scope;
    }

    @Override
    public String getName() {
        return name;
    }

    @Override
    public String getDescription() {
        return description;
    }

    @Override
    public Map getVariables() {
        return variables;
    }

    /**
     * Mistral workflow environment builder.
     *
     * @author Renat Akhmerov
     */
    public static class MistralWorkflowEnvironmentBuilder implements
            WorkflowEnvironmentBuilder {

        protected MistralWorkflowEnvironment model;

        MistralWorkflowEnvironmentBuilder() {
            this(new MistralWorkflowEnvironment());
        }

        MistralWorkflowEnvironmentBuilder(MistralWorkflowEnvironment model) {
            this.model = model;
        }

        @Override
        public MistralWorkflowEnvironment build() {
            return model;
        }

        @Override
        public MistralWorkflowEnvironmentBuilder from(MistralWorkflowEnvironment in) {
            return null;
        }

        @Override
        public MistralWorkflowEnvironmentBuilder id(String id) {
            this.model.id = id;

            return this;
        }

        @Override
        public MistralWorkflowEnvironmentBuilder createdAt(Date createdAt) {
            this.model.createdAt = createdAt;

            return this;
        }

        @Override
        public MistralWorkflowEnvironmentBuilder updatedAt(Date updatedAt) {
            this.model.updatedAt = updatedAt;

            return this;
        }

        @Override
        public MistralWorkflowEnvironmentBuilder projectId(String projectId) {
            this.model.projectId = projectId;

            return this;
        }

        @Override
        public MistralWorkflowEnvironmentBuilder scope(Scope scope) {
            this.model.scope = scope;

            return this;
        }

        @Override
        public MistralWorkflowEnvironmentBuilder name(String name) {
            this.model.name = name;

            return this;
        }

        @Override
        public MistralWorkflowEnvironmentBuilder description(String description) {
            this.model.description = description;

            return this;
        }

        @Override
        public MistralWorkflowEnvironmentBuilder variables(Map variables) {
            this.model.variables = variables;

            return this;
        }
    }

    public static class MistralWorkflowEnvironments extends ListResult {
        private static final long serialVersionUID = 1L;

        @JsonProperty("environments")
        private List list;

        @Override
        protected List value() {
            return this.list;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy