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

io.fabric8.knative.legacysources.v1alpha1.SinkBindingSpecFluentImpl Maven / Gradle / Ivy

package io.fabric8.knative.legacysources.v1alpha1;

import io.fabric8.knative.duck.v1.Destination;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.fabric8.knative.tracker.Reference;
import io.fabric8.kubernetes.api.builder.Nested;
import io.fabric8.knative.duck.v1.CloudEventOverridesFluentImpl;
import io.fabric8.knative.duck.v1.CloudEventOverrides;
import java.lang.Deprecated;
import io.fabric8.knative.duck.v1.DestinationBuilder;
import io.fabric8.knative.tracker.ReferenceBuilder;
import io.fabric8.kubernetes.api.builder.BaseFluent;
import java.lang.Object;
import io.fabric8.knative.duck.v1.DestinationFluentImpl;
import io.fabric8.knative.duck.v1.CloudEventOverridesBuilder;
import java.lang.Boolean;
import io.fabric8.knative.tracker.ReferenceFluentImpl;

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

    private CloudEventOverridesBuilder ceOverrides;
    private DestinationBuilder sink;
    private ReferenceBuilder subject;

    public SinkBindingSpecFluentImpl(){
    }
    public SinkBindingSpecFluentImpl(SinkBindingSpec instance){
            this.withCeOverrides(instance.getCeOverrides()); 
            this.withSink(instance.getSink()); 
            this.withSubject(instance.getSubject()); 
    }

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

    public CloudEventOverrides buildCeOverrides(){
            return this.ceOverrides!=null?this.ceOverrides.build():null;
    }

    public A withCeOverrides(CloudEventOverrides ceOverrides){
            _visitables.get("ceOverrides").remove(this.ceOverrides);
            if (ceOverrides!=null){ this.ceOverrides= new CloudEventOverridesBuilder(ceOverrides); _visitables.get("ceOverrides").add(this.ceOverrides);} return (A) this;
    }

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

    public SinkBindingSpecFluent.CeOverridesNested withNewCeOverrides(){
            return new CeOverridesNestedImpl();
    }

    public SinkBindingSpecFluent.CeOverridesNested withNewCeOverridesLike(CloudEventOverrides item){
            return new CeOverridesNestedImpl(item);
    }

    public SinkBindingSpecFluent.CeOverridesNested editCeOverrides(){
            return withNewCeOverridesLike(getCeOverrides());
    }

    public SinkBindingSpecFluent.CeOverridesNested editOrNewCeOverrides(){
            return withNewCeOverridesLike(getCeOverrides() != null ? getCeOverrides(): new CloudEventOverridesBuilder().build());
    }

    public SinkBindingSpecFluent.CeOverridesNested editOrNewCeOverridesLike(CloudEventOverrides item){
            return withNewCeOverridesLike(getCeOverrides() != null ? getCeOverrides(): item);
    }

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

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

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

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

    public SinkBindingSpecFluent.SinkNested withNewSink(){
            return new SinkNestedImpl();
    }

    public SinkBindingSpecFluent.SinkNested withNewSinkLike(Destination item){
            return new SinkNestedImpl(item);
    }

    public SinkBindingSpecFluent.SinkNested editSink(){
            return withNewSinkLike(getSink());
    }

    public SinkBindingSpecFluent.SinkNested editOrNewSink(){
            return withNewSinkLike(getSink() != null ? getSink(): new DestinationBuilder().build());
    }

    public SinkBindingSpecFluent.SinkNested editOrNewSinkLike(Destination item){
            return withNewSinkLike(getSink() != null ? getSink(): item);
    }

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

    public Reference buildSubject(){
            return this.subject!=null?this.subject.build():null;
    }

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

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

    public SinkBindingSpecFluent.SubjectNested withNewSubject(){
            return new SubjectNestedImpl();
    }

    public SinkBindingSpecFluent.SubjectNested withNewSubjectLike(Reference item){
            return new SubjectNestedImpl(item);
    }

    public SinkBindingSpecFluent.SubjectNested editSubject(){
            return withNewSubjectLike(getSubject());
    }

    public SinkBindingSpecFluent.SubjectNested editOrNewSubject(){
            return withNewSubjectLike(getSubject() != null ? getSubject(): new ReferenceBuilder().build());
    }

    public SinkBindingSpecFluent.SubjectNested editOrNewSubjectLike(Reference item){
            return withNewSubjectLike(getSubject() != null ? getSubject(): item);
    }

    public boolean equals(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 class CeOverridesNestedImpl extends CloudEventOverridesFluentImpl> implements SinkBindingSpecFluent.CeOverridesNested,io.fabric8.kubernetes.api.builder.Nested{

            private final CloudEventOverridesBuilder builder;
    
            CeOverridesNestedImpl(CloudEventOverrides item){
                    this.builder = new CloudEventOverridesBuilder(this, item);
            }
            CeOverridesNestedImpl(){
                    this.builder = new CloudEventOverridesBuilder(this);
            }
    
    public N and(){
            return (N) SinkBindingSpecFluentImpl.this.withCeOverrides(builder.build());
    }
    public N endCeOverrides(){
            return and();
    }

}
    public class SinkNestedImpl extends DestinationFluentImpl> implements SinkBindingSpecFluent.SinkNested,io.fabric8.kubernetes.api.builder.Nested{

            private final DestinationBuilder builder;
    
            SinkNestedImpl(Destination item){
                    this.builder = new DestinationBuilder(this, item);
            }
            SinkNestedImpl(){
                    this.builder = new DestinationBuilder(this);
            }
    
    public N and(){
            return (N) SinkBindingSpecFluentImpl.this.withSink(builder.build());
    }
    public N endSink(){
            return and();
    }

}
    public class SubjectNestedImpl extends ReferenceFluentImpl> implements SinkBindingSpecFluent.SubjectNested,io.fabric8.kubernetes.api.builder.Nested{

            private final ReferenceBuilder builder;
    
            SubjectNestedImpl(Reference item){
                    this.builder = new ReferenceBuilder(this, item);
            }
            SubjectNestedImpl(){
                    this.builder = new ReferenceBuilder(this);
            }
    
    public N and(){
            return (N) SinkBindingSpecFluentImpl.this.withSubject(builder.build());
    }
    public N endSubject(){
            return and();
    }

}


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy