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

annotations.io.fabric8.knative.sources.v1.SinkBindingSpecFluentImpl Maven / Gradle / Ivy

package io.fabric8.knative.sources.v1;

import io.fabric8.knative.internal.pkg.apis.duck.v1.Destination;
import io.fabric8.knative.internal.pkg.tracker.Reference;
import io.fabric8.kubernetes.api.builder.Nested;
import io.fabric8.knative.internal.pkg.apis.duck.v1.CloudEventOverridesFluentImpl;
import io.fabric8.knative.internal.pkg.apis.duck.v1.CloudEventOverrides;
import java.lang.Deprecated;
import io.fabric8.knative.internal.pkg.apis.duck.v1.DestinationBuilder;
import io.fabric8.knative.internal.pkg.tracker.ReferenceBuilder;
import io.fabric8.kubernetes.api.builder.BaseFluent;
import java.lang.Object;
import io.fabric8.knative.internal.pkg.apis.duck.v1.DestinationFluentImpl;
import io.fabric8.knative.internal.pkg.apis.duck.v1.CloudEventOverridesBuilder;
import java.lang.Boolean;
import io.fabric8.knative.internal.pkg.tracker.ReferenceFluentImpl;

public class SinkBindingSpecFluentImpl> extends io.fabric8.kubernetes.api.builder.BaseFluent implements io.fabric8.knative.sources.v1.SinkBindingSpecFluent {

    private io.fabric8.knative.internal.pkg.apis.duck.v1.CloudEventOverridesBuilder ceOverrides;
    private io.fabric8.knative.internal.pkg.apis.duck.v1.DestinationBuilder sink;
    private io.fabric8.knative.internal.pkg.tracker.ReferenceBuilder subject;

    public SinkBindingSpecFluentImpl() {
    }

    public SinkBindingSpecFluentImpl(io.fabric8.knative.sources.v1.SinkBindingSpec instance) {
        this.withCeOverrides(instance.getCeOverrides()); 
        this.withSink(instance.getSink()); 
        this.withSubject(instance.getSubject()); 
    }

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

    public io.fabric8.knative.internal.pkg.apis.duck.v1.CloudEventOverrides buildCeOverrides() {
        return this.ceOverrides!=null?this.ceOverrides.build():null;
    }

    public A withCeOverrides(io.fabric8.knative.internal.pkg.apis.duck.v1.CloudEventOverrides ceOverrides) {
        _visitables.get("ceOverrides").remove(this.ceOverrides);
        if (ceOverrides!=null){ this.ceOverrides= new io.fabric8.knative.internal.pkg.apis.duck.v1.CloudEventOverridesBuilder(ceOverrides); _visitables.get("ceOverrides").add(this.ceOverrides);} return (A) this;
    }

    public java.lang.Boolean hasCeOverrides() {
        return this.ceOverrides != null;
    }

    public io.fabric8.knative.sources.v1.SinkBindingSpecFluent.CeOverridesNested withNewCeOverrides() {
        return new io.fabric8.knative.sources.v1.SinkBindingSpecFluentImpl.CeOverridesNestedImpl();
    }

    public io.fabric8.knative.sources.v1.SinkBindingSpecFluent.CeOverridesNested withNewCeOverridesLike(io.fabric8.knative.internal.pkg.apis.duck.v1.CloudEventOverrides item) {
        return new io.fabric8.knative.sources.v1.SinkBindingSpecFluentImpl.CeOverridesNestedImpl(item);
    }

    public io.fabric8.knative.sources.v1.SinkBindingSpecFluent.CeOverridesNested editCeOverrides() {
        return withNewCeOverridesLike(getCeOverrides());
    }

    public io.fabric8.knative.sources.v1.SinkBindingSpecFluent.CeOverridesNested editOrNewCeOverrides() {
        return withNewCeOverridesLike(getCeOverrides() != null ? getCeOverrides(): new io.fabric8.knative.internal.pkg.apis.duck.v1.CloudEventOverridesBuilder().build());
    }

    public io.fabric8.knative.sources.v1.SinkBindingSpecFluent.CeOverridesNested editOrNewCeOverridesLike(io.fabric8.knative.internal.pkg.apis.duck.v1.CloudEventOverrides item) {
        return withNewCeOverridesLike(getCeOverrides() != null ? getCeOverrides(): item);
    }

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

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

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

    public java.lang.Boolean hasSink() {
        return this.sink != null;
    }

    public io.fabric8.knative.sources.v1.SinkBindingSpecFluent.SinkNested withNewSink() {
        return new io.fabric8.knative.sources.v1.SinkBindingSpecFluentImpl.SinkNestedImpl();
    }

    public io.fabric8.knative.sources.v1.SinkBindingSpecFluent.SinkNested withNewSinkLike(io.fabric8.knative.internal.pkg.apis.duck.v1.Destination item) {
        return new io.fabric8.knative.sources.v1.SinkBindingSpecFluentImpl.SinkNestedImpl(item);
    }

    public io.fabric8.knative.sources.v1.SinkBindingSpecFluent.SinkNested editSink() {
        return withNewSinkLike(getSink());
    }

    public io.fabric8.knative.sources.v1.SinkBindingSpecFluent.SinkNested editOrNewSink() {
        return withNewSinkLike(getSink() != null ? getSink(): new io.fabric8.knative.internal.pkg.apis.duck.v1.DestinationBuilder().build());
    }

    public io.fabric8.knative.sources.v1.SinkBindingSpecFluent.SinkNested editOrNewSinkLike(io.fabric8.knative.internal.pkg.apis.duck.v1.Destination item) {
        return withNewSinkLike(getSink() != null ? getSink(): 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.sources.v1.SinkBindingSpecFluent.SubjectNested withNewSubject() {
        return new io.fabric8.knative.sources.v1.SinkBindingSpecFluentImpl.SubjectNestedImpl();
    }

    public io.fabric8.knative.sources.v1.SinkBindingSpecFluent.SubjectNested withNewSubjectLike(io.fabric8.knative.internal.pkg.tracker.Reference item) {
        return new io.fabric8.knative.sources.v1.SinkBindingSpecFluentImpl.SubjectNestedImpl(item);
    }

    public io.fabric8.knative.sources.v1.SinkBindingSpecFluent.SubjectNested editSubject() {
        return withNewSubjectLike(getSubject());
    }

    public io.fabric8.knative.sources.v1.SinkBindingSpecFluent.SubjectNested editOrNewSubject() {
        return withNewSubjectLike(getSubject() != null ? getSubject(): new io.fabric8.knative.internal.pkg.tracker.ReferenceBuilder().build());
    }

    public io.fabric8.knative.sources.v1.SinkBindingSpecFluent.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;
        SinkBindingSpecFluentImpl that = (SinkBindingSpecFluentImpl) o;
        if (ceOverrides != null ? !ceOverrides.equals(that.ceOverrides) :that.ceOverrides != null) return false;
        if (sink != null ? !sink.equals(that.sink) :that.sink != 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(ceOverrides,  sink,  subject,  super.hashCode());
    }

    public class CeOverridesNestedImpl extends io.fabric8.knative.internal.pkg.apis.duck.v1.CloudEventOverridesFluentImpl> implements io.fabric8.knative.sources.v1.SinkBindingSpecFluent.CeOverridesNested,io.fabric8.kubernetes.api.builder.Nested {
        private final io.fabric8.knative.internal.pkg.apis.duck.v1.CloudEventOverridesBuilder builder;

            CeOverridesNestedImpl(io.fabric8.knative.internal.pkg.apis.duck.v1.CloudEventOverrides item) {
                this.builder = new io.fabric8.knative.internal.pkg.apis.duck.v1.CloudEventOverridesBuilder(this, item);
                        
            }

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

            public N and() {
                return (N) SinkBindingSpecFluentImpl.this.withCeOverrides(builder.build());
            }

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


    public class SinkNestedImpl extends io.fabric8.knative.internal.pkg.apis.duck.v1.DestinationFluentImpl> implements io.fabric8.knative.sources.v1.SinkBindingSpecFluent.SinkNested,io.fabric8.kubernetes.api.builder.Nested {
        private final io.fabric8.knative.internal.pkg.apis.duck.v1.DestinationBuilder builder;

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

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

            public N and() {
                return (N) SinkBindingSpecFluentImpl.this.withSink(builder.build());
            }

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


    public class SubjectNestedImpl extends io.fabric8.knative.internal.pkg.tracker.ReferenceFluentImpl> implements io.fabric8.knative.sources.v1.SinkBindingSpecFluent.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) SinkBindingSpecFluentImpl.this.withSubject(builder.build());
            }

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


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy