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

me.snowdrop.istio.api.model.v1.networking.TLSSettingsFluentImpl Maven / Gradle / Ivy

package me.snowdrop.istio.api.model.v1.networking;

import com.fasterxml.jackson.annotation.JsonPropertyDescription;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.ArrayList;
import java.lang.String;
import io.fabric8.kubernetes.api.builder.Predicate;
import javax.validation.Valid;
import io.fabric8.kubernetes.api.builder.BaseFluent;
import java.util.Collection;
import java.lang.Object;
import java.util.List;
import java.lang.Boolean;

public class TLSSettingsFluentImpl> extends io.fabric8.kubernetes.api.builder.BaseFluent implements TLSSettingsFluent{

    private String caCertificates;
    private String clientCertificate;
    private TLSmode mode;
    private String privateKey;
    private String sni;
    private List subjectAltNames;

    public TLSSettingsFluentImpl(){
    }
    public TLSSettingsFluentImpl(TLSSettings instance){
            this.withCaCertificates(instance.getCaCertificates()); 
            this.withClientCertificate(instance.getClientCertificate()); 
            this.withMode(instance.getMode()); 
            this.withPrivateKey(instance.getPrivateKey()); 
            this.withSni(instance.getSni()); 
            this.withSubjectAltNames(instance.getSubjectAltNames()); 
    }

    public String getCaCertificates(){
            return this.caCertificates;
    }

    public A withCaCertificates(String caCertificates){
            this.caCertificates=caCertificates; return (A) this;
    }

    public Boolean hasCaCertificates(){
            return this.caCertificates != null;
    }

    public String getClientCertificate(){
            return this.clientCertificate;
    }

    public A withClientCertificate(String clientCertificate){
            this.clientCertificate=clientCertificate; return (A) this;
    }

    public Boolean hasClientCertificate(){
            return this.clientCertificate != null;
    }

    public TLSmode getMode(){
            return this.mode;
    }

    public A withMode(TLSmode mode){
            this.mode=mode; return (A) this;
    }

    public Boolean hasMode(){
            return this.mode != null;
    }

    public String getPrivateKey(){
            return this.privateKey;
    }

    public A withPrivateKey(String privateKey){
            this.privateKey=privateKey; return (A) this;
    }

    public Boolean hasPrivateKey(){
            return this.privateKey != null;
    }

    public String getSni(){
            return this.sni;
    }

    public A withSni(String sni){
            this.sni=sni; return (A) this;
    }

    public Boolean hasSni(){
            return this.sni != null;
    }

    public A addToSubjectAltNames(int index,String item){
            if (this.subjectAltNames == null) {this.subjectAltNames = new ArrayList();}
            this.subjectAltNames.add(index, item);
            return (A)this;
    }

    public A setToSubjectAltNames(int index,String item){
            this.subjectAltNames.set(index, item); return (A)this;
    }

    public A addToSubjectAltNames(String... items){
            for (String item : items) {this.subjectAltNames.add(item);} return (A)this;
    }

    public A addAllToSubjectAltNames(Collection items){
            for (String item : items) {this.subjectAltNames.add(item);} return (A)this;
    }

    public A removeFromSubjectAltNames(String... items){
            for (String item : items) {if (this.subjectAltNames!= null){ this.subjectAltNames.remove(item);}} return (A)this;
    }

    public A removeAllFromSubjectAltNames(Collection items){
            for (String item : items) {if (this.subjectAltNames!= null){ this.subjectAltNames.remove(item);}} return (A)this;
    }

    public List getSubjectAltNames(){
            return this.subjectAltNames;
    }

    public String getSubjectAltName(int index){
            return this.subjectAltNames.get(index);
    }

    public String getFirstSubjectAltName(){
            return this.subjectAltNames.get(0);
    }

    public String getLastSubjectAltName(){
            return this.subjectAltNames.get(subjectAltNames.size() - 1);
    }

    public String getMatchingSubjectAltName(io.fabric8.kubernetes.api.builder.Predicate predicate){
            for (String item: subjectAltNames) { if(predicate.apply(item)){return item;} } return null;
    }

    public A withSubjectAltNames(List subjectAltNames){
            if (this.subjectAltNames != null) { _visitables.removeAll(this.subjectAltNames);}
            if (subjectAltNames != null) {this.subjectAltNames = new ArrayList(); for (String item : subjectAltNames){this.addToSubjectAltNames(item);}} else { this.subjectAltNames = null;} return (A) this;
    }

    public A withSubjectAltNames(String... subjectAltNames){
            this.subjectAltNames.clear(); if (subjectAltNames != null) {for (String item :subjectAltNames){ this.addToSubjectAltNames(item);}} return (A) this;
    }

    public Boolean hasSubjectAltNames(){
            return subjectAltNames != null && !subjectAltNames.isEmpty();
    }

    public boolean equals(Object o){
            if (this == o) return true;
            if (o == null || getClass() != o.getClass()) return false;
            if (!super.equals(o)) return false;
            TLSSettingsFluentImpl that = (TLSSettingsFluentImpl) o;
            if (caCertificates != null ? !caCertificates.equals(that.caCertificates) :that.caCertificates != null) return false;
            if (clientCertificate != null ? !clientCertificate.equals(that.clientCertificate) :that.clientCertificate != null) return false;
            if (mode != null ? !mode.equals(that.mode) :that.mode != null) return false;
            if (privateKey != null ? !privateKey.equals(that.privateKey) :that.privateKey != null) return false;
            if (sni != null ? !sni.equals(that.sni) :that.sni != null) return false;
            if (subjectAltNames != null ? !subjectAltNames.equals(that.subjectAltNames) :that.subjectAltNames != null) return false;
            return true;
    }




}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy