io.fabric8.knative.sources.v1beta1.SinkBindingSpecFluentImpl Maven / Gradle / Ivy
package io.fabric8.knative.sources.v1beta1;
import io.fabric8.knative.internal.pkg.apis.duck.v1.Destination;
import com.fasterxml.jackson.annotation.JsonProperty;
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 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.
*/
@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.
*/
@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.
*/
@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 int hashCode() {
return java.util.Objects.hash(ceOverrides, sink, subject, super.hashCode());
}
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