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

annotations.io.fabric8.knative.messaging.v1.SubscriptionSpecFluentImpl Maven / Gradle / Ivy

package io.fabric8.knative.messaging.v1;

import io.fabric8.knative.internal.pkg.apis.duck.v1.Destination;
import io.fabric8.knative.internal.eventing.pkg.apis.duck.v1.DeliverySpecFluentImpl;
import io.fabric8.kubernetes.api.builder.Nested;
import io.fabric8.kubernetes.api.model.ObjectReference;
import java.lang.Deprecated;
import io.fabric8.kubernetes.api.builder.BaseFluent;
import java.lang.Boolean;
import io.fabric8.knative.internal.eventing.pkg.apis.duck.v1.DeliverySpec;
import io.fabric8.kubernetes.api.model.ObjectReferenceFluentImpl;
import io.fabric8.knative.internal.eventing.pkg.apis.duck.v1.DeliverySpecBuilder;
import io.fabric8.kubernetes.api.model.ObjectReferenceBuilder;
import io.fabric8.knative.internal.pkg.apis.duck.v1.DestinationBuilder;
import java.lang.Object;
import io.fabric8.knative.internal.pkg.apis.duck.v1.DestinationFluentImpl;

public class SubscriptionSpecFluentImpl> extends io.fabric8.kubernetes.api.builder.BaseFluent implements io.fabric8.knative.messaging.v1.SubscriptionSpecFluent {

    private io.fabric8.kubernetes.api.model.ObjectReferenceBuilder channel;
    private io.fabric8.knative.internal.eventing.pkg.apis.duck.v1.DeliverySpecBuilder delivery;
    private io.fabric8.knative.internal.pkg.apis.duck.v1.DestinationBuilder reply;
    private io.fabric8.knative.internal.pkg.apis.duck.v1.DestinationBuilder subscriber;

    public SubscriptionSpecFluentImpl() {
    }

    public SubscriptionSpecFluentImpl(io.fabric8.knative.messaging.v1.SubscriptionSpec instance) {
        this.withChannel(instance.getChannel()); 
        this.withDelivery(instance.getDelivery()); 
        this.withReply(instance.getReply()); 
        this.withSubscriber(instance.getSubscriber()); 
    }

    
    @java.lang.Deprecated
        
    /**
     * This method has been deprecated, please use method buildChannel instead.
     * @return The buildable object.
     */
        public io.fabric8.kubernetes.api.model.ObjectReference getChannel() {
        return this.channel!=null?this.channel.build():null;
    }

    public io.fabric8.kubernetes.api.model.ObjectReference buildChannel() {
        return this.channel!=null?this.channel.build():null;
    }

    public A withChannel(io.fabric8.kubernetes.api.model.ObjectReference channel) {
        _visitables.get("channel").remove(this.channel);
        if (channel!=null){ this.channel= new io.fabric8.kubernetes.api.model.ObjectReferenceBuilder(channel); _visitables.get("channel").add(this.channel);} return (A) this;
    }

    public java.lang.Boolean hasChannel() {
        return this.channel != null;
    }

    public io.fabric8.knative.messaging.v1.SubscriptionSpecFluent.ChannelNested withNewChannel() {
        return new io.fabric8.knative.messaging.v1.SubscriptionSpecFluentImpl.ChannelNestedImpl();
    }

    public io.fabric8.knative.messaging.v1.SubscriptionSpecFluent.ChannelNested withNewChannelLike(io.fabric8.kubernetes.api.model.ObjectReference item) {
        return new io.fabric8.knative.messaging.v1.SubscriptionSpecFluentImpl.ChannelNestedImpl(item);
    }

    public io.fabric8.knative.messaging.v1.SubscriptionSpecFluent.ChannelNested editChannel() {
        return withNewChannelLike(getChannel());
    }

    public io.fabric8.knative.messaging.v1.SubscriptionSpecFluent.ChannelNested editOrNewChannel() {
        return withNewChannelLike(getChannel() != null ? getChannel(): new io.fabric8.kubernetes.api.model.ObjectReferenceBuilder().build());
    }

    public io.fabric8.knative.messaging.v1.SubscriptionSpecFluent.ChannelNested editOrNewChannelLike(io.fabric8.kubernetes.api.model.ObjectReference item) {
        return withNewChannelLike(getChannel() != null ? getChannel(): item);
    }

    
    @java.lang.Deprecated
        
    /**
     * This method has been deprecated, please use method buildDelivery instead.
     * @return The buildable object.
     */
        public io.fabric8.knative.internal.eventing.pkg.apis.duck.v1.DeliverySpec getDelivery() {
        return this.delivery!=null?this.delivery.build():null;
    }

    public io.fabric8.knative.internal.eventing.pkg.apis.duck.v1.DeliverySpec buildDelivery() {
        return this.delivery!=null?this.delivery.build():null;
    }

    public A withDelivery(io.fabric8.knative.internal.eventing.pkg.apis.duck.v1.DeliverySpec delivery) {
        _visitables.get("delivery").remove(this.delivery);
        if (delivery!=null){ this.delivery= new io.fabric8.knative.internal.eventing.pkg.apis.duck.v1.DeliverySpecBuilder(delivery); _visitables.get("delivery").add(this.delivery);} return (A) this;
    }

    public java.lang.Boolean hasDelivery() {
        return this.delivery != null;
    }

    public io.fabric8.knative.messaging.v1.SubscriptionSpecFluent.DeliveryNested withNewDelivery() {
        return new io.fabric8.knative.messaging.v1.SubscriptionSpecFluentImpl.DeliveryNestedImpl();
    }

    public io.fabric8.knative.messaging.v1.SubscriptionSpecFluent.DeliveryNested withNewDeliveryLike(io.fabric8.knative.internal.eventing.pkg.apis.duck.v1.DeliverySpec item) {
        return new io.fabric8.knative.messaging.v1.SubscriptionSpecFluentImpl.DeliveryNestedImpl(item);
    }

    public io.fabric8.knative.messaging.v1.SubscriptionSpecFluent.DeliveryNested editDelivery() {
        return withNewDeliveryLike(getDelivery());
    }

    public io.fabric8.knative.messaging.v1.SubscriptionSpecFluent.DeliveryNested editOrNewDelivery() {
        return withNewDeliveryLike(getDelivery() != null ? getDelivery(): new io.fabric8.knative.internal.eventing.pkg.apis.duck.v1.DeliverySpecBuilder().build());
    }

    public io.fabric8.knative.messaging.v1.SubscriptionSpecFluent.DeliveryNested editOrNewDeliveryLike(io.fabric8.knative.internal.eventing.pkg.apis.duck.v1.DeliverySpec item) {
        return withNewDeliveryLike(getDelivery() != null ? getDelivery(): item);
    }

    
    @java.lang.Deprecated
        
    /**
     * This method has been deprecated, please use method buildReply instead.
     * @return The buildable object.
     */
        public io.fabric8.knative.internal.pkg.apis.duck.v1.Destination getReply() {
        return this.reply!=null?this.reply.build():null;
    }

    public io.fabric8.knative.internal.pkg.apis.duck.v1.Destination buildReply() {
        return this.reply!=null?this.reply.build():null;
    }

    public A withReply(io.fabric8.knative.internal.pkg.apis.duck.v1.Destination reply) {
        _visitables.get("reply").remove(this.reply);
        if (reply!=null){ this.reply= new io.fabric8.knative.internal.pkg.apis.duck.v1.DestinationBuilder(reply); _visitables.get("reply").add(this.reply);} return (A) this;
    }

    public java.lang.Boolean hasReply() {
        return this.reply != null;
    }

    public io.fabric8.knative.messaging.v1.SubscriptionSpecFluent.ReplyNested withNewReply() {
        return new io.fabric8.knative.messaging.v1.SubscriptionSpecFluentImpl.ReplyNestedImpl();
    }

    public io.fabric8.knative.messaging.v1.SubscriptionSpecFluent.ReplyNested withNewReplyLike(io.fabric8.knative.internal.pkg.apis.duck.v1.Destination item) {
        return new io.fabric8.knative.messaging.v1.SubscriptionSpecFluentImpl.ReplyNestedImpl(item);
    }

    public io.fabric8.knative.messaging.v1.SubscriptionSpecFluent.ReplyNested editReply() {
        return withNewReplyLike(getReply());
    }

    public io.fabric8.knative.messaging.v1.SubscriptionSpecFluent.ReplyNested editOrNewReply() {
        return withNewReplyLike(getReply() != null ? getReply(): new io.fabric8.knative.internal.pkg.apis.duck.v1.DestinationBuilder().build());
    }

    public io.fabric8.knative.messaging.v1.SubscriptionSpecFluent.ReplyNested editOrNewReplyLike(io.fabric8.knative.internal.pkg.apis.duck.v1.Destination item) {
        return withNewReplyLike(getReply() != null ? getReply(): item);
    }

    
    @java.lang.Deprecated
        
    /**
     * This method has been deprecated, please use method buildSubscriber instead.
     * @return The buildable object.
     */
        public io.fabric8.knative.internal.pkg.apis.duck.v1.Destination getSubscriber() {
        return this.subscriber!=null?this.subscriber.build():null;
    }

    public io.fabric8.knative.internal.pkg.apis.duck.v1.Destination buildSubscriber() {
        return this.subscriber!=null?this.subscriber.build():null;
    }

    public A withSubscriber(io.fabric8.knative.internal.pkg.apis.duck.v1.Destination subscriber) {
        _visitables.get("subscriber").remove(this.subscriber);
        if (subscriber!=null){ this.subscriber= new io.fabric8.knative.internal.pkg.apis.duck.v1.DestinationBuilder(subscriber); _visitables.get("subscriber").add(this.subscriber);} return (A) this;
    }

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

    public io.fabric8.knative.messaging.v1.SubscriptionSpecFluent.SubscriberNested withNewSubscriber() {
        return new io.fabric8.knative.messaging.v1.SubscriptionSpecFluentImpl.SubscriberNestedImpl();
    }

    public io.fabric8.knative.messaging.v1.SubscriptionSpecFluent.SubscriberNested withNewSubscriberLike(io.fabric8.knative.internal.pkg.apis.duck.v1.Destination item) {
        return new io.fabric8.knative.messaging.v1.SubscriptionSpecFluentImpl.SubscriberNestedImpl(item);
    }

    public io.fabric8.knative.messaging.v1.SubscriptionSpecFluent.SubscriberNested editSubscriber() {
        return withNewSubscriberLike(getSubscriber());
    }

    public io.fabric8.knative.messaging.v1.SubscriptionSpecFluent.SubscriberNested editOrNewSubscriber() {
        return withNewSubscriberLike(getSubscriber() != null ? getSubscriber(): new io.fabric8.knative.internal.pkg.apis.duck.v1.DestinationBuilder().build());
    }

    public io.fabric8.knative.messaging.v1.SubscriptionSpecFluent.SubscriberNested editOrNewSubscriberLike(io.fabric8.knative.internal.pkg.apis.duck.v1.Destination item) {
        return withNewSubscriberLike(getSubscriber() != null ? getSubscriber(): item);
    }

    public boolean equals(java.lang.Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        SubscriptionSpecFluentImpl that = (SubscriptionSpecFluentImpl) o;
        if (channel != null ? !channel.equals(that.channel) :that.channel != null) return false;
        if (delivery != null ? !delivery.equals(that.delivery) :that.delivery != null) return false;
        if (reply != null ? !reply.equals(that.reply) :that.reply != 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(channel,  delivery,  reply,  subscriber,  super.hashCode());
    }

    public class ChannelNestedImpl extends io.fabric8.kubernetes.api.model.ObjectReferenceFluentImpl> implements io.fabric8.knative.messaging.v1.SubscriptionSpecFluent.ChannelNested,io.fabric8.kubernetes.api.builder.Nested {
        private final io.fabric8.kubernetes.api.model.ObjectReferenceBuilder builder;

            ChannelNestedImpl(io.fabric8.kubernetes.api.model.ObjectReference item) {
                this.builder = new io.fabric8.kubernetes.api.model.ObjectReferenceBuilder(this, item);
                        
            }

            ChannelNestedImpl() {
                this.builder = new io.fabric8.kubernetes.api.model.ObjectReferenceBuilder(this);
                        
            }

            public N and() {
                return (N) SubscriptionSpecFluentImpl.this.withChannel(builder.build());
            }

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


    public class DeliveryNestedImpl extends io.fabric8.knative.internal.eventing.pkg.apis.duck.v1.DeliverySpecFluentImpl> implements io.fabric8.knative.messaging.v1.SubscriptionSpecFluent.DeliveryNested,io.fabric8.kubernetes.api.builder.Nested {
        private final io.fabric8.knative.internal.eventing.pkg.apis.duck.v1.DeliverySpecBuilder builder;

            DeliveryNestedImpl(io.fabric8.knative.internal.eventing.pkg.apis.duck.v1.DeliverySpec item) {
                this.builder = new io.fabric8.knative.internal.eventing.pkg.apis.duck.v1.DeliverySpecBuilder(this, item);
                        
            }

            DeliveryNestedImpl() {
                this.builder = new io.fabric8.knative.internal.eventing.pkg.apis.duck.v1.DeliverySpecBuilder(this);
                        
            }

            public N and() {
                return (N) SubscriptionSpecFluentImpl.this.withDelivery(builder.build());
            }

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


    public class ReplyNestedImpl extends io.fabric8.knative.internal.pkg.apis.duck.v1.DestinationFluentImpl> implements io.fabric8.knative.messaging.v1.SubscriptionSpecFluent.ReplyNested,io.fabric8.kubernetes.api.builder.Nested {
        private final io.fabric8.knative.internal.pkg.apis.duck.v1.DestinationBuilder builder;

            ReplyNestedImpl(io.fabric8.knative.internal.pkg.apis.duck.v1.Destination item) {
                this.builder = new io.fabric8.knative.internal.pkg.apis.duck.v1.DestinationBuilder(this, item);
                        
            }

            ReplyNestedImpl() {
                this.builder = new io.fabric8.knative.internal.pkg.apis.duck.v1.DestinationBuilder(this);
                        
            }

            public N and() {
                return (N) SubscriptionSpecFluentImpl.this.withReply(builder.build());
            }

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


    public class SubscriberNestedImpl extends io.fabric8.knative.internal.pkg.apis.duck.v1.DestinationFluentImpl> implements io.fabric8.knative.messaging.v1.SubscriptionSpecFluent.SubscriberNested,io.fabric8.kubernetes.api.builder.Nested {
        private final io.fabric8.knative.internal.pkg.apis.duck.v1.DestinationBuilder builder;

            SubscriberNestedImpl(io.fabric8.knative.internal.pkg.apis.duck.v1.Destination item) {
                this.builder = new io.fabric8.knative.internal.pkg.apis.duck.v1.DestinationBuilder(this, item);
                        
            }

            SubscriberNestedImpl() {
                this.builder = new io.fabric8.knative.internal.pkg.apis.duck.v1.DestinationBuilder(this);
                        
            }

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

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


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy