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

io.fabric8.knative.serving.v1.ConfigurationSpecFluentImpl Maven / Gradle / Ivy

package io.fabric8.knative.serving.v1;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.fabric8.kubernetes.api.builder.Nested;
import java.lang.Deprecated;
import io.fabric8.kubernetes.api.builder.BaseFluent;
import java.lang.Object;
import java.lang.Boolean;

public class ConfigurationSpecFluentImpl> extends io.fabric8.kubernetes.api.builder.BaseFluent implements ConfigurationSpecFluent {

    private RevisionTemplateSpecBuilder template;

    public ConfigurationSpecFluentImpl() {
    }

    public ConfigurationSpecFluentImpl(ConfigurationSpec instance) {
        this.withTemplate(instance.getTemplate()); 
    }

    
/**
 * This method has been deprecated, please use method buildTemplate instead.
 * @return The buildable object.
 */
@Deprecated public RevisionTemplateSpec getTemplate() {
        return this.template!=null?this.template.build():null;
    }

    public RevisionTemplateSpec buildTemplate() {
        return this.template!=null?this.template.build():null;
    }

    public A withTemplate(RevisionTemplateSpec template) {
        _visitables.get("template").remove(this.template);
        if (template!=null){ this.template= new RevisionTemplateSpecBuilder(template); _visitables.get("template").add(this.template);} return (A) this;
    }

    public Boolean hasTemplate() {
        return this.template != null;
    }

    public ConfigurationSpecFluent.TemplateNested withNewTemplate() {
        return new TemplateNestedImpl();
    }

    public ConfigurationSpecFluent.TemplateNested withNewTemplateLike(RevisionTemplateSpec item) {
        return new TemplateNestedImpl(item);
    }

    public ConfigurationSpecFluent.TemplateNested editTemplate() {
        return withNewTemplateLike(getTemplate());
    }

    public ConfigurationSpecFluent.TemplateNested editOrNewTemplate() {
        return withNewTemplateLike(getTemplate() != null ? getTemplate(): new RevisionTemplateSpecBuilder().build());
    }

    public ConfigurationSpecFluent.TemplateNested editOrNewTemplateLike(RevisionTemplateSpec item) {
        return withNewTemplateLike(getTemplate() != null ? getTemplate(): item);
    }

    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        ConfigurationSpecFluentImpl that = (ConfigurationSpecFluentImpl) o;
        if (template != null ? !template.equals(that.template) :that.template != null) return false;
        return true;
    }

    public int hashCode() {
        return java.util.Objects.hash(template,  super.hashCode());
    }

    public class TemplateNestedImpl extends RevisionTemplateSpecFluentImpl> implements ConfigurationSpecFluent.TemplateNested,io.fabric8.kubernetes.api.builder.Nested {
        private final RevisionTemplateSpecBuilder builder;

            TemplateNestedImpl(RevisionTemplateSpec item) {
                this.builder = new RevisionTemplateSpecBuilder(this, item);
                        
            }

            TemplateNestedImpl() {
                this.builder = new RevisionTemplateSpecBuilder(this);
                        
            }

            public N and() {
                return (N) ConfigurationSpecFluentImpl.this.withTemplate(builder.build());
            }

            public N endTemplate() {
                return and();
            }
    }


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy