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

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

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

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

public class SidecarSpecFluentImpl> extends io.fabric8.kubernetes.api.builder.BaseFluent implements SidecarSpecFluent{

    private List egress;
    private List ingress;
    private WorkloadSelectorBuilder workloadSelector;

    public SidecarSpecFluentImpl(){
    }
    public SidecarSpecFluentImpl(SidecarSpec instance){
            this.withEgress(instance.getEgress()); 
            this.withIngress(instance.getIngress()); 
            this.withWorkloadSelector(instance.getWorkloadSelector()); 
    }

    public A addToEgress(int index,IstioEgressListener item){
            if (this.egress == null) {this.egress = new ArrayList();}
            IstioEgressListenerBuilder builder = new IstioEgressListenerBuilder(item);_visitables.add(index >= 0 ? index : _visitables.size(), builder);this.egress.add(index >= 0 ? index : egress.size(), builder); return (A)this;
    }

    public A setToEgress(int index,IstioEgressListener item){
            if (this.egress == null) {this.egress = new ArrayList();}
            IstioEgressListenerBuilder builder = new IstioEgressListenerBuilder(item);
            if (index < 0 || index >= _visitables.size()) { _visitables.add(builder); } else { _visitables.set(index, builder);}
            if (index < 0 || index >= egress.size()) { egress.add(builder); } else { egress.set(index, builder);}
             return (A)this;
    }

    public A addToEgress(IstioEgressListener... items){
            if (this.egress == null) {this.egress = new ArrayList();}
            for (IstioEgressListener item : items) {IstioEgressListenerBuilder builder = new IstioEgressListenerBuilder(item);_visitables.add(builder);this.egress.add(builder);} return (A)this;
    }

    public A addAllToEgress(Collection items){
            if (this.egress == null) {this.egress = new ArrayList();}
            for (IstioEgressListener item : items) {IstioEgressListenerBuilder builder = new IstioEgressListenerBuilder(item);_visitables.add(builder);this.egress.add(builder);} return (A)this;
    }

    public A removeFromEgress(IstioEgressListener... items){
            for (IstioEgressListener item : items) {IstioEgressListenerBuilder builder = new IstioEgressListenerBuilder(item);_visitables.remove(builder);if (this.egress != null) {this.egress.remove(builder);}} return (A)this;
    }

    public A removeAllFromEgress(Collection items){
            for (IstioEgressListener item : items) {IstioEgressListenerBuilder builder = new IstioEgressListenerBuilder(item);_visitables.remove(builder);if (this.egress != null) {this.egress.remove(builder);}} return (A)this;
    }

    
/**
 * This method has been deprecated, please use method buildEgress instead.
 * @return The buildable object.
 */
@Deprecated public List getEgress(){
            return build(egress);
    }

    public List buildEgress(){
            return build(egress);
    }

    public IstioEgressListener buildEgress(int index){
            return this.egress.get(index).build();
    }

    public IstioEgressListener buildFirstEgress(){
            return this.egress.get(0).build();
    }

    public IstioEgressListener buildLastEgress(){
            return this.egress.get(egress.size() - 1).build();
    }

    public IstioEgressListener buildMatchingEgress(io.fabric8.kubernetes.api.builder.Predicate predicate){
            for (IstioEgressListenerBuilder item: egress) { if(predicate.apply(item)){return item.build();} } return null;
    }

    public A withEgress(List egress){
            if (this.egress != null) { _visitables.removeAll(this.egress);}
            if (egress != null) {this.egress = new ArrayList(); for (IstioEgressListener item : egress){this.addToEgress(item);}} else { this.egress = null;} return (A) this;
    }

    public A withEgress(IstioEgressListener... egress){
            if (this.egress != null) {this.egress.clear();}
            if (egress != null) {for (IstioEgressListener item :egress){ this.addToEgress(item);}} return (A) this;
    }

    public Boolean hasEgress(){
            return egress != null && !egress.isEmpty();
    }

    public SidecarSpecFluent.EgressNested addNewEgress(){
            return new EgressNestedImpl();
    }

    public SidecarSpecFluent.EgressNested addNewEgressLike(IstioEgressListener item){
            return new EgressNestedImpl(-1, item);
    }

    public SidecarSpecFluent.EgressNested setNewEgressLike(int index,IstioEgressListener item){
            return new EgressNestedImpl(index, item);
    }

    public SidecarSpecFluent.EgressNested editEgress(int index){
            if (egress.size() <= index) throw new RuntimeException("Can't edit egress. Index exceeds size.");
            return setNewEgressLike(index, buildEgress(index));
    }

    public SidecarSpecFluent.EgressNested editFirstEgress(){
            if (egress.size() == 0) throw new RuntimeException("Can't edit first egress. The list is empty.");
            return setNewEgressLike(0, buildEgress(0));
    }

    public SidecarSpecFluent.EgressNested editLastEgress(){
            int index = egress.size() - 1;
            if (index < 0) throw new RuntimeException("Can't edit last egress. The list is empty.");
            return setNewEgressLike(index, buildEgress(index));
    }

    public SidecarSpecFluent.EgressNested editMatchingEgress(io.fabric8.kubernetes.api.builder.Predicate predicate){
            int index = -1;
            for (int i=0;i();}
            IstioIngressListenerBuilder builder = new IstioIngressListenerBuilder(item);_visitables.add(index >= 0 ? index : _visitables.size(), builder);this.ingress.add(index >= 0 ? index : ingress.size(), builder); return (A)this;
    }

    public A setToIngress(int index,IstioIngressListener item){
            if (this.ingress == null) {this.ingress = new ArrayList();}
            IstioIngressListenerBuilder builder = new IstioIngressListenerBuilder(item);
            if (index < 0 || index >= _visitables.size()) { _visitables.add(builder); } else { _visitables.set(index, builder);}
            if (index < 0 || index >= ingress.size()) { ingress.add(builder); } else { ingress.set(index, builder);}
             return (A)this;
    }

    public A addToIngress(IstioIngressListener... items){
            if (this.ingress == null) {this.ingress = new ArrayList();}
            for (IstioIngressListener item : items) {IstioIngressListenerBuilder builder = new IstioIngressListenerBuilder(item);_visitables.add(builder);this.ingress.add(builder);} return (A)this;
    }

    public A addAllToIngress(Collection items){
            if (this.ingress == null) {this.ingress = new ArrayList();}
            for (IstioIngressListener item : items) {IstioIngressListenerBuilder builder = new IstioIngressListenerBuilder(item);_visitables.add(builder);this.ingress.add(builder);} return (A)this;
    }

    public A removeFromIngress(IstioIngressListener... items){
            for (IstioIngressListener item : items) {IstioIngressListenerBuilder builder = new IstioIngressListenerBuilder(item);_visitables.remove(builder);if (this.ingress != null) {this.ingress.remove(builder);}} return (A)this;
    }

    public A removeAllFromIngress(Collection items){
            for (IstioIngressListener item : items) {IstioIngressListenerBuilder builder = new IstioIngressListenerBuilder(item);_visitables.remove(builder);if (this.ingress != null) {this.ingress.remove(builder);}} return (A)this;
    }

    
/**
 * This method has been deprecated, please use method buildIngress instead.
 * @return The buildable object.
 */
@Deprecated public List getIngress(){
            return build(ingress);
    }

    public List buildIngress(){
            return build(ingress);
    }

    public IstioIngressListener buildIngress(int index){
            return this.ingress.get(index).build();
    }

    public IstioIngressListener buildFirstIngress(){
            return this.ingress.get(0).build();
    }

    public IstioIngressListener buildLastIngress(){
            return this.ingress.get(ingress.size() - 1).build();
    }

    public IstioIngressListener buildMatchingIngress(io.fabric8.kubernetes.api.builder.Predicate predicate){
            for (IstioIngressListenerBuilder item: ingress) { if(predicate.apply(item)){return item.build();} } return null;
    }

    public A withIngress(List ingress){
            if (this.ingress != null) { _visitables.removeAll(this.ingress);}
            if (ingress != null) {this.ingress = new ArrayList(); for (IstioIngressListener item : ingress){this.addToIngress(item);}} else { this.ingress = null;} return (A) this;
    }

    public A withIngress(IstioIngressListener... ingress){
            if (this.ingress != null) {this.ingress.clear();}
            if (ingress != null) {for (IstioIngressListener item :ingress){ this.addToIngress(item);}} return (A) this;
    }

    public Boolean hasIngress(){
            return ingress != null && !ingress.isEmpty();
    }

    public SidecarSpecFluent.IngressNested addNewIngress(){
            return new IngressNestedImpl();
    }

    public SidecarSpecFluent.IngressNested addNewIngressLike(IstioIngressListener item){
            return new IngressNestedImpl(-1, item);
    }

    public SidecarSpecFluent.IngressNested setNewIngressLike(int index,IstioIngressListener item){
            return new IngressNestedImpl(index, item);
    }

    public SidecarSpecFluent.IngressNested editIngress(int index){
            if (ingress.size() <= index) throw new RuntimeException("Can't edit ingress. Index exceeds size.");
            return setNewIngressLike(index, buildIngress(index));
    }

    public SidecarSpecFluent.IngressNested editFirstIngress(){
            if (ingress.size() == 0) throw new RuntimeException("Can't edit first ingress. The list is empty.");
            return setNewIngressLike(0, buildIngress(0));
    }

    public SidecarSpecFluent.IngressNested editLastIngress(){
            int index = ingress.size() - 1;
            if (index < 0) throw new RuntimeException("Can't edit last ingress. The list is empty.");
            return setNewIngressLike(index, buildIngress(index));
    }

    public SidecarSpecFluent.IngressNested editMatchingIngress(io.fabric8.kubernetes.api.builder.Predicate predicate){
            int index = -1;
            for (int i=0;i withNewWorkloadSelector(){
            return new WorkloadSelectorNestedImpl();
    }

    public SidecarSpecFluent.WorkloadSelectorNested withNewWorkloadSelectorLike(WorkloadSelector item){
            return new WorkloadSelectorNestedImpl(item);
    }

    public SidecarSpecFluent.WorkloadSelectorNested editWorkloadSelector(){
            return withNewWorkloadSelectorLike(getWorkloadSelector());
    }

    public SidecarSpecFluent.WorkloadSelectorNested editOrNewWorkloadSelector(){
            return withNewWorkloadSelectorLike(getWorkloadSelector() != null ? getWorkloadSelector(): new WorkloadSelectorBuilder().build());
    }

    public SidecarSpecFluent.WorkloadSelectorNested editOrNewWorkloadSelectorLike(WorkloadSelector item){
            return withNewWorkloadSelectorLike(getWorkloadSelector() != null ? getWorkloadSelector(): 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;
            SidecarSpecFluentImpl that = (SidecarSpecFluentImpl) o;
            if (egress != null ? !egress.equals(that.egress) :that.egress != null) return false;
            if (ingress != null ? !ingress.equals(that.ingress) :that.ingress != null) return false;
            if (workloadSelector != null ? !workloadSelector.equals(that.workloadSelector) :that.workloadSelector != null) return false;
            return true;
    }


    public class EgressNestedImpl extends IstioEgressListenerFluentImpl> implements SidecarSpecFluent.EgressNested,io.fabric8.kubernetes.api.builder.Nested{

            private final IstioEgressListenerBuilder builder;
        private final int index;
    
            EgressNestedImpl(int index,IstioEgressListener item){
                    this.index = index;
                    this.builder = new IstioEgressListenerBuilder(this, item);
            }
            EgressNestedImpl(){
                    this.index = -1;
                    this.builder = new IstioEgressListenerBuilder(this);
            }
    
    public N and(){
            return (N) SidecarSpecFluentImpl.this.setToEgress(index, builder.build());
    }
    public N endEgress(){
            return and();
    }

}
    public class IngressNestedImpl extends IstioIngressListenerFluentImpl> implements SidecarSpecFluent.IngressNested,io.fabric8.kubernetes.api.builder.Nested{

            private final IstioIngressListenerBuilder builder;
        private final int index;
    
            IngressNestedImpl(int index,IstioIngressListener item){
                    this.index = index;
                    this.builder = new IstioIngressListenerBuilder(this, item);
            }
            IngressNestedImpl(){
                    this.index = -1;
                    this.builder = new IstioIngressListenerBuilder(this);
            }
    
    public N and(){
            return (N) SidecarSpecFluentImpl.this.setToIngress(index, builder.build());
    }
    public N endIngress(){
            return and();
    }

}
    public class WorkloadSelectorNestedImpl extends WorkloadSelectorFluentImpl> implements SidecarSpecFluent.WorkloadSelectorNested,io.fabric8.kubernetes.api.builder.Nested{

            private final WorkloadSelectorBuilder builder;
    
            WorkloadSelectorNestedImpl(WorkloadSelector item){
                    this.builder = new WorkloadSelectorBuilder(this, item);
            }
            WorkloadSelectorNestedImpl(){
                    this.builder = new WorkloadSelectorBuilder(this);
            }
    
    public N and(){
            return (N) SidecarSpecFluentImpl.this.withWorkloadSelector(builder.build());
    }
    public N endWorkloadSelector(){
            return and();
    }

}


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy