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

annotations.io.fabric8.knative.eventing.v1.TriggerSpecFluentImpl Maven / Gradle / Ivy

package io.fabric8.knative.eventing.v1;

import io.fabric8.knative.internal.pkg.apis.duck.v1.Destination;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.lang.StringBuilder;
import io.fabric8.kubernetes.api.builder.Nested;
import java.lang.String;
import java.lang.StringBuffer;
import java.lang.Deprecated;
import io.fabric8.knative.internal.pkg.apis.duck.v1.DestinationBuilder;
import io.fabric8.kubernetes.api.builder.BaseFluent;
import java.lang.Object;
import io.fabric8.knative.internal.pkg.apis.duck.v1.DestinationFluentImpl;
import java.lang.Boolean;

public class TriggerSpecFluentImpl> extends io.fabric8.kubernetes.api.builder.BaseFluent implements TriggerSpecFluent {

    private String broker;
    private TriggerFilterBuilder filter;
    private DestinationBuilder subscriber;

    public TriggerSpecFluentImpl() {
    }

    public TriggerSpecFluentImpl(TriggerSpec instance) {
        this.withBroker(instance.getBroker()); 
        this.withFilter(instance.getFilter()); 
        this.withSubscriber(instance.getSubscriber()); 
    }

    public String getBroker() {
        return this.broker;
    }

    public A withBroker(String broker) {
        this.broker=broker; return (A) this;
    }

    public Boolean hasBroker() {
        return this.broker != null;
    }

    public A withNewBroker(String arg1) {
        return (A)withBroker(new String(arg1));
    }

    public A withNewBroker(StringBuilder arg1) {
        return (A)withBroker(new String(arg1));
    }

    public A withNewBroker(StringBuffer arg1) {
        return (A)withBroker(new String(arg1));
    }

    
/**
 * This method has been deprecated, please use method buildFilter instead.
 * @return The buildable object.
 */
@Deprecated public TriggerFilter getFilter() {
        return this.filter!=null?this.filter.build():null;
    }

    public TriggerFilter buildFilter() {
        return this.filter!=null?this.filter.build():null;
    }

    public A withFilter(TriggerFilter filter) {
        _visitables.get("filter").remove(this.filter);
        if (filter!=null){ this.filter= new TriggerFilterBuilder(filter); _visitables.get("filter").add(this.filter);} return (A) this;
    }

    public Boolean hasFilter() {
        return this.filter != null;
    }

    public TriggerSpecFluent.FilterNested withNewFilter() {
        return new FilterNestedImpl();
    }

    public TriggerSpecFluent.FilterNested withNewFilterLike(TriggerFilter item) {
        return new FilterNestedImpl(item);
    }

    public TriggerSpecFluent.FilterNested editFilter() {
        return withNewFilterLike(getFilter());
    }

    public TriggerSpecFluent.FilterNested editOrNewFilter() {
        return withNewFilterLike(getFilter() != null ? getFilter(): new TriggerFilterBuilder().build());
    }

    public TriggerSpecFluent.FilterNested editOrNewFilterLike(TriggerFilter item) {
        return withNewFilterLike(getFilter() != null ? getFilter(): item);
    }

    
/**
 * This method has been deprecated, please use method buildSubscriber instead.
 * @return The buildable object.
 */
@Deprecated public Destination getSubscriber() {
        return this.subscriber!=null?this.subscriber.build():null;
    }

    public Destination buildSubscriber() {
        return this.subscriber!=null?this.subscriber.build():null;
    }

    public A withSubscriber(Destination subscriber) {
        _visitables.get("subscriber").remove(this.subscriber);
        if (subscriber!=null){ this.subscriber= new DestinationBuilder(subscriber); _visitables.get("subscriber").add(this.subscriber);} return (A) this;
    }

    public Boolean hasSubscriber() {
        return this.subscriber != null;
    }

    public TriggerSpecFluent.SubscriberNested withNewSubscriber() {
        return new SubscriberNestedImpl();
    }

    public TriggerSpecFluent.SubscriberNested withNewSubscriberLike(Destination item) {
        return new SubscriberNestedImpl(item);
    }

    public TriggerSpecFluent.SubscriberNested editSubscriber() {
        return withNewSubscriberLike(getSubscriber());
    }

    public TriggerSpecFluent.SubscriberNested editOrNewSubscriber() {
        return withNewSubscriberLike(getSubscriber() != null ? getSubscriber(): new DestinationBuilder().build());
    }

    public TriggerSpecFluent.SubscriberNested editOrNewSubscriberLike(Destination item) {
        return withNewSubscriberLike(getSubscriber() != null ? getSubscriber(): item);
    }

    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        TriggerSpecFluentImpl that = (TriggerSpecFluentImpl) o;
        if (broker != null ? !broker.equals(that.broker) :that.broker != null) return false;
        if (filter != null ? !filter.equals(that.filter) :that.filter != null) return false;
        if (subscriber != null ? !subscriber.equals(that.subscriber) :that.subscriber != null) return false;
        return true;
    }

    public int hashCode() {
        return java.util.Objects.hash(broker,  filter,  subscriber,  super.hashCode());
    }

    public class FilterNestedImpl extends TriggerFilterFluentImpl> implements TriggerSpecFluent.FilterNested,io.fabric8.kubernetes.api.builder.Nested {
        private final TriggerFilterBuilder builder;

            FilterNestedImpl(TriggerFilter item) {
                this.builder = new TriggerFilterBuilder(this, item);
                        
            }

            FilterNestedImpl() {
                this.builder = new TriggerFilterBuilder(this);
                        
            }

            public N and() {
                return (N) TriggerSpecFluentImpl.this.withFilter(builder.build());
            }

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


    public class SubscriberNestedImpl extends DestinationFluentImpl> implements TriggerSpecFluent.SubscriberNested,io.fabric8.kubernetes.api.builder.Nested {
        private final DestinationBuilder builder;

            SubscriberNestedImpl(Destination item) {
                this.builder = new DestinationBuilder(this, item);
                        
            }

            SubscriberNestedImpl() {
                this.builder = new DestinationBuilder(this);
                        
            }

            public N and() {
                return (N) TriggerSpecFluentImpl.this.withSubscriber(builder.build());
            }

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


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy