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

io.fabric8.knative.eventing.contrib.kafka.v1beta1.KafkaBindingSpecFluentImpl Maven / Gradle / Ivy

package io.fabric8.knative.eventing.contrib.kafka.v1beta1;

import io.fabric8.knative.internal.pkg.tracker.Reference;
import io.fabric8.kubernetes.api.builder.Nested;
import java.util.ArrayList;
import java.lang.String;
import java.util.function.Predicate;
import java.lang.Deprecated;
import io.fabric8.knative.internal.pkg.tracker.ReferenceBuilder;
import io.fabric8.kubernetes.api.builder.BaseFluent;
import java.util.Collection;
import java.lang.Object;
import java.util.List;
import java.lang.Boolean;
import io.fabric8.knative.internal.pkg.tracker.ReferenceFluentImpl;

public class KafkaBindingSpecFluentImpl> extends io.fabric8.kubernetes.api.builder.BaseFluent implements io.fabric8.knative.eventing.contrib.kafka.v1beta1.KafkaBindingSpecFluent {

    private java.util.List bootstrapServers;
    private io.fabric8.knative.eventing.contrib.kafka.v1beta1.KafkaNetSpecBuilder net;
    private io.fabric8.knative.internal.pkg.tracker.ReferenceBuilder subject;

    public KafkaBindingSpecFluentImpl() {
    }

    public KafkaBindingSpecFluentImpl(io.fabric8.knative.eventing.contrib.kafka.v1beta1.KafkaBindingSpec instance) {
        this.withBootstrapServers(instance.getBootstrapServers()); 
        this.withNet(instance.getNet()); 
        this.withSubject(instance.getSubject()); 
    }

    public A addToBootstrapServers(int index,java.lang.String item) {
        if (this.bootstrapServers == null) {this.bootstrapServers = new java.util.ArrayList();}
        this.bootstrapServers.add(index, item);
        return (A)this;
    }

    public A setToBootstrapServers(int index,java.lang.String item) {
        if (this.bootstrapServers == null) {this.bootstrapServers = new java.util.ArrayList();}
        this.bootstrapServers.set(index, item); return (A)this;
    }

    public A addToBootstrapServers(java.lang.String... items) {
        if (this.bootstrapServers == null) {this.bootstrapServers = new java.util.ArrayList();}
        for (java.lang.String item : items) {this.bootstrapServers.add(item);} return (A)this;
    }

    public A addAllToBootstrapServers(java.util.Collection items) {
        if (this.bootstrapServers == null) {this.bootstrapServers = new java.util.ArrayList();}
        for (java.lang.String item : items) {this.bootstrapServers.add(item);} return (A)this;
    }

    public A removeFromBootstrapServers(java.lang.String... items) {
        for (java.lang.String item : items) {if (this.bootstrapServers!= null){ this.bootstrapServers.remove(item);}} return (A)this;
    }

    public A removeAllFromBootstrapServers(java.util.Collection items) {
        for (java.lang.String item : items) {if (this.bootstrapServers!= null){ this.bootstrapServers.remove(item);}} return (A)this;
    }

    public java.util.List getBootstrapServers() {
        return this.bootstrapServers;
    }

    public java.lang.String getBootstrapServer(int index) {
        return this.bootstrapServers.get(index);
    }

    public java.lang.String getFirstBootstrapServer() {
        return this.bootstrapServers.get(0);
    }

    public java.lang.String getLastBootstrapServer() {
        return this.bootstrapServers.get(bootstrapServers.size() - 1);
    }

    public java.lang.String getMatchingBootstrapServer(java.util.function.Predicate predicate) {
        for (java.lang.String item: bootstrapServers) { if(predicate.test(item)){ return item;} } return null;
    }

    public java.lang.Boolean hasMatchingBootstrapServer(java.util.function.Predicate predicate) {
        for (java.lang.String item: bootstrapServers) { if(predicate.test(item)){ return true;} } return false;
    }

    public A withBootstrapServers(java.util.List bootstrapServers) {
        if (this.bootstrapServers != null) { _visitables.get("bootstrapServers").removeAll(this.bootstrapServers);}
        if (bootstrapServers != null) {this.bootstrapServers = new java.util.ArrayList(); for (java.lang.String item : bootstrapServers){this.addToBootstrapServers(item);}} else { this.bootstrapServers = null;} return (A) this;
    }

    public A withBootstrapServers(java.lang.String... bootstrapServers) {
        if (this.bootstrapServers != null) {this.bootstrapServers.clear();}
        if (bootstrapServers != null) {for (java.lang.String item :bootstrapServers){ this.addToBootstrapServers(item);}} return (A) this;
    }

    public java.lang.Boolean hasBootstrapServers() {
        return bootstrapServers != null && !bootstrapServers.isEmpty();
    }

    public A addNewBootstrapServer(java.lang.String arg0) {
        return (A)addToBootstrapServers(new String(arg0));
    }

    
    @java.lang.Deprecated
        
    /**
     * This method has been deprecated, please use method buildNet instead.
     * @return The buildable object.
     */
        public io.fabric8.knative.eventing.contrib.kafka.v1beta1.KafkaNetSpec getNet() {
        return this.net!=null?this.net.build():null;
    }

    public io.fabric8.knative.eventing.contrib.kafka.v1beta1.KafkaNetSpec buildNet() {
        return this.net!=null?this.net.build():null;
    }

    public A withNet(io.fabric8.knative.eventing.contrib.kafka.v1beta1.KafkaNetSpec net) {
        _visitables.get("net").remove(this.net);
        if (net!=null){ this.net= new io.fabric8.knative.eventing.contrib.kafka.v1beta1.KafkaNetSpecBuilder(net); _visitables.get("net").add(this.net);} return (A) this;
    }

    public java.lang.Boolean hasNet() {
        return this.net != null;
    }

    public io.fabric8.knative.eventing.contrib.kafka.v1beta1.KafkaBindingSpecFluent.NetNested withNewNet() {
        return new io.fabric8.knative.eventing.contrib.kafka.v1beta1.KafkaBindingSpecFluentImpl.NetNestedImpl();
    }

    public io.fabric8.knative.eventing.contrib.kafka.v1beta1.KafkaBindingSpecFluent.NetNested withNewNetLike(io.fabric8.knative.eventing.contrib.kafka.v1beta1.KafkaNetSpec item) {
        return new io.fabric8.knative.eventing.contrib.kafka.v1beta1.KafkaBindingSpecFluentImpl.NetNestedImpl(item);
    }

    public io.fabric8.knative.eventing.contrib.kafka.v1beta1.KafkaBindingSpecFluent.NetNested editNet() {
        return withNewNetLike(getNet());
    }

    public io.fabric8.knative.eventing.contrib.kafka.v1beta1.KafkaBindingSpecFluent.NetNested editOrNewNet() {
        return withNewNetLike(getNet() != null ? getNet(): new io.fabric8.knative.eventing.contrib.kafka.v1beta1.KafkaNetSpecBuilder().build());
    }

    public io.fabric8.knative.eventing.contrib.kafka.v1beta1.KafkaBindingSpecFluent.NetNested editOrNewNetLike(io.fabric8.knative.eventing.contrib.kafka.v1beta1.KafkaNetSpec item) {
        return withNewNetLike(getNet() != null ? getNet(): item);
    }

    
    @java.lang.Deprecated
        
    /**
     * This method has been deprecated, please use method buildSubject instead.
     * @return The buildable object.
     */
        public io.fabric8.knative.internal.pkg.tracker.Reference getSubject() {
        return this.subject!=null?this.subject.build():null;
    }

    public io.fabric8.knative.internal.pkg.tracker.Reference buildSubject() {
        return this.subject!=null?this.subject.build():null;
    }

    public A withSubject(io.fabric8.knative.internal.pkg.tracker.Reference subject) {
        _visitables.get("subject").remove(this.subject);
        if (subject!=null){ this.subject= new io.fabric8.knative.internal.pkg.tracker.ReferenceBuilder(subject); _visitables.get("subject").add(this.subject);} return (A) this;
    }

    public java.lang.Boolean hasSubject() {
        return this.subject != null;
    }

    public io.fabric8.knative.eventing.contrib.kafka.v1beta1.KafkaBindingSpecFluent.SubjectNested withNewSubject() {
        return new io.fabric8.knative.eventing.contrib.kafka.v1beta1.KafkaBindingSpecFluentImpl.SubjectNestedImpl();
    }

    public io.fabric8.knative.eventing.contrib.kafka.v1beta1.KafkaBindingSpecFluent.SubjectNested withNewSubjectLike(io.fabric8.knative.internal.pkg.tracker.Reference item) {
        return new io.fabric8.knative.eventing.contrib.kafka.v1beta1.KafkaBindingSpecFluentImpl.SubjectNestedImpl(item);
    }

    public io.fabric8.knative.eventing.contrib.kafka.v1beta1.KafkaBindingSpecFluent.SubjectNested editSubject() {
        return withNewSubjectLike(getSubject());
    }

    public io.fabric8.knative.eventing.contrib.kafka.v1beta1.KafkaBindingSpecFluent.SubjectNested editOrNewSubject() {
        return withNewSubjectLike(getSubject() != null ? getSubject(): new io.fabric8.knative.internal.pkg.tracker.ReferenceBuilder().build());
    }

    public io.fabric8.knative.eventing.contrib.kafka.v1beta1.KafkaBindingSpecFluent.SubjectNested editOrNewSubjectLike(io.fabric8.knative.internal.pkg.tracker.Reference item) {
        return withNewSubjectLike(getSubject() != null ? getSubject(): item);
    }

    public boolean equals(java.lang.Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        KafkaBindingSpecFluentImpl that = (KafkaBindingSpecFluentImpl) o;
        if (bootstrapServers != null ? !bootstrapServers.equals(that.bootstrapServers) :that.bootstrapServers != null) return false;
        if (net != null ? !net.equals(that.net) :that.net != null) return false;
        if (subject != null ? !subject.equals(that.subject) :that.subject != null) return false;
        return true;
    }

    public int hashCode() {
        return java.util.Objects.hash(bootstrapServers,  net,  subject,  super.hashCode());
    }

    public class NetNestedImpl extends io.fabric8.knative.eventing.contrib.kafka.v1beta1.KafkaNetSpecFluentImpl> implements io.fabric8.knative.eventing.contrib.kafka.v1beta1.KafkaBindingSpecFluent.NetNested,io.fabric8.kubernetes.api.builder.Nested {
        private final io.fabric8.knative.eventing.contrib.kafka.v1beta1.KafkaNetSpecBuilder builder;

            NetNestedImpl(io.fabric8.knative.eventing.contrib.kafka.v1beta1.KafkaNetSpec item) {
                this.builder = new io.fabric8.knative.eventing.contrib.kafka.v1beta1.KafkaNetSpecBuilder(this, item);
                        
            }

            NetNestedImpl() {
                this.builder = new io.fabric8.knative.eventing.contrib.kafka.v1beta1.KafkaNetSpecBuilder(this);
                        
            }

            public N and() {
                return (N) KafkaBindingSpecFluentImpl.this.withNet(builder.build());
            }

            public N endNet() {
                return and();
            }
    }


    public class SubjectNestedImpl extends io.fabric8.knative.internal.pkg.tracker.ReferenceFluentImpl> implements io.fabric8.knative.eventing.contrib.kafka.v1beta1.KafkaBindingSpecFluent.SubjectNested,io.fabric8.kubernetes.api.builder.Nested {
        private final io.fabric8.knative.internal.pkg.tracker.ReferenceBuilder builder;

            SubjectNestedImpl(io.fabric8.knative.internal.pkg.tracker.Reference item) {
                this.builder = new io.fabric8.knative.internal.pkg.tracker.ReferenceBuilder(this, item);
                        
            }

            SubjectNestedImpl() {
                this.builder = new io.fabric8.knative.internal.pkg.tracker.ReferenceBuilder(this);
                        
            }

            public N and() {
                return (N) KafkaBindingSpecFluentImpl.this.withSubject(builder.build());
            }

            public N endSubject() {
                return and();
            }
    }


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy