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

io.fabric8.knative.eventing.contrib.github.v1alpha1.GitHubBindingSpecFluentImpl Maven / Gradle / Ivy

package io.fabric8.knative.eventing.contrib.github.v1alpha1;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.fabric8.knative.internal.pkg.tracker.Reference;
import io.fabric8.kubernetes.api.builder.Nested;
import java.lang.Deprecated;
import io.fabric8.knative.internal.pkg.tracker.ReferenceBuilder;
import io.fabric8.kubernetes.api.builder.BaseFluent;
import java.lang.Object;
import java.lang.Boolean;
import io.fabric8.knative.internal.pkg.tracker.ReferenceFluentImpl;

public class GitHubBindingSpecFluentImpl> extends io.fabric8.kubernetes.api.builder.BaseFluent implements GitHubBindingSpecFluent {

    private SecretValueFromSourceBuilder accessToken;
    private ReferenceBuilder subject;

    public GitHubBindingSpecFluentImpl() {
    }

    public GitHubBindingSpecFluentImpl(GitHubBindingSpec instance) {
        this.withAccessToken(instance.getAccessToken()); 
        this.withSubject(instance.getSubject()); 
    }

    
/**
 * This method has been deprecated, please use method buildAccessToken instead.
 * @return The buildable object.
 */
@Deprecated public SecretValueFromSource getAccessToken() {
        return this.accessToken!=null?this.accessToken.build():null;
    }

    public SecretValueFromSource buildAccessToken() {
        return this.accessToken!=null?this.accessToken.build():null;
    }

    public A withAccessToken(SecretValueFromSource accessToken) {
        _visitables.get("accessToken").remove(this.accessToken);
        if (accessToken!=null){ this.accessToken= new SecretValueFromSourceBuilder(accessToken); _visitables.get("accessToken").add(this.accessToken);} return (A) this;
    }

    public Boolean hasAccessToken() {
        return this.accessToken != null;
    }

    public GitHubBindingSpecFluent.AccessTokenNested withNewAccessToken() {
        return new AccessTokenNestedImpl();
    }

    public GitHubBindingSpecFluent.AccessTokenNested withNewAccessTokenLike(SecretValueFromSource item) {
        return new AccessTokenNestedImpl(item);
    }

    public GitHubBindingSpecFluent.AccessTokenNested editAccessToken() {
        return withNewAccessTokenLike(getAccessToken());
    }

    public GitHubBindingSpecFluent.AccessTokenNested editOrNewAccessToken() {
        return withNewAccessTokenLike(getAccessToken() != null ? getAccessToken(): new SecretValueFromSourceBuilder().build());
    }

    public GitHubBindingSpecFluent.AccessTokenNested editOrNewAccessTokenLike(SecretValueFromSource item) {
        return withNewAccessTokenLike(getAccessToken() != null ? getAccessToken(): 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 GitHubBindingSpecFluent.SubjectNested withNewSubject() {
        return new SubjectNestedImpl();
    }

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

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

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

    public GitHubBindingSpecFluent.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;
        GitHubBindingSpecFluentImpl that = (GitHubBindingSpecFluentImpl) o;
        if (accessToken != null ? !accessToken.equals(that.accessToken) :that.accessToken != 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(accessToken,  subject,  super.hashCode());
    }

    public class AccessTokenNestedImpl extends SecretValueFromSourceFluentImpl> implements GitHubBindingSpecFluent.AccessTokenNested,io.fabric8.kubernetes.api.builder.Nested {
        private final SecretValueFromSourceBuilder builder;

            AccessTokenNestedImpl(SecretValueFromSource item) {
                this.builder = new SecretValueFromSourceBuilder(this, item);
                        
            }

            AccessTokenNestedImpl() {
                this.builder = new SecretValueFromSourceBuilder(this);
                        
            }

            public N and() {
                return (N) GitHubBindingSpecFluentImpl.this.withAccessToken(builder.build());
            }

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


    public class SubjectNestedImpl extends ReferenceFluentImpl> implements GitHubBindingSpecFluent.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) GitHubBindingSpecFluentImpl.this.withSubject(builder.build());
            }

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


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy