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

io.kubernetes.client.openapi.models.V2beta2MetricSpecFluentImpl Maven / Gradle / Ivy

There is a newer version: 22.0.0
Show newest version
package io.kubernetes.client.openapi.models;

import java.lang.StringBuilder;
import com.google.gson.annotations.SerializedName;
import io.kubernetes.client.fluent.Nested;
import java.lang.String;
import java.lang.Deprecated;
import io.kubernetes.client.fluent.BaseFluent;
import java.lang.Boolean;
import java.lang.StringBuffer;
import java.lang.Object;

public class V2beta2MetricSpecFluentImpl> extends io.kubernetes.client.fluent.BaseFluent implements V2beta2MetricSpecFluent {

    private V2beta2ContainerResourceMetricSourceBuilder containerResource;
    private V2beta2ExternalMetricSourceBuilder external;
    private V2beta2ObjectMetricSourceBuilder _object;
    private V2beta2PodsMetricSourceBuilder pods;
    private V2beta2ResourceMetricSourceBuilder resource;
    private String type;

    public V2beta2MetricSpecFluentImpl() { 
    }


    public V2beta2MetricSpecFluentImpl(V2beta2MetricSpec instance) { 
        this.withContainerResource(instance.getContainerResource());

        this.withExternal(instance.getExternal());

        this.withObject(instance.getObject());

        this.withPods(instance.getPods());

        this.withResource(instance.getResource());

        this.withType(instance.getType());

    }


    
/**
 * This method has been deprecated, please use method buildContainerResource instead.
 * @return The buildable object.
 */
@Deprecated public V2beta2ContainerResourceMetricSource getContainerResource() {
        return this.containerResource!=null?this.containerResource.build():null;
    }

    public V2beta2ContainerResourceMetricSource buildContainerResource() {
        return this.containerResource!=null?this.containerResource.build():null;
    }

    public A withContainerResource(V2beta2ContainerResourceMetricSource containerResource) {
        _visitables.get("containerResource").remove(this.containerResource);
        if (containerResource!=null){ this.containerResource= new V2beta2ContainerResourceMetricSourceBuilder(containerResource); _visitables.get("containerResource").add(this.containerResource);} return (A) this;
    }

    public Boolean hasContainerResource() {
        return this.containerResource != null;
    }

    public V2beta2MetricSpecFluent.ContainerResourceNested withNewContainerResource() {
        return new ContainerResourceNestedImpl();
    }

    public V2beta2MetricSpecFluent.ContainerResourceNested withNewContainerResourceLike(V2beta2ContainerResourceMetricSource item) {
        return new ContainerResourceNestedImpl(item);
    }

    public V2beta2MetricSpecFluent.ContainerResourceNested editContainerResource() {
        return withNewContainerResourceLike(getContainerResource());
    }

    public V2beta2MetricSpecFluent.ContainerResourceNested editOrNewContainerResource() {
        return withNewContainerResourceLike(getContainerResource() != null ? getContainerResource(): new V2beta2ContainerResourceMetricSourceBuilder().build());
    }

    public V2beta2MetricSpecFluent.ContainerResourceNested editOrNewContainerResourceLike(V2beta2ContainerResourceMetricSource item) {
        return withNewContainerResourceLike(getContainerResource() != null ? getContainerResource(): item);
    }

    
/**
 * This method has been deprecated, please use method buildExternal instead.
 * @return The buildable object.
 */
@Deprecated public V2beta2ExternalMetricSource getExternal() {
        return this.external!=null?this.external.build():null;
    }

    public V2beta2ExternalMetricSource buildExternal() {
        return this.external!=null?this.external.build():null;
    }

    public A withExternal(V2beta2ExternalMetricSource external) {
        _visitables.get("external").remove(this.external);
        if (external!=null){ this.external= new V2beta2ExternalMetricSourceBuilder(external); _visitables.get("external").add(this.external);} return (A) this;
    }

    public Boolean hasExternal() {
        return this.external != null;
    }

    public V2beta2MetricSpecFluent.ExternalNested withNewExternal() {
        return new ExternalNestedImpl();
    }

    public V2beta2MetricSpecFluent.ExternalNested withNewExternalLike(V2beta2ExternalMetricSource item) {
        return new ExternalNestedImpl(item);
    }

    public V2beta2MetricSpecFluent.ExternalNested editExternal() {
        return withNewExternalLike(getExternal());
    }

    public V2beta2MetricSpecFluent.ExternalNested editOrNewExternal() {
        return withNewExternalLike(getExternal() != null ? getExternal(): new V2beta2ExternalMetricSourceBuilder().build());
    }

    public V2beta2MetricSpecFluent.ExternalNested editOrNewExternalLike(V2beta2ExternalMetricSource item) {
        return withNewExternalLike(getExternal() != null ? getExternal(): item);
    }

    
/**
 * This method has been deprecated, please use method buildObject instead.
 * @return The buildable object.
 */
@Deprecated public V2beta2ObjectMetricSource getObject() {
        return this._object!=null?this._object.build():null;
    }

    public V2beta2ObjectMetricSource buildObject() {
        return this._object!=null?this._object.build():null;
    }

    public A withObject(V2beta2ObjectMetricSource _object) {
        _visitables.get("_object").remove(this._object);
        if (_object!=null){ this._object= new V2beta2ObjectMetricSourceBuilder(_object); _visitables.get("_object").add(this._object);} return (A) this;
    }

    public Boolean hasObject() {
        return this._object != null;
    }

    public V2beta2MetricSpecFluent.ObjectNested withNewObject() {
        return new ObjectNestedImpl();
    }

    public V2beta2MetricSpecFluent.ObjectNested withNewObjectLike(V2beta2ObjectMetricSource item) {
        return new ObjectNestedImpl(item);
    }

    public V2beta2MetricSpecFluent.ObjectNested editObject() {
        return withNewObjectLike(getObject());
    }

    public V2beta2MetricSpecFluent.ObjectNested editOrNewObject() {
        return withNewObjectLike(getObject() != null ? getObject(): new V2beta2ObjectMetricSourceBuilder().build());
    }

    public V2beta2MetricSpecFluent.ObjectNested editOrNewObjectLike(V2beta2ObjectMetricSource item) {
        return withNewObjectLike(getObject() != null ? getObject(): item);
    }

    
/**
 * This method has been deprecated, please use method buildPods instead.
 * @return The buildable object.
 */
@Deprecated public V2beta2PodsMetricSource getPods() {
        return this.pods!=null?this.pods.build():null;
    }

    public V2beta2PodsMetricSource buildPods() {
        return this.pods!=null?this.pods.build():null;
    }

    public A withPods(V2beta2PodsMetricSource pods) {
        _visitables.get("pods").remove(this.pods);
        if (pods!=null){ this.pods= new V2beta2PodsMetricSourceBuilder(pods); _visitables.get("pods").add(this.pods);} return (A) this;
    }

    public Boolean hasPods() {
        return this.pods != null;
    }

    public V2beta2MetricSpecFluent.PodsNested withNewPods() {
        return new PodsNestedImpl();
    }

    public V2beta2MetricSpecFluent.PodsNested withNewPodsLike(V2beta2PodsMetricSource item) {
        return new PodsNestedImpl(item);
    }

    public V2beta2MetricSpecFluent.PodsNested editPods() {
        return withNewPodsLike(getPods());
    }

    public V2beta2MetricSpecFluent.PodsNested editOrNewPods() {
        return withNewPodsLike(getPods() != null ? getPods(): new V2beta2PodsMetricSourceBuilder().build());
    }

    public V2beta2MetricSpecFluent.PodsNested editOrNewPodsLike(V2beta2PodsMetricSource item) {
        return withNewPodsLike(getPods() != null ? getPods(): item);
    }

    
/**
 * This method has been deprecated, please use method buildResource instead.
 * @return The buildable object.
 */
@Deprecated public V2beta2ResourceMetricSource getResource() {
        return this.resource!=null?this.resource.build():null;
    }

    public V2beta2ResourceMetricSource buildResource() {
        return this.resource!=null?this.resource.build():null;
    }

    public A withResource(V2beta2ResourceMetricSource resource) {
        _visitables.get("resource").remove(this.resource);
        if (resource!=null){ this.resource= new V2beta2ResourceMetricSourceBuilder(resource); _visitables.get("resource").add(this.resource);} return (A) this;
    }

    public Boolean hasResource() {
        return this.resource != null;
    }

    public V2beta2MetricSpecFluent.ResourceNested withNewResource() {
        return new ResourceNestedImpl();
    }

    public V2beta2MetricSpecFluent.ResourceNested withNewResourceLike(V2beta2ResourceMetricSource item) {
        return new ResourceNestedImpl(item);
    }

    public V2beta2MetricSpecFluent.ResourceNested editResource() {
        return withNewResourceLike(getResource());
    }

    public V2beta2MetricSpecFluent.ResourceNested editOrNewResource() {
        return withNewResourceLike(getResource() != null ? getResource(): new V2beta2ResourceMetricSourceBuilder().build());
    }

    public V2beta2MetricSpecFluent.ResourceNested editOrNewResourceLike(V2beta2ResourceMetricSource item) {
        return withNewResourceLike(getResource() != null ? getResource(): item);
    }

    public String getType() {
        return this.type;
    }

    public A withType(String type) {
        this.type=type; return (A) this;
    }

    public Boolean hasType() {
        return this.type != null;
    }

    public A withNewType(String arg1) {
        return (A)withType(new String(arg1));
    }

    public A withNewType(StringBuilder arg1) {
        return (A)withType(new String(arg1));
    }

    public A withNewType(StringBuffer arg1) {
        return (A)withType(new String(arg1));
    }

    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        V2beta2MetricSpecFluentImpl that = (V2beta2MetricSpecFluentImpl) o;
        if (containerResource != null ? !containerResource.equals(that.containerResource) :that.containerResource != null) return false;
        if (external != null ? !external.equals(that.external) :that.external != null) return false;
        if (_object != null ? !_object.equals(that._object) :that._object != null) return false;
        if (pods != null ? !pods.equals(that.pods) :that.pods != null) return false;
        if (resource != null ? !resource.equals(that.resource) :that.resource != null) return false;
        if (type != null ? !type.equals(that.type) :that.type != null) return false;
        return true;
    }

    public int hashCode() {
        return java.util.Objects.hash(containerResource,  external,  _object,  pods,  resource,  type,  super.hashCode());
    }

    public class ContainerResourceNestedImpl extends V2beta2ContainerResourceMetricSourceFluentImpl> implements V2beta2MetricSpecFluent.ContainerResourceNested,io.kubernetes.client.fluent.Nested {
        private final V2beta2ContainerResourceMetricSourceBuilder builder;

        ContainerResourceNestedImpl(V2beta2ContainerResourceMetricSource item) {
            this.builder = new V2beta2ContainerResourceMetricSourceBuilder(this, item);
        }

        ContainerResourceNestedImpl() {
            this.builder = new V2beta2ContainerResourceMetricSourceBuilder(this);
        }

        public N and() {
             return (N) V2beta2MetricSpecFluentImpl.this.withContainerResource(builder.build());
        }

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


    public class ExternalNestedImpl extends V2beta2ExternalMetricSourceFluentImpl> implements V2beta2MetricSpecFluent.ExternalNested,io.kubernetes.client.fluent.Nested {
        private final V2beta2ExternalMetricSourceBuilder builder;

        ExternalNestedImpl(V2beta2ExternalMetricSource item) {
            this.builder = new V2beta2ExternalMetricSourceBuilder(this, item);
        }

        ExternalNestedImpl() {
            this.builder = new V2beta2ExternalMetricSourceBuilder(this);
        }

        public N and() {
             return (N) V2beta2MetricSpecFluentImpl.this.withExternal(builder.build());
        }

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


    public class ObjectNestedImpl extends V2beta2ObjectMetricSourceFluentImpl> implements V2beta2MetricSpecFluent.ObjectNested,io.kubernetes.client.fluent.Nested {
        private final V2beta2ObjectMetricSourceBuilder builder;

        ObjectNestedImpl(V2beta2ObjectMetricSource item) {
            this.builder = new V2beta2ObjectMetricSourceBuilder(this, item);
        }

        ObjectNestedImpl() {
            this.builder = new V2beta2ObjectMetricSourceBuilder(this);
        }

        public N and() {
             return (N) V2beta2MetricSpecFluentImpl.this.withObject(builder.build());
        }

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


    public class PodsNestedImpl extends V2beta2PodsMetricSourceFluentImpl> implements V2beta2MetricSpecFluent.PodsNested,io.kubernetes.client.fluent.Nested {
        private final V2beta2PodsMetricSourceBuilder builder;

        PodsNestedImpl(V2beta2PodsMetricSource item) {
            this.builder = new V2beta2PodsMetricSourceBuilder(this, item);
        }

        PodsNestedImpl() {
            this.builder = new V2beta2PodsMetricSourceBuilder(this);
        }

        public N and() {
             return (N) V2beta2MetricSpecFluentImpl.this.withPods(builder.build());
        }

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


    public class ResourceNestedImpl extends V2beta2ResourceMetricSourceFluentImpl> implements V2beta2MetricSpecFluent.ResourceNested,io.kubernetes.client.fluent.Nested {
        private final V2beta2ResourceMetricSourceBuilder builder;

        ResourceNestedImpl(V2beta2ResourceMetricSource item) {
            this.builder = new V2beta2ResourceMetricSourceBuilder(this, item);
        }

        ResourceNestedImpl() {
            this.builder = new V2beta2ResourceMetricSourceBuilder(this);
        }

        public N and() {
             return (N) V2beta2MetricSpecFluentImpl.this.withResource(builder.build());
        }

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


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy