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

io.kubernetes.client.models.V2beta1MetricSpecFluentImpl Maven / Gradle / Ivy

package io.kubernetes.client.models;

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.Object;

public class V2beta1MetricSpecFluentImpl> extends io.kubernetes.client.fluent.BaseFluent implements V2beta1MetricSpecFluent{

    private V2beta1ExternalMetricSourceBuilder external;
    private V2beta1ObjectMetricSourceBuilder object;
    private V2beta1PodsMetricSourceBuilder pods;
    private V2beta1ResourceMetricSourceBuilder resource;
    private String type;

    public V2beta1MetricSpecFluentImpl(){
    }
    public V2beta1MetricSpecFluentImpl(V2beta1MetricSpec instance){
            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 buildExternal instead.
 */
@Deprecated public V2beta1ExternalMetricSource getExternal(){
            return this.external!=null?this.external.build():null;
    }

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

    public A withExternal(V2beta1ExternalMetricSource external){
            _visitables.remove(this.external);
            if (external!=null){ this.external= new V2beta1ExternalMetricSourceBuilder(external); _visitables.add(this.external);} return (A) this;
    }

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

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

    public V2beta1MetricSpecFluent.ExternalNested withNewExternalLike(V2beta1ExternalMetricSource item){
            return new ExternalNestedImpl(item);
    }

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

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

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

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

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

    public A withObject(V2beta1ObjectMetricSource object){
            _visitables.remove(this.object);
            if (object!=null){ this.object= new V2beta1ObjectMetricSourceBuilder(object); _visitables.add(this.object);} return (A) this;
    }

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

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

    public V2beta1MetricSpecFluent.ObjectNested withNewObjectLike(V2beta1ObjectMetricSource item){
            return new ObjectNestedImpl(item);
    }

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

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

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

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

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

    public A withPods(V2beta1PodsMetricSource pods){
            _visitables.remove(this.pods);
            if (pods!=null){ this.pods= new V2beta1PodsMetricSourceBuilder(pods); _visitables.add(this.pods);} return (A) this;
    }

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

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

    public V2beta1MetricSpecFluent.PodsNested withNewPodsLike(V2beta1PodsMetricSource item){
            return new PodsNestedImpl(item);
    }

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

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

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

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

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

    public A withResource(V2beta1ResourceMetricSource resource){
            _visitables.remove(this.resource);
            if (resource!=null){ this.resource= new V2beta1ResourceMetricSourceBuilder(resource); _visitables.add(this.resource);} return (A) this;
    }

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

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

    public V2beta1MetricSpecFluent.ResourceNested withNewResourceLike(V2beta1ResourceMetricSource item){
            return new ResourceNestedImpl(item);
    }

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

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

    public V2beta1MetricSpecFluent.ResourceNested editOrNewResourceLike(V2beta1ResourceMetricSource 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 boolean equals(Object o){
            if (this == o) return true;
            if (o == null || getClass() != o.getClass()) return false;
            if (!super.equals(o)) return false;
            V2beta1MetricSpecFluentImpl that = (V2beta1MetricSpecFluentImpl) o;
            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 class ExternalNestedImpl extends V2beta1ExternalMetricSourceFluentImpl> implements V2beta1MetricSpecFluent.ExternalNested,io.kubernetes.client.fluent.Nested{

            private final V2beta1ExternalMetricSourceBuilder builder;
    
            ExternalNestedImpl(V2beta1ExternalMetricSource item){
                    this.builder = new V2beta1ExternalMetricSourceBuilder(this, item);
            }
            ExternalNestedImpl(){
                    this.builder = new V2beta1ExternalMetricSourceBuilder(this);
            }
    
    public N and(){
            return (N) V2beta1MetricSpecFluentImpl.this.withExternal(builder.build());
    }
    public N endExternal(){
            return and();
    }

}
    public class ObjectNestedImpl extends V2beta1ObjectMetricSourceFluentImpl> implements V2beta1MetricSpecFluent.ObjectNested,io.kubernetes.client.fluent.Nested{

            private final V2beta1ObjectMetricSourceBuilder builder;
    
            ObjectNestedImpl(V2beta1ObjectMetricSource item){
                    this.builder = new V2beta1ObjectMetricSourceBuilder(this, item);
            }
            ObjectNestedImpl(){
                    this.builder = new V2beta1ObjectMetricSourceBuilder(this);
            }
    
    public N and(){
            return (N) V2beta1MetricSpecFluentImpl.this.withObject(builder.build());
    }
    public N endObject(){
            return and();
    }

}
    public class PodsNestedImpl extends V2beta1PodsMetricSourceFluentImpl> implements V2beta1MetricSpecFluent.PodsNested,io.kubernetes.client.fluent.Nested{

            private final V2beta1PodsMetricSourceBuilder builder;
    
            PodsNestedImpl(V2beta1PodsMetricSource item){
                    this.builder = new V2beta1PodsMetricSourceBuilder(this, item);
            }
            PodsNestedImpl(){
                    this.builder = new V2beta1PodsMetricSourceBuilder(this);
            }
    
    public N and(){
            return (N) V2beta1MetricSpecFluentImpl.this.withPods(builder.build());
    }
    public N endPods(){
            return and();
    }

}
    public class ResourceNestedImpl extends V2beta1ResourceMetricSourceFluentImpl> implements V2beta1MetricSpecFluent.ResourceNested,io.kubernetes.client.fluent.Nested{

            private final V2beta1ResourceMetricSourceBuilder builder;
    
            ResourceNestedImpl(V2beta1ResourceMetricSource item){
                    this.builder = new V2beta1ResourceMetricSourceBuilder(this, item);
            }
            ResourceNestedImpl(){
                    this.builder = new V2beta1ResourceMetricSourceBuilder(this);
            }
    
    public N and(){
            return (N) V2beta1MetricSpecFluentImpl.this.withResource(builder.build());
    }
    public N endResource(){
            return and();
    }

}


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy