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

me.snowdrop.istio.api.networking.v1alpha3.LoadBalancerSettingsFluentImpl Maven / Gradle / Ivy

package me.snowdrop.istio.api.networking.v1alpha3;

import io.fabric8.kubernetes.api.builder.VisitableBuilder;
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 com.fasterxml.jackson.annotation.JsonUnwrapped;
import java.lang.Boolean;

public class LoadBalancerSettingsFluentImpl> extends io.fabric8.kubernetes.api.builder.BaseFluent implements LoadBalancerSettingsFluent{

    private VisitableBuilder lbPolicy;

    public LoadBalancerSettingsFluentImpl(){
    }
    public LoadBalancerSettingsFluentImpl(LoadBalancerSettings instance){
            this.withLbPolicy(instance.getLbPolicy()); 
    }

    
/**
 * This method has been deprecated, please use method buildLbPolicy instead.
 * @return The buildable object.
 */
@Deprecated public me.snowdrop.istio.api.networking.v1alpha3.LoadBalancerSettings.LbPolicy getLbPolicy(){
            return this.lbPolicy!=null?this.lbPolicy.build():null;
    }

    public me.snowdrop.istio.api.networking.v1alpha3.LoadBalancerSettings.LbPolicy buildLbPolicy(){
            return this.lbPolicy!=null?this.lbPolicy.build():null;
    }

    public A withLbPolicy(me.snowdrop.istio.api.networking.v1alpha3.LoadBalancerSettings.LbPolicy lbPolicy){
            if (lbPolicy instanceof SimpleLbPolicy){ this.lbPolicy= new SimpleLbPolicyBuilder((SimpleLbPolicy)lbPolicy); _visitables.add(this.lbPolicy);}
            return (A) this;
    }

    public Boolean hasLbPolicy(){
            return this.lbPolicy != null;
    }

    public A withSimpleLbPolicy(SimpleLbPolicy simpleLbPolicy){
            _visitables.remove(this.lbPolicy);
            if (simpleLbPolicy!=null){ this.lbPolicy= new SimpleLbPolicyBuilder(simpleLbPolicy); _visitables.add(this.lbPolicy);} return (A) this;
    }

    public LoadBalancerSettingsFluent.SimpleLbPolicyNested withNewSimpleLbPolicy(){
            return new SimpleLbPolicyNestedImpl();
    }

    public LoadBalancerSettingsFluent.SimpleLbPolicyNested withNewSimpleLbPolicyLike(SimpleLbPolicy item){
            return new SimpleLbPolicyNestedImpl(item);
    }

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


    public class SimpleLbPolicyNestedImpl extends SimpleLbPolicyFluentImpl> implements LoadBalancerSettingsFluent.SimpleLbPolicyNested,io.fabric8.kubernetes.api.builder.Nested{

            private final SimpleLbPolicyBuilder builder;
    
            SimpleLbPolicyNestedImpl(SimpleLbPolicy item){
                    this.builder = new SimpleLbPolicyBuilder(this, item);
            }
            SimpleLbPolicyNestedImpl(){
                    this.builder = new SimpleLbPolicyBuilder(this);
            }
    
    public N and(){
            return (N) LoadBalancerSettingsFluentImpl.this.withSimpleLbPolicy(builder.build());
    }
    public N endSimpleLbPolicy(){
            return and();
    }

}


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy