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

io.fabric8.openshift.api.model.template.TemplateFluent Maven / Gradle / Ivy

package io.fabric8.openshift.api.model.template;

import java.util.HashMap;
import java.util.Map;
import java.util.List;
import java.util.ArrayList;
import io.fabric8.common.Nested;
import io.fabric8.common.Fluent;

public class TemplateFluent> implements Fluent{

    private Map annotations  = new HashMap();
    private Template.ApiVersion apiVersion ;
    private String creationTimestamp ;
    private String deletionTimestamp ;
    private String generateName ;
    private String kind ;
    private Map labels  = new HashMap();
    private String name ;
    private String namespace ;
    private List objects  = new ArrayList();
    private List parameters  = new ArrayList();
    private String resourceVersion ;
    private String selfLink ;
    private String uid ;
    private Map additionalProperties  = new HashMap();

    public Map getAnnotations(){
    return this.annotations;
    }
    public T withAnnotations(Map annotations){
    this.annotations.clear();if (annotations != null) {this.annotations.putAll(annotations);} return (T) this;
    }
    public Template.ApiVersion getApiVersion(){
    return this.apiVersion;
    }
    public T withApiVersion(Template.ApiVersion apiVersion){
    this.apiVersion=apiVersion; return (T) this;
    }
    public String getCreationTimestamp(){
    return this.creationTimestamp;
    }
    public T withCreationTimestamp(String creationTimestamp){
    this.creationTimestamp=creationTimestamp; return (T) this;
    }
    public String getDeletionTimestamp(){
    return this.deletionTimestamp;
    }
    public T withDeletionTimestamp(String deletionTimestamp){
    this.deletionTimestamp=deletionTimestamp; return (T) this;
    }
    public String getGenerateName(){
    return this.generateName;
    }
    public T withGenerateName(String generateName){
    this.generateName=generateName; return (T) this;
    }
    public String getKind(){
    return this.kind;
    }
    public T withKind(String kind){
    this.kind=kind; return (T) this;
    }
    public Map getLabels(){
    return this.labels;
    }
    public T withLabels(Map labels){
    this.labels.clear();if (labels != null) {this.labels.putAll(labels);} return (T) this;
    }
    public String getName(){
    return this.name;
    }
    public T withName(String name){
    this.name=name; return (T) this;
    }
    public String getNamespace(){
    return this.namespace;
    }
    public T withNamespace(String namespace){
    this.namespace=namespace; return (T) this;
    }
    public List getObjects(){
    return this.objects;
    }
    public T withObjects(List objects){
    this.objects.clear();if (objects != null) {this.objects.addAll(objects);} return (T) this;
    }
    public List getParameters(){
    return this.parameters;
    }
    public T withParameters(List parameters){
    this.parameters.clear();if (parameters != null) {this.parameters.addAll(parameters);} return (T) this;
    }
    public String getResourceVersion(){
    return this.resourceVersion;
    }
    public T withResourceVersion(String resourceVersion){
    this.resourceVersion=resourceVersion; return (T) this;
    }
    public String getSelfLink(){
    return this.selfLink;
    }
    public T withSelfLink(String selfLink){
    this.selfLink=selfLink; return (T) this;
    }
    public String getUid(){
    return this.uid;
    }
    public T withUid(String uid){
    this.uid=uid; return (T) this;
    }
    public Map getAdditionalProperties(){
    return this.additionalProperties;
    }
    public T withAdditionalProperties(Map additionalProperties){
    this.additionalProperties.clear();if (additionalProperties != null) {this.additionalProperties.putAll(additionalProperties);} return (T) this;
    }
    public T addToAnnotations(String key, String value){
    if(key != null && value != null) {this.annotations.put(key, value);} return (T)this;
    }
    public T addToLabels(String key, String value){
    if(key != null && value != null) {this.labels.put(key, value);} return (T)this;
    }
    public T addToObjects(Object item){
    if (item != null) {this.objects.add(item);} return (T)this;
    }
    public T addToParameters(Parameter item){
    if (item != null) {this.parameters.add(item);} return (T)this;
    }
    public ParametersNested addNewParameter(){
    return new ParametersNested();
    }
    public T addNewParameter(String description, String from, String generate, String name, String value){
    return addToParameters(new Parameter(description, from, generate, name, value));
    }
    public T addToAdditionalProperties(String key, Object value){
    if(key != null && value != null) {this.additionalProperties.put(key, value);} return (T)this;
    }

    public class ParametersNested extends ParameterFluent> implements Nested{

        private final ParameterBuilder builder = new ParameterBuilder(this);
    
            public N endParameter(){
            return and();
        }
            public N and(){
            return (N) TemplateFluent.this.addToParameters(builder.build());
        }
    
}


}