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

io.alauda.kubernetes.api.model.extensions.IngressTLSFluentImpl Maven / Gradle / Ivy

There is a newer version: 0.2.12
Show newest version
package io.alauda.kubernetes.api.model.extensions;

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

public class IngressTLSFluentImpl> extends io.alauda.kubernetes.api.builder.BaseFluent implements IngressTLSFluent{

    private List hosts = new ArrayList();
    private String secretName;

    public IngressTLSFluentImpl(){
    }
    public IngressTLSFluentImpl(IngressTLS instance){
            this.withHosts(instance.getHosts()); 
            this.withSecretName(instance.getSecretName()); 
    }

    public A addToHosts(int index,String item){
            this.hosts.add(index, item); return (A)this;
    }

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

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

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

    public A removeFromHosts(String... items){
            for (String item : items) {this.hosts.remove(item);} return (A)this;
    }

    public A removeAllFromHosts(Collection items){
            for (String item : items) {this.hosts.remove(item);} return (A)this;
    }

    public List getHosts(){
            return this.hosts;
    }

    public String getHost(int index){
            return this.hosts.get(index);
    }

    public String getFirstHost(){
            return this.hosts.get(0);
    }

    public String getLastHost(){
            return this.hosts.get(hosts.size() - 1);
    }

    public String getMatchingHost(io.alauda.kubernetes.api.builder.Predicate predicate){
            for (String item: hosts) { if(predicate.apply(item)){return item;} } return null;
    }

    public A withHosts(List hosts){
            this.hosts.clear();
            if (hosts != null) {for (String item : hosts){this.addToHosts(item);}} return (A) this;
    }

    public A withHosts(String... hosts){
            this.hosts.clear(); if (hosts != null) {for (String item :hosts){ this.addToHosts(item);}} return (A) this;
    }

    public Boolean hasHosts(){
            return hosts!= null && !hosts.isEmpty();
    }

    public String getSecretName(){
            return this.secretName;
    }

    public A withSecretName(String secretName){
            this.secretName=secretName; return (A) this;
    }

    public Boolean hasSecretName(){
            return this.secretName!=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;
            IngressTLSFluentImpl that = (IngressTLSFluentImpl) o;
            if (hosts != null ? !hosts.equals(that.hosts) :that.hosts != null) return false;
            if (secretName != null ? !secretName.equals(that.secretName) :that.secretName != null) return false;
            return true;
    }




}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy