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

annotations.io.alauda.kubernetes.api.model.CronJobSpecFluentImpl Maven / Gradle / Ivy

There is a newer version: 0.2.12
Show newest version
package io.alauda.kubernetes.api.model;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.alauda.kubernetes.api.builder.Nested;
import java.lang.String;
import java.lang.Integer;
import java.lang.Deprecated;
import javax.validation.Valid;
import io.alauda.kubernetes.api.builder.BaseFluent;
import java.lang.Long;
import java.lang.Object;
import java.lang.Boolean;

public class CronJobSpecFluentImpl> extends io.alauda.kubernetes.api.builder.BaseFluent implements CronJobSpecFluent{

    private String concurrencyPolicy;
    private Integer failedJobsHistoryLimit;
    private JobTemplateSpecBuilder jobTemplate;
    private String schedule;
    private Long startingDeadlineSeconds;
    private Integer successfulJobsHistoryLimit;
    private Boolean suspend;

    public CronJobSpecFluentImpl(){
    }
    public CronJobSpecFluentImpl(CronJobSpec instance){
            this.withConcurrencyPolicy(instance.getConcurrencyPolicy()); 
            this.withFailedJobsHistoryLimit(instance.getFailedJobsHistoryLimit()); 
            this.withJobTemplate(instance.getJobTemplate()); 
            this.withSchedule(instance.getSchedule()); 
            this.withStartingDeadlineSeconds(instance.getStartingDeadlineSeconds()); 
            this.withSuccessfulJobsHistoryLimit(instance.getSuccessfulJobsHistoryLimit()); 
            this.withSuspend(instance.getSuspend()); 
    }

    public String getConcurrencyPolicy(){
            return this.concurrencyPolicy;
    }

    public A withConcurrencyPolicy(String concurrencyPolicy){
            this.concurrencyPolicy=concurrencyPolicy; return (A) this;
    }

    public Boolean hasConcurrencyPolicy(){
            return this.concurrencyPolicy!=null;
    }

    public Integer getFailedJobsHistoryLimit(){
            return this.failedJobsHistoryLimit;
    }

    public A withFailedJobsHistoryLimit(Integer failedJobsHistoryLimit){
            this.failedJobsHistoryLimit=failedJobsHistoryLimit; return (A) this;
    }

    public Boolean hasFailedJobsHistoryLimit(){
            return this.failedJobsHistoryLimit!=null;
    }

    
/**
 * This method has been deprecated, please use method buildJobTemplate instead.
 */
@Deprecated public JobTemplateSpec getJobTemplate(){
            return this.jobTemplate!=null?this.jobTemplate.build():null;
    }

    public JobTemplateSpec buildJobTemplate(){
            return this.jobTemplate!=null?this.jobTemplate.build():null;
    }

    public A withJobTemplate(JobTemplateSpec jobTemplate){
            _visitables.remove(this.jobTemplate);
            if (jobTemplate!=null){ this.jobTemplate= new JobTemplateSpecBuilder(jobTemplate); _visitables.add(this.jobTemplate);} return (A) this;
    }

    public Boolean hasJobTemplate(){
            return this.jobTemplate!=null;
    }

    public CronJobSpecFluent.JobTemplateNested withNewJobTemplate(){
            return new JobTemplateNestedImpl();
    }

    public CronJobSpecFluent.JobTemplateNested withNewJobTemplateLike(JobTemplateSpec item){
            return new JobTemplateNestedImpl(item);
    }

    public CronJobSpecFluent.JobTemplateNested editJobTemplate(){
            return withNewJobTemplateLike(getJobTemplate());
    }

    public CronJobSpecFluent.JobTemplateNested editOrNewJobTemplate(){
            return withNewJobTemplateLike(getJobTemplate() != null ? getJobTemplate(): new JobTemplateSpecBuilder().build());
    }

    public CronJobSpecFluent.JobTemplateNested editOrNewJobTemplateLike(JobTemplateSpec item){
            return withNewJobTemplateLike(getJobTemplate() != null ? getJobTemplate(): item);
    }

    public String getSchedule(){
            return this.schedule;
    }

    public A withSchedule(String schedule){
            this.schedule=schedule; return (A) this;
    }

    public Boolean hasSchedule(){
            return this.schedule!=null;
    }

    public Long getStartingDeadlineSeconds(){
            return this.startingDeadlineSeconds;
    }

    public A withStartingDeadlineSeconds(Long startingDeadlineSeconds){
            this.startingDeadlineSeconds=startingDeadlineSeconds; return (A) this;
    }

    public Boolean hasStartingDeadlineSeconds(){
            return this.startingDeadlineSeconds!=null;
    }

    public Integer getSuccessfulJobsHistoryLimit(){
            return this.successfulJobsHistoryLimit;
    }

    public A withSuccessfulJobsHistoryLimit(Integer successfulJobsHistoryLimit){
            this.successfulJobsHistoryLimit=successfulJobsHistoryLimit; return (A) this;
    }

    public Boolean hasSuccessfulJobsHistoryLimit(){
            return this.successfulJobsHistoryLimit!=null;
    }

    public Boolean isSuspend(){
            return this.suspend;
    }

    public A withSuspend(Boolean suspend){
            this.suspend=suspend; return (A) this;
    }

    public Boolean hasSuspend(){
            return this.suspend!=null;
    }

    public boolean equals(Object o){
            if (this == o) return true;
            if (o == null || getClass() != o.getClass()) return false;
            if (!super.equals(o)) return false;
            CronJobSpecFluentImpl that = (CronJobSpecFluentImpl) o;
            if (concurrencyPolicy != null ? !concurrencyPolicy.equals(that.concurrencyPolicy) :that.concurrencyPolicy != null) return false;
            if (failedJobsHistoryLimit != null ? !failedJobsHistoryLimit.equals(that.failedJobsHistoryLimit) :that.failedJobsHistoryLimit != null) return false;
            if (jobTemplate != null ? !jobTemplate.equals(that.jobTemplate) :that.jobTemplate != null) return false;
            if (schedule != null ? !schedule.equals(that.schedule) :that.schedule != null) return false;
            if (startingDeadlineSeconds != null ? !startingDeadlineSeconds.equals(that.startingDeadlineSeconds) :that.startingDeadlineSeconds != null) return false;
            if (successfulJobsHistoryLimit != null ? !successfulJobsHistoryLimit.equals(that.successfulJobsHistoryLimit) :that.successfulJobsHistoryLimit != null) return false;
            if (suspend != null ? !suspend.equals(that.suspend) :that.suspend != null) return false;
            return true;
    }


    public class JobTemplateNestedImpl extends JobTemplateSpecFluentImpl> implements CronJobSpecFluent.JobTemplateNested,io.alauda.kubernetes.api.builder.Nested{

            private final JobTemplateSpecBuilder builder;
    
            JobTemplateNestedImpl(JobTemplateSpec item){
                    this.builder = new JobTemplateSpecBuilder(this, item);
            }
            JobTemplateNestedImpl(){
                    this.builder = new JobTemplateSpecBuilder(this);
            }
    
    public N and(){
            return (N) CronJobSpecFluentImpl.this.withJobTemplate(builder.build());
    }
    public N endJobTemplate(){
            return and();
    }

}


}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy