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

me.snowdrop.istio.api.mesh.v1alpha1.ConfigSourceFluentImpl Maven / Gradle / Ivy

package me.snowdrop.istio.api.mesh.v1alpha1;

import com.fasterxml.jackson.annotation.JsonPropertyDescription;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.fabric8.kubernetes.api.builder.Nested;
import java.lang.String;
import me.snowdrop.istio.api.networking.v1alpha3.TLSSettingsFluentImpl;
import java.lang.Deprecated;
import javax.validation.Valid;
import io.fabric8.kubernetes.api.builder.BaseFluent;
import java.lang.Object;
import me.snowdrop.istio.api.networking.v1alpha3.TLSSettings;
import java.lang.Boolean;
import me.snowdrop.istio.api.networking.v1alpha3.TLSSettingsBuilder;

public class ConfigSourceFluentImpl> extends io.fabric8.kubernetes.api.builder.BaseFluent implements ConfigSourceFluent{

    private String address;
    private TLSSettingsBuilder tlsSettings;

    public ConfigSourceFluentImpl(){
    }
    public ConfigSourceFluentImpl(ConfigSource instance){
            this.withAddress(instance.getAddress()); 
            this.withTlsSettings(instance.getTlsSettings()); 
    }

    public String getAddress(){
            return this.address;
    }

    public A withAddress(String address){
            this.address=address; return (A) this;
    }

    public Boolean hasAddress(){
            return this.address != null;
    }

    
/**
 * This method has been deprecated, please use method buildTlsSettings instead.
 * @return The buildable object.
 */
@Deprecated public TLSSettings getTlsSettings(){
            return this.tlsSettings!=null?this.tlsSettings.build():null;
    }

    public TLSSettings buildTlsSettings(){
            return this.tlsSettings!=null?this.tlsSettings.build():null;
    }

    public A withTlsSettings(TLSSettings tlsSettings){
            _visitables.remove(this.tlsSettings);
            if (tlsSettings!=null){ this.tlsSettings= new TLSSettingsBuilder(tlsSettings); _visitables.add(this.tlsSettings);} return (A) this;
    }

    public Boolean hasTlsSettings(){
            return this.tlsSettings != null;
    }

    public ConfigSourceFluent.TlsSettingsNested withNewTlsSettings(){
            return new TlsSettingsNestedImpl();
    }

    public ConfigSourceFluent.TlsSettingsNested withNewTlsSettingsLike(TLSSettings item){
            return new TlsSettingsNestedImpl(item);
    }

    public ConfigSourceFluent.TlsSettingsNested editTlsSettings(){
            return withNewTlsSettingsLike(getTlsSettings());
    }

    public ConfigSourceFluent.TlsSettingsNested editOrNewTlsSettings(){
            return withNewTlsSettingsLike(getTlsSettings() != null ? getTlsSettings(): new TLSSettingsBuilder().build());
    }

    public ConfigSourceFluent.TlsSettingsNested editOrNewTlsSettingsLike(TLSSettings item){
            return withNewTlsSettingsLike(getTlsSettings() != null ? getTlsSettings(): 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;
            ConfigSourceFluentImpl that = (ConfigSourceFluentImpl) o;
            if (address != null ? !address.equals(that.address) :that.address != null) return false;
            if (tlsSettings != null ? !tlsSettings.equals(that.tlsSettings) :that.tlsSettings != null) return false;
            return true;
    }


    public class TlsSettingsNestedImpl extends TLSSettingsFluentImpl> implements ConfigSourceFluent.TlsSettingsNested,io.fabric8.kubernetes.api.builder.Nested{

            private final TLSSettingsBuilder builder;
    
            TlsSettingsNestedImpl(TLSSettings item){
                    this.builder = new TLSSettingsBuilder(this, item);
            }
            TlsSettingsNestedImpl(){
                    this.builder = new TLSSettingsBuilder(this);
            }
    
    public N and(){
            return (N) ConfigSourceFluentImpl.this.withTlsSettings(builder.build());
    }
    public N endTlsSettings(){
            return and();
    }

}


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy